12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879 |
- #ifndef GRASS_SYMBOL_H
- #define GRASS_SYMBOL_H
- /* definitions and structures */
- /* Warning : structure is not exactly the same as format. */
- #define S_NONE 0 /* no object (used for reading) */
- /* elements */
- #define S_LINE 1 /* line */
- #define S_ARC 2 /* arc */
- /* parts */
- #define S_STRING 1
- #define S_POLYGON 2
- #define S_COL_DEFAULT 1 /* default color */
- #define S_COL_NONE 2 /* no color */
- #define S_COL_DEFINED 3 /* color defined in symbol file */
- typedef struct
- {
- int color; /* reset default */
- int r, g, b;
- double fr, fg, fb;
- } SYMBCOLOR;
- /* symbol element: line or arc */
- typedef struct
- {
- int type; /* S_LINE or S_ARC */
- union
- {
- struct
- {
- int count, alloc;
- double *x, *y;
- } line;
- struct
- {
- int clock; /* 1 clockwise, 0 counter clockwise */
- double x, y, r, a1, a2;
- } arc;
- } coor;
- } SYMBEL;
- /* string of elements */
- typedef struct
- {
- int count, alloc; /* number of elements */
- SYMBEL **elem; /* array of elements */
- int scount, salloc; /* number of points in stroked version */
- double *sx, *sy; /* coordinates in stroked version */
- } SYMBCHAIN;
- /* part */
- typedef struct
- {
- int type; /* S_STRING or S_POLYGON */
- SYMBCOLOR color;
- SYMBCOLOR fcolor;
- int count, alloc; /* number of rings */
- SYMBCHAIN **chain; /* array strings */
- } SYMBPART;
- typedef struct
- {
- double scale; /* to get symbol of size 1, each vertex must be multiplied by this scale */
- double yscale; /* scale in x dimension */
- double xscale; /* scale in y dimension */
- int count, alloc; /* numer of parts */
- SYMBPART **part; /* objects ( parts ) */
- } SYMBOL;
- #include <grass/defs/symbol.h>
- #endif
|