21 const char *main_title_text,
23 const char *sub_title_text,
32 char tmp[1024], line[128], ilc[9];
33 double main_pos, sub_pos;
35 if(verbose>0) printf(
"%s(fp, mtt, stt, vp, errmsg, %d)\n", __func__, verbose);
37 printf(
"main_title_text := '%s'\n", main_title_text);
38 printf(
"sub_title_text := '%s'\n", sub_title_text);
44 if(errmsg!=NULL) sprintf(errmsg,
"file was closed too early");
48 if(
SVG_INLINE) strcpy(ilc,
"svg:");
else strcpy(ilc,
"");
51 sprintf(tmp,
"\n <%stitle>%s</%stitle>\n", ilc, main_title_text, ilc);
52 if(
svg_write(fp, tmp, errmsg, verbose-5)!=0) {
return(4);}
55 strcpy(tmp,
"\n <!-- Main title viewport -->\n");
56 sprintf(line,
" <%ssvg x=\"%dpx\" y=\"%dpx\" width=\"%dpx\" height=\"%d\"",
59 sprintf(line,
"\n viewBox=\"0 0 %d %d\"",
61 strcat(tmp,
"\n preserveAspectRatio=\"xMidYMid meet\"");
63 if(
svg_write(fp, tmp, errmsg, verbose-5)!=0) {
return(4);}
67 sprintf(tmp,
" <rect width=\"%dpx\" height=\"%dpx\" stroke=\"none\" fill=\"lime\" fill-opacity=\"0.3\" />\n",
69 if(
svg_write(fp, tmp, errmsg, verbose-5)!=0) {
return(99);}
73 if(strlen(main_title_text)>0) {
74 if(strlen(sub_title_text)==0) {
82 if(strlen(sub_title_text)==0) {
93 sprintf(line,
" font-family=\"Sans-serif\""); strcat(tmp, line);
94 sprintf(line,
" text-anchor=\"middle\""); strcat(tmp, line);
96 sprintf(line,
" fill=\"black\""); strcat(tmp, line);
97 sprintf(line,
">\n"); strcat(tmp, line);
98 sprintf(line,
" %s\n", main_title_text); strcat(tmp, line);
99 sprintf(line,
" </%stext>\n", ilc); strcat(tmp, line);
100 if(
svg_write(fp, tmp, errmsg, verbose-5)!=0) {
return(6);}
104 sprintf(line,
" font-family=\"Sans-serif\""); strcat(tmp, line);
105 sprintf(line,
" text-anchor=\"middle\""); strcat(tmp, line);
107 sprintf(line,
" fill=\"black\""); strcat(tmp, line);
108 sprintf(line,
">\n"); strcat(tmp, line);
109 sprintf(line,
" %s\n", sub_title_text); strcat(tmp, line);
110 sprintf(line,
" </%stext>\n", ilc); strcat(tmp, line);
111 if(
svg_write(fp, tmp, errmsg, verbose-5)!=0) {
return(8);}
114 sprintf(tmp,
" </%ssvg>\n", ilc);
115 if(
svg_write(fp, tmp, errmsg, verbose-5)!=0) {
return(9);}
130 const char *title_text,
139 char tmp[1024], line[128], ilc[9];
141 if(verbose>0) printf(
"%s(fp, tt, vp, errmsg, %d)\n", __func__, verbose);
142 if(verbose>1) printf(
"title_text := '%s'\n", title_text);
147 if(errmsg!=NULL) sprintf(errmsg,
"file was closed too early");
151 if(
SVG_INLINE) strcpy(ilc,
"svg:");
else strcpy(ilc,
"");
154 strcpy(tmp,
"\n <!-- X axis title viewport -->\n");
155 sprintf(line,
" <%ssvg x=\"%dpx\" y=\"%dpx\" width=\"%dpx\" height=\"%d\"",
158 sprintf(line,
"\n viewBox=\"0 0 %d %d\"",
160 strcat(tmp,
"\n preserveAspectRatio=\"xMidYMid meet\"");
162 if(
svg_write(fp, tmp, errmsg, verbose-5)!=0) {
return(4);}
166 sprintf(tmp,
" <rect width=\"%dpx\" height=\"%dpx\" stroke=\"none\" fill=\"green\" fill-opacity=\"0.3\" />\n",
168 if(
svg_write(fp, tmp, errmsg, verbose-5)!=0) {
return(99);}
173 sprintf(tmp,
" <%stext x=\"%d\" y=\"%g\"\n",
175 sprintf(line,
" font-family=\"Sans-serif\""); strcat(tmp, line);
176 sprintf(line,
" text-anchor=\"middle\""); strcat(tmp, line);
178 sprintf(line,
" fill=\"black\""); strcat(tmp, line);
179 sprintf(line,
">\n"); strcat(tmp, line);
180 sprintf(line,
" %s\n", title_text); strcat(tmp, line);
181 sprintf(line,
" </%stext>\n", ilc); strcat(tmp, line);
182 if(
svg_write(fp, tmp, errmsg, verbose-5)!=0) {
return(6);}
185 sprintf(tmp,
" </%ssvg>\n", ilc);
186 if(
svg_write(fp, tmp, errmsg, verbose-5)!=0) {
return(9);}
201 const char *title_text,
210 char tmp[1024], line[128], ilc[9];
213 if(verbose>0) printf(
"%s(fp, tt, vp, errmsg, %d)\n", __func__, verbose);
214 if(verbose>1) printf(
"title_text := '%s'\n", title_text);
219 if(errmsg!=NULL) sprintf(errmsg,
"file was closed too early");
223 if(
SVG_INLINE) strcpy(ilc,
"svg:");
else strcpy(ilc,
"");
226 strcpy(tmp,
"\n <!-- Y axis title viewport -->\n");
227 sprintf(line,
" <%ssvg x=\"%dpx\" y=\"%dpx\" width=\"%dpx\" height=\"%d\"",
230 sprintf(line,
"\n viewBox=\"0 0 %d %d\"",
232 strcat(tmp,
"\n preserveAspectRatio=\"xMidYMid meet\"");
234 if(
svg_write(fp, tmp, errmsg, verbose-5)!=0) {
return(4);}
238 sprintf(tmp,
" <rect width=\"%dpx\" height=\"%dpx\" stroke=\"none\" fill=\"red\" fill-opacity=\"0.3\" />\n",
240 if(
svg_write(fp, tmp, errmsg, verbose-5)!=0) {
return(99);}
246 sprintf(tmp,
" <%stext x=\"%g\" y=\"%g\"\n", ilc, xpos, ypos);
247 sprintf(line,
" font-family=\"Sans-serif\""); strcat(tmp, line);
248 sprintf(line,
" text-anchor=\"middle\""); strcat(tmp, line);
250 sprintf(line,
" fill=\"black\""); strcat(tmp, line);
251 sprintf(line,
" transform=\"rotate(270,%g,%g)\"", xpos, ypos); strcat(tmp, line);
252 sprintf(line,
">\n"); strcat(tmp, line);
253 sprintf(line,
" %s\n", title_text); strcat(tmp, line);
254 sprintf(line,
" </%stext>\n", ilc); strcat(tmp, line);
255 if(
svg_write(fp, tmp, errmsg, verbose-5)!=0) {
return(6);}
258 sprintf(tmp,
" </%ssvg>\n", ilc);
259 if(
svg_write(fp, tmp, errmsg, verbose-5)!=0) {
return(9);}
int svg_create_main_title(FILE *fp, const char *main_title_text, const char *sub_title_text, struct svg_viewports *vp, char *errmsg, int verbose)