X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Fmathed%2FInsetMathGrid.cpp;h=291e11de8fcc97d3b56abd4fa7d27564ebcb8514;hb=4c724a6072013247ac178f0acec06825585c6c55;hp=3d120a5da8fbacb55b534df4b585f0ee37ac77fe;hpb=8e1e55c9e68bb9176cf95b169ae37d7dc89d8e4d;p=lyx.git diff --git a/src/mathed/InsetMathGrid.cpp b/src/mathed/InsetMathGrid.cpp index 3d120a5da8..291e11de8f 100644 --- a/src/mathed/InsetMathGrid.cpp +++ b/src/mathed/InsetMathGrid.cpp @@ -26,6 +26,7 @@ #include "FuncStatus.h" #include "Cursor.h" #include "FuncRequest.h" +#include "LaTeXFeatures.h" #include "frontends/Clipboard.h" #include "frontends/Painter.h" @@ -617,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; @@ -630,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); } } @@ -1237,6 +1241,20 @@ void InsetMathGrid::htmlize(HtmlStream & os) const } +void InsetMathGrid::validate(LaTeXFeatures & features) const +{ + if (features.runparams().math_flavor == OutputParams::MathAsHTML + && (nrows() > 1 || ncols() > 1)) { + // CSS taken from InsetMathCases + features.addCSSSnippet( + "table.mathtable{display: inline-block; text-align: center; border: none;" + "border-left: thin solid black; vertical-align: middle; padding-left: 0.5ex;}\n" + "table.mathtable td {text-align: left; border: none;}"); + } + InsetMathNest::validate(features); +} + + void InsetMathGrid::write(WriteStream & os) const { write(os, 0, 0, nrows(), ncols());