[LyX/master] Paint \dot & \ddot more like a dot

commit e41c80e224bfd89497e9cf9ddea73f1e635587e8
Author: Pavel Sanda <sa...@lyx.org>
Date:   Mon Mar 12 13:40:52 2018 +0100

Paint \dot & \ddot more like a dot

https://www.mail-archive.com/lyx-devel@lists.lyx.org/msg204183.html
---
src/mathed/MathSupport.cpp |   34 ++++++++++++++++++++++++----------
1 files changed, 24 insertions(+), 10 deletions(-)

diff --git a/src/mathed/MathSupport.cpp b/src/mathed/MathSupport.cpp
index 0e2dc81..ea83095 100644
--- a/src/mathed/MathSupport.cpp
+++ b/src/mathed/MathSupport.cpp
@@ -82,6 +82,7 @@ namespace {
/*
* 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)
*/

@@ -293,9 +294,18 @@ double const hline[] = {
};

+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
};

@@ -333,12 +343,6 @@ double const dline3[] = {
};

-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,
@@ -457,7 +461,7 @@ named_deco_struct deco_table[] = {
{"acute",          slash,      0 },
{"tilde",          tilde,      0 },
{"bar",            hline,      0 },
-       {"dot",            hlinesmall, 0 },
+       {"dot",            dot,        0 },
{"check",          angle,      1 },
{"breve",          parenth,    1 },
{"vec",            arrow,      3 },
@@ -623,7 +627,7 @@ void mathed_draw_deco(PainterInfo & pi, int x, int y, int
w, int h,

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++];
@@ -637,6 +641,16 @@ void mathed_draw_deco(PainterInfo & pi, int x, int y, int
w, int h,
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];