]> git.lyx.org Git - features.git/commitdiff
Set vertical lines in math arrays correctly on Y axis
authorJean-Marc Lasgouttes <lasgouttes@lyx.org>
Mon, 5 Sep 2016 09:29:44 +0000 (11:29 +0200)
committerJean-Marc Lasgouttes <lasgouttes@lyx.org>
Fri, 9 Sep 2016 07:56:44 +0000 (09:56 +0200)
This is a fixup to commit 39329935. The two fixes are
* add forgotten offset `y' when drawing the line
* in order to have a continuous vertical line, draw from the offset of
  the previous row.

Fixes bug #10363.

(cherry-picked from a27ff136)

src/mathed/InsetMathGrid.cpp
status.22x

index a236a93447ecf03fc3a204bf690f1c7a24a32d50..291e11de8fcc97d3b56abd4fa7d27564ebcb8514 100644 (file)
@@ -618,7 +618,7 @@ void InsetMathGrid::drawWithMargin(PainterInfo & pi, int x, int y,
                        col_type const c = col(idx);
                        if (r > 0 && r < nrows()) {
                                for (unsigned int i = 0; i < rowinfo_[r].lines_; ++i) {
-                                       int yy = y + rowinfo_[r].offset_
+                                       int const yy = y + rowinfo_[r].offset_
                                                - rowinfo_[r].ascent_
                                                - i * hlinesep()
                                                - hlinesep()/2 - rowsep()/2;
@@ -631,14 +631,17 @@ void InsetMathGrid::drawWithMargin(PainterInfo & pi, int x, int y,
                        }
                        if (c > 0 && c < ncols()) {
                                for (unsigned int i = 0; i < colinfo_[c].lines_; ++i) {
-                                       int xx = x + lmargin
+                                       int const xx = x + lmargin
                                                + colinfo_[c].offset_
                                                - i * vlinesep()
                                                - vlinesep()/2 - colsep()/2;
-                                       pi.pain.line(xx,
-                                               rowinfo_[r].offset_ - rowinfo_[r].ascent_,
-                                               xx,
-                                               rowinfo_[r].offset_ + rowinfo_[r].descent_,
+                                       int top_offset;
+                                       if (r > 0)
+                                               top_offset = rowinfo_[r - 1].offset_ + rowinfo_[r - 1].descent_;
+                                       else
+                                               top_offset = rowinfo_[0].offset_- rowinfo_[0].ascent_;
+                                       pi.pain.line(xx, y + top_offset,
+                                               xx, y + rowinfo_[r].offset_ + rowinfo_[r].descent_,
                                                Color_foreground);
                                }
                        }
index 340635fb6356669953ea9cafb2d63123531a45b4..d62cd437efb4f2be9407fea6ba938c15f53cfde4 100644 (file)
@@ -120,6 +120,7 @@ What's new
 
 - Remove duplicate context menu item for Argument insets (bug 10368).
 
+- Fix display of vertical lines inside math matrices (bug 10363).
 
 * INTERNALS