|
|
1.1 root 1: #include <curses.h>
2:
3: FILE_LICENCE ( GPL2_OR_LATER );
4:
5: struct colour_pair {
6: short fcol;
7: short bcol;
8: };
9:
10: static struct colour_pair cpairs[COLOUR_PAIRS] = {
11: [0] = { COLOUR_WHITE, COLOUR_BLACK },
12: };
13:
14: /**
15: * Identify the RGB components of a given colour value
16: *
17: * @v colour colour value
18: * @v *red address to store red component
19: * @v *green address to store green component
20: * @v *blue address to store blue component
21: * @ret rc return status code
22: */
23: int colour_content ( short colour, short *red, short *green, short *blue ) {
24: *red = ( ( colour & COLOUR_RED ) ? 1 : 0 );
25: *green = ( ( colour & COLOUR_GREEN ) ? 1 : 0 );
26: *blue = ( ( colour & COLOUR_BLUE ) ? 1 : 0 );
27: return OK;
28: }
29:
30: /**
31: * Initialise colour pair
32: *
33: * @v pair colour pair number
34: * @v fcol foreground colour
35: * @v bcol background colour
36: */
37: int init_pair ( short pair, short fcol, short bcol ) {
38: struct colour_pair *cpair;
39:
40: if ( ( pair < 1 ) || ( pair >= COLOUR_PAIRS ) )
41: return ERR;
42:
43: cpair = &cpairs[pair];
44: cpair->fcol = fcol;
45: cpair->bcol = bcol;
46: return OK;
47: }
48:
49: /**
50: * Get colours of colour pair
51: *
52: * @v pair colour pair number
53: * @ret fcol foreground colour
54: * @ret bcol background colour
55: */
56: int pair_content ( short pair, short *fcol, short *bcol ) {
57: struct colour_pair *cpair;
58:
59: if ( ( pair < 0 ) || ( pair >= COLOUR_PAIRS ) )
60: return ERR;
61:
62: cpair = &cpairs[pair];
63: *fcol = cpair->fcol;
64: *bcol = cpair->bcol;
65: return OK;
66: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.