X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Fmathed%2Fmath_colorinset.C;h=5a87a63f8501f03ca1abb569607505252c49957c;hb=12ac7f339e14c4f76a24f45a21c0697303099145;hp=b9737c5d932c3fcaa947d1129861aff90bb8dd39;hpb=19198334bcbef32f915d4da4ce97ec8dc81d2d60;p=lyx.git diff --git a/src/mathed/math_colorinset.C b/src/mathed/math_colorinset.C index b9737c5d93..5a87a63f85 100644 --- a/src/mathed/math_colorinset.C +++ b/src/mathed/math_colorinset.C @@ -23,8 +23,8 @@ using std::auto_ptr; -MathColorInset::MathColorInset() - : MathNestInset(2) +MathColorInset::MathColorInset(bool oldstyle) + : MathNestInset(2), oldstyle_(oldstyle) {} @@ -37,7 +37,7 @@ auto_ptr MathColorInset::clone() const void MathColorInset::metrics(MetricsInfo & mi, Dimension & dim) const { cell(1).metrics(mi, dim); - if (editing()) { + if (editing(mi.base.bv)) { FontSetChanger dummy(mi.base, "textnormal"); cell(0).metrics(mi); dim += cell(0).dim(); @@ -45,7 +45,7 @@ void MathColorInset::metrics(MetricsInfo & mi, Dimension & dim) const dim.asc += 4; dim.des += 4; dim.wid += 2 * w_ + 4; - metricsMarkers(); + metricsMarkers(dim); } dim_ = dim; } @@ -53,7 +53,7 @@ void MathColorInset::metrics(MetricsInfo & mi, Dimension & dim) const void MathColorInset::draw(PainterInfo & pi, int x, int y) const { - if (editing()) { + if (editing(pi.base.bv)) { FontSetChanger dummy(pi.base, "textnormal"); drawMarkers(pi, x, y); drawStrBlack(pi, x, y, "["); @@ -68,6 +68,7 @@ void MathColorInset::draw(PainterInfo & pi, int x, int y) const pi.base.font.setColor(lcolor.getFromGUIName(asString(cell(0)))); cell(1).draw(pi, x, y); pi.base.font.setColor(origcol); + setPosCache(pi, x, y); } @@ -80,7 +81,10 @@ void MathColorInset::validate(LaTeXFeatures & features) const void MathColorInset::write(WriteStream & os) const { - os << "{\\color" << '{' << cell(0) << '}' << cell(1) << '}'; + if (oldstyle_) + os << "{\\color" << '{' << cell(0) << '}' << cell(1) << '}'; + else + os << "\\textcolor" << '{' << cell(0) << "}{" << cell(1) << '}'; }