X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Fmathed%2Fmath_dotsinset.C;h=b6c460acb1352e3fc82b10c0fa2b703363580e6d;hb=e093e5e80c334995a77445c8e66a9f3c9594dda1;hp=fd2585452304cfef55f29777960a16efcbc8365e;hpb=2b8ef58dc021912b2862328b9000cfe37578ea37;p=lyx.git diff --git a/src/mathed/math_dotsinset.C b/src/mathed/math_dotsinset.C index fd25854523..b6c460acb1 100644 --- a/src/mathed/math_dotsinset.C +++ b/src/mathed/math_dotsinset.C @@ -21,27 +21,29 @@ MathInset * MathDotsInset::clone() const } -void MathDotsInset::metrics(MathMetricsInfo const & mi) const +void MathDotsInset::metrics(MathMetricsInfo & mi) const { - LyXFont font; - whichFont(font, LM_TC_VAR, mi); - mathed_char_dim(font, 'M', ascent_, descent_, width_); - switch (name_[0]) { - case 'l': dh_ = 0; break; - case 'c': dh_ = ascent_ / 2; break; - case 'v': width_ /= 2; - case 'd': dh_ = ascent_; break; - } + mathed_char_dim(mi.base.font, 'M', ascent_, descent_, width_); + if (name_ == "ldots" || name_ == "dotsm") + dh_ = 0; + else if (name_ == "cdots" || name_ == "dotsb" + || name_ == "dotsm" || name_ == "dotsi") + dh_ = ascent_ / 2; + else if (name_ == "dotsc") + dh_ = ascent_ / 4; + else if (name_ == "vdots") + width_ /= 2; + else if (name_ == "ddots") + dh_ = ascent_; } -void MathDotsInset::draw(Painter & pain, int x, int y) const +void MathDotsInset::draw(MathPainterInfo & pain, int x, int y) const { mathed_draw_deco(pain, x + 2, y - dh_, width_ - 2, ascent_, name_); - char const c = name_[0]; - if (c == 'v' || c == 'd') + if (name_ == "vdots" || name_ == "ddots") ++x; - if (c != 'v') + if (name_ != "vdots") --y; mathed_draw_deco(pain, x + 2, y - dh_, width_ - 2, ascent_, name_); }