2006-06-08 17:23:37 +00:00
|
|
|
#include <curses.h>
|
|
|
|
|
2006-12-19 00:27:25 +00:00
|
|
|
struct colour_pair {
|
|
|
|
short fcol;
|
|
|
|
short bcol;
|
|
|
|
};
|
|
|
|
|
|
|
|
static struct colour_pair cpairs[COLOUR_PAIRS] = {
|
|
|
|
[0] = { COLOUR_WHITE, COLOUR_BLACK },
|
|
|
|
};
|
2006-06-08 17:23:37 +00:00
|
|
|
|
|
|
|
/**
|
|
|
|
* Identify the RGB components of a given colour value
|
|
|
|
*
|
|
|
|
* @v colour colour value
|
|
|
|
* @v *red address to store red component
|
|
|
|
* @v *green address to store green component
|
|
|
|
* @v *blue address to store blue component
|
|
|
|
* @ret rc return status code
|
|
|
|
*/
|
|
|
|
int colour_content ( short colour, short *red, short *green, short *blue ) {
|
2006-12-19 00:27:25 +00:00
|
|
|
*red = ( ( colour & COLOUR_RED ) ? 1 : 0 );
|
|
|
|
*green = ( ( colour & COLOUR_GREEN ) ? 1 : 0 );
|
|
|
|
*blue = ( ( colour & COLOUR_BLUE ) ? 1 : 0 );
|
|
|
|
return OK;
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Initialise colour pair
|
|
|
|
*
|
|
|
|
* @v pair colour pair number
|
|
|
|
* @v fcol foreground colour
|
|
|
|
* @v bcol background colour
|
|
|
|
*/
|
|
|
|
int init_pair ( short pair, short fcol, short bcol ) {
|
|
|
|
struct colour_pair *cpair;
|
|
|
|
|
|
|
|
if ( ( pair < 1 ) || ( pair >= COLOUR_PAIRS ) )
|
|
|
|
return ERR;
|
|
|
|
|
|
|
|
cpair = &cpairs[pair];
|
|
|
|
cpair->fcol = fcol;
|
|
|
|
cpair->bcol = bcol;
|
|
|
|
return OK;
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Get colours of colour pair
|
|
|
|
*
|
|
|
|
* @v pair colour pair number
|
|
|
|
* @ret fcol foreground colour
|
|
|
|
* @ret bcol background colour
|
|
|
|
*/
|
|
|
|
int pair_content ( short pair, short *fcol, short *bcol ) {
|
|
|
|
struct colour_pair *cpair;
|
|
|
|
|
|
|
|
if ( ( pair < 0 ) || ( pair >= COLOUR_PAIRS ) )
|
|
|
|
return ERR;
|
|
|
|
|
|
|
|
cpair = &cpairs[pair];
|
|
|
|
*fcol = cpair->fcol;
|
|
|
|
*bcol = cpair->bcol;
|
2006-06-08 17:23:37 +00:00
|
|
|
return OK;
|
|
|
|
}
|