GRASS GIS 8 Programmer's Manual 8.4.1(2025)-45ca3179ab
Loading...
Searching...
No Matches
named_colr.c
Go to the documentation of this file.
1#include <grass/gis.h>
2#include <string.h>
3#include <stdio.h>
4
5static struct {
6 const char *name;
7 float r, g, b;
8} colors[] = {
9 {"white", 1.00, 1.00, 1.00}, {"black", 0.00, 0.00, 0.00},
10 {"red", 1.00, 0.00, 0.00}, {"green", 0.00, 1.00, 0.00},
11 {"blue", 0.00, 0.00, 1.00}, {"yellow", 1.00, 1.00, 0.00},
12 {"magenta", 1.00, 0.00, 1.00}, {"cyan", 0.00, 1.00, 1.00},
13 {"aqua", 0.00, 0.75, 0.75}, {"grey", 0.75, 0.75, 0.75},
14 {"gray", 0.75, 0.75, 0.75}, {"orange", 1.00, 0.50, 0.00},
15 {"brown", 0.75, 0.50, 0.25}, {"purple", 0.50, 0.00, 1.00},
16 {"violet", 0.50, 0.00, 1.00}, {"indigo", 0.00, 0.50, 1.00},
17 {"", 0.00, 0.00, 0.00} /* do not modify this line */
18};
19
20int G_color_values(const char *name, float *r, float *g, float *b)
21{
22 int i;
23
24 *r = *g = *b = 0.0;
25 for (i = 0; colors[i].name[0]; i++)
26 if (strcmp(name, colors[i].name) == 0) {
27 *r = colors[i].r;
28 *g = colors[i].g;
29 *b = colors[i].b;
30 return 1;
31 }
32 return -1;
33}
34
35const char *G_color_name(int n)
36{
37 int i;
38
39 if (n >= 0)
40 for (i = 0; colors[i].name[0]; i++)
41 if (i == n)
42 return colors[i].name;
43 return NULL;
44}
#define NULL
Definition ccmath.h:32
double b
double r
int G_color_values(const char *name, float *r, float *g, float *b)
Definition named_colr.c:20
float g
Definition named_colr.c:7
const char * name
Definition named_colr.c:6
const char * G_color_name(int n)
Definition named_colr.c:35