unsigned char h, s, b;
} hsbcolor_t;
-/* possible representations of color in color_t */
+/* possible representations of color in gvcolor_t */
typedef enum { HSV_DOUBLE, RGBA_BYTE, RGBA_WORD, CMYK_BYTE,
RGBA_DOUBLE, COLOR_STRING, COLOR_INDEX } color_type_t;
-/* color_t can hold a color spec in a choice or representations */
+/* gvcolor_t can hold a color spec in a choice or representations */
typedef struct color_s {
union {
double RGBA[4];
int index;
} u;
color_type_t type;
-} color_t;
+} gvcolor_t;
#define COLOR_MALLOC_FAIL -1
#define COLOR_UNKNOWN 1
extern "C" {
#endif
-extern int colorxlate(char *str, color_t * color, color_type_t target_type);
+extern int colorxlate(char *str, gvcolor_t * color, color_type_t target_type);
extern char *canontoken(char *str);
#ifdef __cplusplus
return (char*)canon;
}
-int colorxlate(char *str, color_t * color, color_type_t target_type)
+int colorxlate(char *str, gvcolor_t * color, color_type_t target_type)
{
static hsbcolor_t *last;
static unsigned char *canon;
unsigned char i;
int new;
char *tok;
- color_t color;
+ gvcolor_t color;
static char *figcolor[] = { "black", "blue", "green", "cyan",
"red", "magenta", "yellow", "white", (char *) NULL
static int gd_resolve_color(char *name)
{
- color_t color;
+ gvcolor_t color;
if (!(strcmp(name, "transparent"))) {
/* special case for "transparent" color */
static void hpgl_set_color(char *name)
{
- color_t color;
+ gvcolor_t color;
#ifdef HPDEBUG
fprintf(stderr, "set color %s\n", name);
static void mp_set_color(char *name)
{
static char *op[] = { "graph", "node", "edge", "sethsb" };
- color_t color;
+ gvcolor_t color;
if (strcmp(name, S[SP].color)) {
colorxlate(name, &color, HSV_DOUBLE);
static void pic_set_color(char *name)
{
- color_t color;
+ gvcolor_t color;
S[SP].color = name;
colorxlate(name, &color, HSV_DOUBLE);
pf1 = cvt2ptf(A[0]); /* opposite */
pf2 = cvt2ptf(A[2]); /* corners */
if (filled) {
- color_t color;
+ gvcolor_t color;
colorxlate(S[SP].color, &color, HSV_DOUBLE);
fprintf(Output_file, "setfillval %f\n", color.u.HSV[2]);
static void ps_set_color(char *name)
{
static char *op[] = { "graph", "node", "edge", "sethsb" };
- color_t color;
+ gvcolor_t color;
colorxlate(name, &color, HSV_DOUBLE);
fprintf(Output_file, "%.3f %.3f %.3f %scolor\n",
static char buf[SMALLBUF];
char *tok;
- color_t color;
+ gvcolor_t color;
tok = canontoken(name);
if (!useKnown || (bsearch(&tok, svg_known_colors,
static unsigned char vrml_resolve_color(char *name)
{
- color_t color;
+ gvcolor_t color;
if (!(strcmp(name, "transparent"))) {
/* special case for "transparent" color */
static void vrml_set_fillcolor(char *name)
{
- color_t color;
+ gvcolor_t color;
cstk[SP].fillcolor = name;
colorxlate(name, &color, RGBA_BYTE);
cstk[SP].r = (double) color.u.rgba[0] / 255.0;
static void vtx_set_color(char *name)
{
- color_t color;
+ gvcolor_t color;
context_t *cp;
cp = &(cstk[SP]);
int SP;
/* render defaults set from graph */
- color_t bgcolor; /* background color */
+ gvcolor_t bgcolor; /* background color */
/* keybindings for keyboard events */
gvevent_key_binding_t *keybindings;
typedef struct {
char *fontfam, fontopt;
- color_t pencolor, fillcolor;
+ gvcolor_t pencolor, fillcolor;
pen_type pen;
fill_type fill;
double penwidth;
char *target);
void (*end_anchor) (GVJ_t * job);
void (*textline) (GVJ_t * job, pointf p, textline_t * str);
- void (*resolve_color) (GVJ_t * job, color_t * color);
+ void (*resolve_color) (GVJ_t * job, gvcolor_t * color);
void (*ellipse) (GVJ_t * job, pointf * A, int filled);
void (*polygon) (GVJ_t * job, pointf * A, int n, int filled);
void (*beziercurve) (GVJ_t * job, pointf * A, int n,
}
static void gvrender_resolve_color(gvrender_features_t * features,
- char *name, color_t * color)
+ char *name, gvcolor_t * color)
{
char *tok;
int rc;
void gvrender_set_pencolor(GVJ_t * job, char *name)
{
gvrender_engine_t *gvre = job->render.engine;
- color_t *color = &(job->style->pencolor);
+ gvcolor_t *color = &(job->style->pencolor);
if (gvre) {
gvrender_resolve_color(job->render.features, name, color);
void gvrender_set_fillcolor(GVJ_t * job, char *name)
{
gvrender_engine_t *gvre = job->render.engine;
- color_t *color = &(job->style->fillcolor);
+ gvcolor_t *color = &(job->style->fillcolor);
if (gvre) {
gvrender_resolve_color(job->render.features, name, color);