dca255c7151cbb58dd041b55b326852b8f546f17
[gpxe.git] / src / hci / mucurses / colour.c
1 #include <curses.h>
2
3 /**
4  * Indicates whether the underlying terminal device is capable of
5  * having colours redefined
6  *
7  * @ret bool    returns boolean
8  */
9 bool can_change_colour ( void ) {
10         return (bool)TRUE;
11 }
12
13 /**
14  * Identify the RGB components of a given colour value
15  *
16  * @v colour    colour value
17  * @v *red      address to store red component
18  * @v *green    address to store green component
19  * @v *blue     address to store blue component
20  * @ret rc      return status code
21  */
22 int colour_content ( short colour, short *red, short *green, short *blue ) {
23         /* we do not have a particularly large range of colours (3
24            primary, 3 secondary and black), so let's just put in a
25            basic switch... */
26         switch(colour) {
27         case COLOUR_BLACK:
28                 *red = 0; *green = 0; *blue = 0;
29                 break;
30         case COLOUR_BLUE:
31                 *red = 0; *green = 0; *blue = 1000;
32                 break;
33         case COLOUR_GREEN:
34                 *red = 0; *green = 1000; *blue = 0;
35                 break;
36         case COLOUR_CYAN:
37                 *red = 0; *green = 1000; *blue = 1000;
38                 break;
39         case COLOUR_RED:
40                 *red = 1000; *green = 0; *blue = 0;
41                 break;
42         case COLOUR_MAGENTA:
43                 *red = 1000; *green = 0; *blue = 1000;
44                 break;
45         case COLOUR_YELLOW:
46                 *red = 1000; *green = 1000; *blue = 0;
47                 break;
48         }
49         return OK;
50 }