-
Notifications
You must be signed in to change notification settings - Fork 0
/
col_cont.c
34 lines (30 loc) · 1.1 KB
/
col_cont.c
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
#include "curses.h"
#include "term.h"
#ifdef A_COLOR
/*AT&T
AT&T This routine gives users a way to find the intensity of the red,
AT&T green, and blue (RGB) components in a colour.
AT&T It requires four arguments: the colour number, and three
AT&T addresses of shorts for storing the information about the
AT&T amounts of red, green, and blue components in the given colour.
AT&T The value of the first argument must be between 0 and COLORS-1.
AT&T The values that will be stored at the addresses pointed to by the
AT&T last three arguments will be between 0 (no component) and 1000
AT&T (maximum amount of component).
AT&T This routine returns ERR if the colour does not exist (the first
AT&T argument is outside the valid range), or if the terminal cannot
AT&T change colour definition, OK otherwise.
AT&T */
int
color_content(int colour, short *rptr, short *gptr, short *bptr)
{
CONTENT *cptr;
if(rptr == 0 || gptr == 0 || bptr == 0 || (colour<0 || colour>=COLORS))
return(ERR);
cptr = cur_term->_colour_content + colour;
*rptr = cptr->red;
*gptr = cptr->green;
*bptr = cptr->blue;
return(OK);
}
#endif