X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;ds=sidebyside;f=src%2Fmathed%2FInsetMathSqrt.cpp;h=1f58dce4dbf979f595412bcc9a080f81a3a74260;hb=2de30c62f8d671a8c8d4d52a6a7310e2c5ca84de;hp=f738e2c17bc516db242b681850146839f7050244;hpb=ff4460603e3888948b46f0ab5bfa69a862d538ad;p=lyx.git diff --git a/src/mathed/InsetMathSqrt.cpp b/src/mathed/InsetMathSqrt.cpp index f738e2c17b..1f58dce4db 100644 --- a/src/mathed/InsetMathSqrt.cpp +++ b/src/mathed/InsetMathSqrt.cpp @@ -11,9 +11,14 @@ #include #include "InsetMathSqrt.h" + #include "MathData.h" #include "MathStream.h" + +#include "LaTeXFeatures.h" +#include "MetricsInfo.h" #include "TextPainter.h" + #include "frontends/Painter.h" @@ -32,16 +37,18 @@ Inset * InsetMathSqrt::clone() const void InsetMathSqrt::metrics(MetricsInfo & mi, Dimension & dim) const { + Changer dummy = mi.base.changeEnsureMath(); cell(0).metrics(mi, dim); dim.asc += 4; dim.des += 2; dim.wid += 12; - metricsMarkers(dim); + metricsMarkers(mi, dim); } void InsetMathSqrt::draw(PainterInfo & pi, int x, int y) const { + Changer dummy = pi.base.changeEnsureMath(); cell(0).draw(pi, x + 10, y); Dimension const dim = dimension(*pi.base.bv); int const a = dim.ascent(); @@ -49,11 +56,11 @@ void InsetMathSqrt::draw(PainterInfo & pi, int x, int y) const int xp[3]; int yp[3]; pi.pain.line(x + dim.width(), y - a + 1, - x + 8, y - a + 1, Color_math); + x + 8, y - a + 1, pi.base.font.color()); xp[0] = x + 8; yp[0] = y - a + 1; xp[1] = x + 5; yp[1] = y + d - 1; xp[2] = x; yp[2] = y + (d - a)/2; - pi.pain.lines(xp, yp, 3, Color_math); + pi.pain.lines(xp, yp, 3, pi.base.font.color()); drawMarkers(pi, x, y); } @@ -113,4 +120,20 @@ void InsetMathSqrt::mathmlize(MathStream & os) const } +void InsetMathSqrt::htmlize(HtmlStream & os) const +{ + os << MTag("span", "class='sqrt'") + << from_ascii("√") + << MTag("span", "class='sqrtof'") << cell(0) << ETag("span") + << ETag("span"); +} + + +void InsetMathSqrt::validate(LaTeXFeatures & features) const +{ + if (features.runparams().math_flavor == OutputParams::MathAsHTML) + features.addCSSSnippet("span.sqrtof{border-top: thin solid black;}"); + InsetMathNest::validate(features); +} + } // namespace lyx