* Partial update of the C++ bindings. * Updated documentation.tags/v0.99.beta14
@@ -267,3 +267,31 @@ void __caca0_free_bitmap(cucul_dither_t *d) | |||||
nbitmaps--; | nbitmaps--; | ||||
} | } | ||||
char const *__caca0_get_color_name(unsigned char color) | |||||
{ | |||||
static char const *color_names[] = | |||||
{ | |||||
"black", | |||||
"blue", | |||||
"green", | |||||
"cyan", | |||||
"red", | |||||
"magenta", | |||||
"brown", | |||||
"light gray", | |||||
"dark gray", | |||||
"light blue", | |||||
"light green", | |||||
"light cyan", | |||||
"light red", | |||||
"light magenta", | |||||
"yellow", | |||||
"white", | |||||
}; | |||||
if(color > 15) | |||||
return "unknown"; | |||||
return color_names[(unsigned int)color]; | |||||
} | |||||
@@ -39,6 +39,7 @@ extern cucul_dither_t *__caca0_create_bitmap(unsigned int, unsigned int, | |||||
unsigned int, unsigned int, unsigned long int, unsigned long int, | unsigned int, unsigned int, unsigned long int, unsigned long int, | ||||
unsigned long int, unsigned long int); | unsigned long int, unsigned long int); | ||||
extern void __caca0_free_bitmap(cucul_dither_t *); | extern void __caca0_free_bitmap(cucul_dither_t *); | ||||
extern char const *__caca0_get_color_name(unsigned char); | |||||
/* These variables are needed to emulate old non-thread safe behaviour */ | /* These variables are needed to emulate old non-thread safe behaviour */ | ||||
extern cucul_canvas_t *__caca0_cv; | extern cucul_canvas_t *__caca0_cv; | ||||
@@ -133,7 +134,7 @@ enum caca_feature | |||||
(__caca0_fg = (x), __caca0_bg = (y), cucul_set_color_ansi(__caca0_cv, x, y)) | (__caca0_fg = (x), __caca0_bg = (y), cucul_set_color_ansi(__caca0_cv, x, y)) | ||||
#define caca_get_fg_color() __caca0_fg | #define caca_get_fg_color() __caca0_fg | ||||
#define caca_get_bg_color() __caca0_bg | #define caca_get_bg_color() __caca0_bg | ||||
#define caca_get_color_name cucul_ansi_to_str | |||||
#define caca_get_color_name __caca0_get_color_name | |||||
#define caca_putchar(x, y, c) cucul_putchar(__caca0_cv, x, y, c) | #define caca_putchar(x, y, c) cucul_putchar(__caca0_cv, x, y, c) | ||||
#define caca_putstr(x, y, s) cucul_putstr(__caca0_cv, x, y, s) | #define caca_putstr(x, y, s) cucul_putstr(__caca0_cv, x, y, s) | ||||
#define caca_printf(x, y, f, z...) cucul_printf(__caca0_cv, x, y, f, ##z) | #define caca_printf(x, y, f, z...) cucul_printf(__caca0_cv, x, y, f, ##z) | ||||
@@ -176,51 +176,6 @@ unsigned int cucul_get_canvas_height(cucul_canvas_t *cv) | |||||
return cv->height; | return cv->height; | ||||
} | } | ||||
/** \brief Translate an ANSI colour index into the colour's name. | |||||
* | |||||
* Translate an ANSI colour index such as \e CUCUL_RED or \e CUCUL_WHITE | |||||
* into a human-readable string describing the corresponding colour. | |||||
* | |||||
* This function never fails. | |||||
* | |||||
* \param color The colour value. | |||||
* \return A static string containing the colour's name, or \c "unknown" if | |||||
* the colour is unknown. | |||||
*/ | |||||
char const *cucul_ansi_to_str(unsigned char color) | |||||
{ | |||||
static char const *color_names[] = | |||||
{ | |||||
"black", | |||||
"blue", | |||||
"green", | |||||
"cyan", | |||||
"red", | |||||
"magenta", | |||||
"brown", | |||||
"light gray", | |||||
"dark gray", | |||||
"light blue", | |||||
"light green", | |||||
"light cyan", | |||||
"light red", | |||||
"light magenta", | |||||
"yellow", | |||||
"white", | |||||
}; | |||||
if(color > 15) | |||||
return "unknown"; | |||||
return color_names[(unsigned int)color]; | |||||
} | |||||
/* Legacy function for old programs */ | |||||
char const *cucul_get_color_name(unsigned int color) | |||||
{ | |||||
return cucul_ansi_to_str(color > 15 ? 15 : color); | |||||
} | |||||
/** \brief Uninitialise \e libcucul. | /** \brief Uninitialise \e libcucul. | ||||
* | * | ||||
* Free all resources allocated by cucul_create_canvas(). After | * Free all resources allocated by cucul_create_canvas(). After | ||||
@@ -238,7 +238,7 @@ char const * const * cucul_get_import_list(void); | |||||
/* @} */ | /* @} */ | ||||
#if !defined(_DOXYGEN_SKIP_ME) | #if !defined(_DOXYGEN_SKIP_ME) | ||||
/* Legacy stuff from beta versions */ | |||||
/* Legacy stuff from beta versions, will probably disappear in 1.0 */ | |||||
# ifdef __GNUC__ | # ifdef __GNUC__ | ||||
# define CUCUL_DEPRECATED __attribute__ ((deprecated)) | # define CUCUL_DEPRECATED __attribute__ ((deprecated)) | ||||
# else | # else | ||||
@@ -248,7 +248,6 @@ int cucul_set_color(cucul_canvas_t *, unsigned char, | |||||
unsigned char) CUCUL_DEPRECATED; | unsigned char) CUCUL_DEPRECATED; | ||||
int cucul_set_truecolor(cucul_canvas_t *, unsigned int, | int cucul_set_truecolor(cucul_canvas_t *, unsigned int, | ||||
unsigned int) CUCUL_DEPRECATED; | unsigned int) CUCUL_DEPRECATED; | ||||
char const *cucul_get_color_name(unsigned int) CUCUL_DEPRECATED; | |||||
# define CUCUL_COLOR_BLACK CUCUL_BLACK | # define CUCUL_COLOR_BLACK CUCUL_BLACK | ||||
# define CUCUL_COLOR_BLUE CUCUL_BLUE | # define CUCUL_COLOR_BLUE CUCUL_BLUE | ||||
# define CUCUL_COLOR_GREEN CUCUL_GREEN | # define CUCUL_COLOR_GREEN CUCUL_GREEN | ||||
@@ -87,19 +87,14 @@ unsigned int Cucul::getHeight(void) | |||||
return cucul_get_canvas_height(cv); | return cucul_get_canvas_height(cv); | ||||
} | } | ||||
void Cucul::setColor(unsigned int f, unsigned int b) | |||||
int Cucul::setColorANSI(unsigned char f, unsigned char b) | |||||
{ | { | ||||
cucul_set_color(cv, f, b); | |||||
return cucul_set_color_ansi(cv, f, b); | |||||
} | } | ||||
int Cucul::setTruecolor(unsigned int f, unsigned int b) | |||||
int Cucul::setColorARGB(unsigned int f, unsigned int b) | |||||
{ | { | ||||
return cucul_set_truecolor(cv, f, b); | |||||
} | |||||
char const * Cucul::getColorName(unsigned int color) | |||||
{ | |||||
return cucul_get_color_name(color); | |||||
return cucul_set_color_argb(cv, f, b); | |||||
} | } | ||||
void Cucul::putChar(int x, int y, char ch) | void Cucul::putChar(int x, int y, char ch) | ||||
@@ -235,9 +230,14 @@ int Cucul::Rand(int min, int max) | |||||
return cucul_rand(min, max); | return cucul_rand(min, max); | ||||
} | } | ||||
unsigned long int Cucul::getColor(int x, int y) | |||||
int Cucul::setAttr(unsigned long int attr) | |||||
{ | |||||
return cucul_set_attr(cv, attr); | |||||
} | |||||
unsigned long int Cucul::getAttr(int x, int y) | |||||
{ | { | ||||
return cucul_get_color(cv, x, y); | |||||
return cucul_get_attr(cv, x, y); | |||||
} | } | ||||
int Cucul::setBoundaries(cucul_canvas_t *, int x, int y, | int Cucul::setBoundaries(cucul_canvas_t *, int x, int y, | ||||
@@ -120,10 +120,10 @@ class Cucul | |||||
void setSize(unsigned int w, unsigned int h); | void setSize(unsigned int w, unsigned int h); | ||||
unsigned int getWidth(void); | unsigned int getWidth(void); | ||||
unsigned int getHeight(void); | unsigned int getHeight(void); | ||||
void setColor(unsigned int f, unsigned int b); | |||||
int setTruecolor(unsigned int f, unsigned int b); | |||||
unsigned long int getColor(int, int); | |||||
char const * getColorName(unsigned int color); | |||||
unsigned long int getAttr(int, int); | |||||
int setAttr(unsigned long int); | |||||
int setColorANSI(unsigned char f, unsigned char b); | |||||
int setColorARGB(unsigned int f, unsigned int b); | |||||
void Printf(int x , int y , char const * format,...); | void Printf(int x , int y , char const * format,...); | ||||
void putChar(int x, int y, char ch); | void putChar(int x, int y, char ch); | ||||
unsigned long int getChar(cucul_canvas_t *, int, int); | unsigned long int getChar(cucul_canvas_t *, int, int); | ||||
@@ -3,7 +3,7 @@ | |||||
* Copyright (c) 2006 Jean-Yves Lamoureux <jylam@lnxscene.org> | * Copyright (c) 2006 Jean-Yves Lamoureux <jylam@lnxscene.org> | ||||
* All Rights Reserved | * All Rights Reserved | ||||
* | * | ||||
* $Id$ | |||||
* $Id: cpptest.cpp 784 2006-06-10 11:35:18Z jylam $ | |||||
* | * | ||||
* This program is free software; you can redistribute it and/or | * This program is free software; you can redistribute it and/or | ||||
* modify it under the terms of the Do What The Fuck You Want To | * modify it under the terms of the Do What The Fuck You Want To | ||||
@@ -72,13 +72,13 @@ int main(int argc, char *argv[]) | |||||
while(!kk->getEvent(ev.CACA_EVENT_KEY_PRESS, &ev, 0)) { | while(!kk->getEvent(ev.CACA_EVENT_KEY_PRESS, &ev, 0)) { | ||||
/* Draw pig */ | /* Draw pig */ | ||||
qq->setColor(CUCUL_LIGHTMAGENTA, CUCUL_BLACK); | |||||
qq->setColorANSI(CUCUL_LIGHTMAGENTA, CUCUL_BLACK); | |||||
for(int i = 0; pig[i]; i++) | for(int i = 0; pig[i]; i++) | ||||
qq->putStr(x, y+i, (char*)pig[i]); | qq->putStr(x, y+i, (char*)pig[i]); | ||||
/* printf works */ | /* printf works */ | ||||
qq->setColor(CUCUL_LIGHTBLUE, CUCUL_BLACK); | |||||
qq->setColorANSI(CUCUL_LIGHTBLUE, CUCUL_BLACK); | |||||
qq->Printf(30,15, "Powered by libcaca %s", VERSION); | qq->Printf(30,15, "Powered by libcaca %s", VERSION); | ||||
/* Blit */ | /* Blit */ | ||||
@@ -53,8 +53,8 @@ int main(void) | |||||
/* Set window title */ | /* Set window title */ | ||||
caca_set_display_title(dp, "Window"); | caca_set_display_title(dp, "Window"); | ||||
/* Choose drawing colours */ | /* Choose drawing colours */ | ||||
cucul_set_color(cv, CUCUL_COLOR_BLACK, | |||||
CUCUL_COLOR_WHITE); | |||||
cucul_set_color_ansi(cv, CUCUL_BLACK, | |||||
CUCUL_WHITE); | |||||
/* Draw a string at (0, 0) */ | /* Draw a string at (0, 0) */ | ||||
cucul_putstr(cv, 0, 0, "Hello world!"); | cucul_putstr(cv, 0, 0, "Hello world!"); | ||||
/* Refresh display */ | /* Refresh display */ | ||||
@@ -141,10 +141,11 @@ int main(void) | |||||
\subsection bar3 Character printing | \subsection bar3 Character printing | ||||
- \b caca_set_color(): use cucul_set_color() or cucul_set_truecolor(). | |||||
- \b caca_get_fg_color(): deprecated. | |||||
- \b caca_get_bg_color(): deprecated. | |||||
- \b caca_get_color_name(): use cucul_get_color_name(). | |||||
- \b caca_set_color(): use cucul_set_color_ansi() or cucul_set_color_argb(). | |||||
- \b caca_get_fg_color(): use cucul_get_attr(). | |||||
- \b caca_get_bg_color(): use cucul_get_attr(). | |||||
- \b caca_get_color_name(): this function is now deprecated due to major | |||||
uselessness. | |||||
- \b caca_putchar(): use cucul_putchar(). | - \b caca_putchar(): use cucul_putchar(). | ||||
- \b caca_putstr(): use cucul_putstr(). | - \b caca_putstr(): use cucul_putstr(). | ||||
- \b caca_printf(): use cucul_printf(). | - \b caca_printf(): use cucul_printf(). | ||||
@@ -17,7 +17,7 @@ int main(void) | |||||
/* Set window title */ | /* Set window title */ | ||||
caca_set_display_title(dp, "Hello!"); | caca_set_display_title(dp, "Hello!"); | ||||
/* Choose drawing colours */ | /* Choose drawing colours */ | ||||
cucul_set_color(cv, CUCUL_COLOR_BLACK, CUCUL_COLOR_WHITE); | |||||
cucul_set_color_ansi(cv, CUCUL_BLACK, CUCUL_WHITE); | |||||
/* Draw a string at coordinates (0, 0) */ | /* Draw a string at coordinates (0, 0) */ | ||||
cucul_putstr(cv, 0, 0, "This is a message"); | cucul_putstr(cv, 0, 0, "This is a message"); | ||||
/* Refresh display */ | /* Refresh display */ | ||||
@@ -40,13 +40,12 @@ int main(int argc, char **argv) | |||||
for(i = 0; i < 16; i++) | for(i = 0; i < 16; i++) | ||||
{ | { | ||||
cucul_set_color_ansi(cv, CUCUL_LIGHTGRAY, CUCUL_BLACK); | cucul_set_color_ansi(cv, CUCUL_LIGHTGRAY, CUCUL_BLACK); | ||||
cucul_printf(cv, 3, i + (i >= 8 ? 3 : 2), "'%cv': %i (%s)", | |||||
'a' + i, i, cucul_ansi_to_str(i)); | |||||
cucul_printf(cv, 3, i + (i >= 8 ? 3 : 2), "ANSI %i", i); | |||||
for(j = 0; j < 16; j++) | for(j = 0; j < 16; j++) | ||||
{ | { | ||||
cucul_set_color_ansi(cv, i, j); | cucul_set_color_ansi(cv, i, j); | ||||
cucul_putstr(cv, (j >= 8 ? 40 : 39) + j * 2, i + (i >= 8 ? 3 : 2), | |||||
"Aa"); | |||||
cucul_putstr(cv, (j >= 8 ? 13 : 12) + j * 4, i + (i >= 8 ? 3 : 2), | |||||
"Aaホ"); | |||||
} | } | ||||
} | } | ||||
@@ -24,7 +24,6 @@ static void display_menu(void); | |||||
static void demo_all(void); | static void demo_all(void); | ||||
static void demo_color(void); | |||||
static void demo_dots(void); | static void demo_dots(void); | ||||
static void demo_lines(void); | static void demo_lines(void); | ||||
static void demo_boxes(void); | static void demo_boxes(void); | ||||
@@ -113,9 +112,6 @@ int main(int argc, char **argv) | |||||
display_menu(); | display_menu(); | ||||
break; | break; | ||||
#endif | #endif | ||||
case 'c': | |||||
demo = demo_color; | |||||
break; | |||||
case 'f': | case 'f': | ||||
case 'F': | case 'F': | ||||
demo = demo_all; | demo = demo_all; | ||||
@@ -363,26 +359,6 @@ static void demo_dots(void) | |||||
} | } | ||||
} | } | ||||
static void demo_color(void) | |||||
{ | |||||
int i, j; | |||||
char buf[BUFSIZ]; | |||||
cucul_set_color_ansi(cv, CUCUL_LIGHTGRAY, CUCUL_BLACK); | |||||
cucul_clear_canvas(cv); | |||||
for(i = 0; i < 16; i++) | |||||
{ | |||||
sprintf(buf, "'%c': %i (%s)", 'a' + i, i, cucul_ansi_to_str(i)); | |||||
cucul_set_color_ansi(cv, CUCUL_LIGHTGRAY, CUCUL_BLACK); | |||||
cucul_putstr(cv, 4, i + (i >= 8 ? 4 : 3), buf); | |||||
for(j = 0; j < 16; j++) | |||||
{ | |||||
cucul_set_color_ansi(cv, i, j); | |||||
cucul_putstr(cv, (j >= 8 ? 41 : 40) + j * 2, i + (i >= 8 ? 4 : 3), "# "); | |||||
} | |||||
} | |||||
} | |||||
static void demo_lines(void) | static void demo_lines(void) | ||||
{ | { | ||||
int w = cucul_get_canvas_width(cv); | int w = cucul_get_canvas_width(cv); | ||||