X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Fmathed%2FInsetMathColor.cpp;h=ea4f4ef6e29793c84a8d62be1a906f6523dc7111;hb=02e82157ec583c3900e359de86be79fac6512387;hp=9023b7406eafab94bf2da0f5dc7afa9647510170;hpb=9c55af4a223ce4db29d643251109e245665344bd;p=lyx.git diff --git a/src/mathed/InsetMathColor.cpp b/src/mathed/InsetMathColor.cpp index 9023b7406e..ea4f4ef6e2 100644 --- a/src/mathed/InsetMathColor.cpp +++ b/src/mathed/InsetMathColor.cpp @@ -29,14 +29,14 @@ using namespace lyx::support; namespace lyx { InsetMathColor::InsetMathColor(Buffer * buf, bool oldstyle, ColorCode color) - : InsetMathNest(buf, 1), oldstyle_(oldstyle), + : InsetMathNest(buf, 1), w_(0), oldstyle_(oldstyle), color_(from_utf8(lcolor.getLaTeXName(color))) {} InsetMathColor::InsetMathColor(Buffer * buf, bool oldstyle, docstring const & color) - : InsetMathNest(buf, 1), oldstyle_(oldstyle), color_(color) + : InsetMathNest(buf, 1), w_(0), oldstyle_(oldstyle), color_(color) {} @@ -49,7 +49,7 @@ Inset * InsetMathColor::clone() const void InsetMathColor::metrics(MetricsInfo & mi, Dimension & dim) const { cell(0).metrics(mi, dim); - metricsMarkers(dim); + metricsMarkers(mi, dim); } @@ -60,7 +60,6 @@ void InsetMathColor::draw(PainterInfo & pi, int x, int y) const cell(0).draw(pi, x + 1, y); pi.base.font.setColor(origcol); drawMarkers(pi, x, y); - setPosCache(pi, x, y); } @@ -74,8 +73,26 @@ static bool normalcolor(docstring const & color) void InsetMathColor::validate(LaTeXFeatures & features) const { InsetMathNest::validate(features); - if (!normalcolor(color_)) - features.require("color"); + if (!normalcolor(color_)) { + switch (lcolor.getFromLaTeXName(to_utf8(color_))) { + case Color_brown: + case Color_darkgray: + case Color_gray: + case Color_lightgray: + case Color_lime: + case Color_olive: + case Color_orange: + case Color_pink: + case Color_purple: + case Color_teal: + case Color_violet: + features.require("xcolor"); + break; + default: + features.require("color"); + break; + } + } }