TPCCLIB
Loading...
Searching...
No Matches
svg_defs.c
Go to the documentation of this file.
1
5/*****************************************************************************/
6#include "libtpcsvg.h"
7/*****************************************************************************/
9extern int SVG_INLINE;
10/*****************************************************************************/
11
12/*****************************************************************************/
14static char *svgcolor[] = {
15 /* BLACK */ "black",
16 /* RED */ "red",
17 /* BLUE */ "blue",
18 /* GREEN */ "green",
19 /* PURPLE */ "purple",
20 /* OLIVE */ "olive",
21 /* AQUA */ "aqua",
22 /* FUCHSIA */ "fuchsia",
23 /* GRAY */ "gray",
24 /* LIME */ "lime",
25 /* MAROON */ "maroon",
26 /* NAVY */ "navy",
27 /* SILVER */ "silver",
28 /* TEAL */ "teal",
29 /* YELLOW */ "yellow",
30 0
31};
32/*****************************************************************************/
33
34/*****************************************************************************/
40 const svgColor i
41) {
42 unsigned int n=0;
43 while(svgcolor[n]!=0) n++;
44 if(/*i<0 ||*/ i>n-1) return(NULL); //return(svgcolor[BLACK]);
45 else return(svgcolor[i]);
46}
47/*****************************************************************************/
48
49/*****************************************************************************/
51static char *svgsymbol[] = {
52 /* RECTANGLE */ "rect",
53 /* CIRCLE */ "circ",
54 /* UPTRIANGLE */ "uptr",
55 /* DOWNTRIANGLE */ "dotr",
56 /* DIAMOND */ "diam",
57 /* LEFTTRIANGLE */ "letr",
58 /* RIGHTTRIANGLE */ "ritr",
59 0
60};
61/*****************************************************************************/
62
63/*****************************************************************************/
69 const svgSymbolType i
70) {
71 unsigned int n=0;
72 while(svgsymbol[n]!=0) n++;
73 if(/*i<0 ||*/ i>n-1) return(NULL);
74 else return(svgsymbol[i]);
75}
76/*****************************************************************************/
77
78/*****************************************************************************/
85 FILE *fp,
88 char *errmsg,
90 int verbose
91) {
92 char tmp[2048], ilc[9], line[256], allsame[128];
93
94 if(verbose>0) printf("svg_define_symbols(fp, errmsg, %d)\n", verbose);
95
96 if(SVG_INLINE) strcpy(ilc, "svg:"); else strcpy(ilc, "");
97 strcpy(allsame, "viewBox=\"0 0 120 120\" preserveAspectRatio=\"xMinYMin meet\"");
98
99 strcpy(tmp, "");
100 sprintf(line, " <%sdefs>\n", ilc); strcat(tmp, line);
101
102 sprintf(line, " <%ssymbol id=\"sym-rect\" %s >\n", ilc, allsame);
103 strcat(tmp, line);
104 //sprintf(line, " <%srect x=\"2\" y=\"2\" width=\"116\" height=\"116\" style=\"stroke-width:40\" />\n", ilc);
105 sprintf(line, " <%spolygon points=\"13 13, 13 107, 107 107, 107 13\" />\n", ilc);
106 strcat(tmp, line);
107 sprintf(line, " </%ssymbol>\n", ilc); strcat(tmp, line);
108
109 sprintf(line, " <%ssymbol id=\"sym-circ\" %s >\n", ilc, allsame);
110 strcat(tmp, line);
111// sprintf(line, " <%scircle cx=\"60\" cy=\"60\" r=\"50\" />\n", ilc);
112 sprintf(line, " <%scircle cx=\"60\" cy=\"60\" r=\"46\" />\n", ilc);
113 strcat(tmp, line);
114 sprintf(line, " </%ssymbol>\n", ilc); strcat(tmp, line);
115
116 sprintf(line, " <%ssymbol id=\"sym-uptr\" %s >\n", ilc, allsame);
117 strcat(tmp, line);
118// sprintf(line, " <%spolygon points=\" 10 17, 110 17, 60 103 \" />\n", ilc);
119 sprintf(line, " <%spolygon points=\" 14 14, 106 14, 60 106 \" />\n", ilc);
120 strcat(tmp, line);
121 sprintf(line, " </%ssymbol>\n", ilc); strcat(tmp, line);
122
123 sprintf(line, " <%ssymbol id=\"sym-dotr\" %s >\n", ilc, allsame);
124 strcat(tmp, line);
125// sprintf(line, " <%spolygon points=\" 10 103, 110 103, 60 17 \" />\n", ilc);
126 sprintf(line, " <%spolygon points=\" 14 106, 106 106, 60 14 \" />\n", ilc);
127 strcat(tmp, line);
128 sprintf(line, " </%ssymbol>\n", ilc); strcat(tmp, line);
129
130 sprintf(line, " <%ssymbol id=\"sym-letr\" %s >\n", ilc, allsame);
131 strcat(tmp, line);
132// sprintf(line, " <%spolygon points=\" 103 10, 103 110, 17 60 \" />\n", ilc);
133 sprintf(line, " <%spolygon points=\" 106 14, 106 106, 14 60 \" />\n", ilc);
134 strcat(tmp, line);
135 sprintf(line, " </%ssymbol>\n", ilc); strcat(tmp, line);
136
137 sprintf(line, " <%ssymbol id=\"sym-ritr\" %s >\n", ilc, allsame);
138 strcat(tmp, line);
139// sprintf(line, " <%spolygon points=\" 17 10, 17 110, 103 60 \" />\n", ilc);
140 sprintf(line, " <%spolygon points=\" 14 14, 14 106, 106 60 \" />\n", ilc);
141 strcat(tmp, line);
142 sprintf(line, " </%ssymbol>\n", ilc); strcat(tmp, line);
143
144 sprintf(line, " <%ssymbol id=\"sym-diam\" %s >\n", ilc, allsame);
145 strcat(tmp, line);
146// sprintf(line, " <%spolygon points=\" 60 10, 110 60, 60 110, 10 60 \" />\n", ilc);
147 sprintf(line, " <%spolygon points=\" 60 14, 106 60, 60 106, 14 60 \" />\n", ilc);
148 strcat(tmp, line);
149 sprintf(line, " </%ssymbol>\n", ilc); strcat(tmp, line);
150
151 sprintf(line, " </%sdefs>\n", ilc); strcat(tmp, line);
152
153 return(svg_write(fp, tmp, errmsg, verbose-5));
154}
155/*****************************************************************************/
156
157/*****************************************************************************/
Header file for libtpcsvg.
svgColor
Definition libtpcsvg.h:49
svgSymbolType
Definition libtpcsvg.h:44
int svg_write(FILE *fp, const char *svg_string, char *errmsg, int verbose)
Definition svg_file.c:304
int SVG_INLINE
Definition svg_file.c:12
char * svgSymbolName(const svgSymbolType i)
Definition svg_defs.c:67
char * svgColorName(const svgColor i)
Definition svg_defs.c:38
int svg_define_symbols(FILE *fp, char *errmsg, int verbose)
Definition svg_defs.c:83