TPCCLIB
Toggle main menu visibility
Loading...
Searching...
No Matches
libtpcsvg
svg_defs.c
Go to the documentation of this file.
1
5
/*****************************************************************************/
6
#include "
libtpcsvg.h
"
7
/*****************************************************************************/
9
extern
int
SVG_INLINE
;
10
/*****************************************************************************/
11
12
/*****************************************************************************/
14
static
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
/*****************************************************************************/
38
char
*
svgColorName
(
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
/*****************************************************************************/
51
static
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
/*****************************************************************************/
67
char
*
svgSymbolName
(
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
/*****************************************************************************/
83
int
svg_define_symbols
(
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
/*****************************************************************************/
libtpcsvg.h
Header file for libtpcsvg.
svgColor
svgColor
Definition
libtpcsvg.h:49
svgSymbolType
svgSymbolType
Definition
libtpcsvg.h:44
svg_write
int svg_write(FILE *fp, const char *svg_string, char *errmsg, int verbose)
Definition
svg_file.c:304
SVG_INLINE
int SVG_INLINE
Definition
svg_file.c:12
svgSymbolName
char * svgSymbolName(const svgSymbolType i)
Definition
svg_defs.c:67
svgColorName
char * svgColorName(const svgColor i)
Definition
svg_defs.c:38
svg_define_symbols
int svg_define_symbols(FILE *fp, char *errmsg, int verbose)
Definition
svg_defs.c:83
Generated on
for TPCCLIB by
1.17.0