* 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--; | |||
} | |||
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 long int, unsigned long int); | |||
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 */ | |||
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)) | |||
#define caca_get_fg_color() __caca0_fg | |||
#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_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) | |||
@@ -176,51 +176,6 @@ unsigned int cucul_get_canvas_height(cucul_canvas_t *cv) | |||
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. | |||
* | |||
* 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) | |||
/* Legacy stuff from beta versions */ | |||
/* Legacy stuff from beta versions, will probably disappear in 1.0 */ | |||
# ifdef __GNUC__ | |||
# define CUCUL_DEPRECATED __attribute__ ((deprecated)) | |||
# else | |||
@@ -248,7 +248,6 @@ int cucul_set_color(cucul_canvas_t *, unsigned char, | |||
unsigned char) CUCUL_DEPRECATED; | |||
int cucul_set_truecolor(cucul_canvas_t *, unsigned int, | |||
unsigned int) CUCUL_DEPRECATED; | |||
char const *cucul_get_color_name(unsigned int) CUCUL_DEPRECATED; | |||
# define CUCUL_COLOR_BLACK CUCUL_BLACK | |||
# define CUCUL_COLOR_BLUE CUCUL_BLUE | |||
# define CUCUL_COLOR_GREEN CUCUL_GREEN | |||
@@ -87,19 +87,14 @@ unsigned int Cucul::getHeight(void) | |||
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) | |||
@@ -235,9 +230,14 @@ int Cucul::Rand(int min, int 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, | |||
@@ -120,10 +120,10 @@ class Cucul | |||
void setSize(unsigned int w, unsigned int h); | |||
unsigned int getWidth(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 putChar(int x, int y, char ch); | |||
unsigned long int getChar(cucul_canvas_t *, int, int); | |||
@@ -3,7 +3,7 @@ | |||
* Copyright (c) 2006 Jean-Yves Lamoureux <jylam@lnxscene.org> | |||
* 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 | |||
* 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)) { | |||
/* Draw pig */ | |||
qq->setColor(CUCUL_LIGHTMAGENTA, CUCUL_BLACK); | |||
qq->setColorANSI(CUCUL_LIGHTMAGENTA, CUCUL_BLACK); | |||
for(int i = 0; pig[i]; i++) | |||
qq->putStr(x, y+i, (char*)pig[i]); | |||
/* printf works */ | |||
qq->setColor(CUCUL_LIGHTBLUE, CUCUL_BLACK); | |||
qq->setColorANSI(CUCUL_LIGHTBLUE, CUCUL_BLACK); | |||
qq->Printf(30,15, "Powered by libcaca %s", VERSION); | |||
/* Blit */ | |||
@@ -53,8 +53,8 @@ int main(void) | |||
/* Set window title */ | |||
caca_set_display_title(dp, "Window"); | |||
/* 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) */ | |||
cucul_putstr(cv, 0, 0, "Hello world!"); | |||
/* Refresh display */ | |||
@@ -141,10 +141,11 @@ int main(void) | |||
\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_putstr(): use cucul_putstr(). | |||
- \b caca_printf(): use cucul_printf(). | |||
@@ -17,7 +17,7 @@ int main(void) | |||
/* Set window title */ | |||
caca_set_display_title(dp, "Hello!"); | |||
/* 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) */ | |||
cucul_putstr(cv, 0, 0, "This is a message"); | |||
/* Refresh display */ | |||
@@ -40,13 +40,12 @@ int main(int argc, char **argv) | |||
for(i = 0; i < 16; i++) | |||
{ | |||
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++) | |||
{ | |||
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_color(void); | |||
static void demo_dots(void); | |||
static void demo_lines(void); | |||
static void demo_boxes(void); | |||
@@ -113,9 +112,6 @@ int main(int argc, char **argv) | |||
display_menu(); | |||
break; | |||
#endif | |||
case 'c': | |||
demo = demo_color; | |||
break; | |||
case 'f': | |||
case 'F': | |||
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) | |||
{ | |||
int w = cucul_get_canvas_width(cv); | |||