/*
* Internal struct of a drawing: code n x1 y1 ... xn yn, where code is:
* 0 = end, 1 = line, 2 = polyline, 3 = square line, 4 = square polyline
+ * 5 = rounded thick line (i.e. dot for short line)
*/
};
+double const dot[] = {
+// 1, 0.5, 0.2, 0.5, 0.2,
+// 1, 0.4, 0.4, 0.6, 0.4,
+// 1, 0.5, 0.5, 0.5, 0.5,
+ 5, 0.4, 0.4, 0.6, 0.4,
+ 0
+};
+
+
double const ddot[] = {
- 1, 0.2, 0.5, 0.3, 0.5,
- 1, 0.7, 0.5, 0.8, 0.5,
+ 5, 0.0, 0.4, 0.3, 0.4,
+ 5, 0.6, 0.4, 1.0, 0.4,
0
};
};
-double const hlinesmall[] = {
- 1, 0.4, 0.5, 0.6, 0.5,
- 0
-};
-
-
double const ring[] = {
2, 5,
0.5, 0.8, 0.8, 0.5, 0.5, 0.2, 0.2, 0.5, 0.5, 0.8,
{"acute", slash, 0 },
{"tilde", tilde, 0 },
{"bar", hline, 0 },
- {"dot", hlinesmall, 0 },
+ {"dot", dot, 0 },
{"check", angle, 1 },
{"breve", parenth, 1 },
{"vec", arrow, 3 },
for (int i = 0; d[i]; ) {
int code = int(d[i++]);
- if (code & 1) { // code == 1 || code == 3
+ if (code & 1) { // code == 1 || code == 3 || code == 5
double xx = d[i++];
double yy = d[i++];
double x2 = d[i++];
int(x + xx + 0.5), int(y + yy + 0.5),
int(x + x2 + 0.5), int(y + y2 + 0.5),
pi.base.font.color());
+ if (code == 5) { // thicker, but rounded
+ pi.pain.line(
+ int(x + xx + 0.5+1), int(y + yy + 0.5-1),
+ int(x + x2 + 0.5-1), int(y + y2 + 0.5-1),
+ pi.base.font.color());
+ pi.pain.line(
+ int(x + xx + 0.5+1), int(y + yy + 0.5+1),
+ int(x + x2 + 0.5-1), int(y + y2 + 0.5+1),
+ pi.base.font.color());
+ }
} else {
int xp[32];
int yp[32];