X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Fmathed%2Fmath_deliminset.C;h=5882a0cd0528f135211911a929115ce9a5db1ae9;hb=c649284611c4198c9d70be8a16d153cdf1ec0700;hp=84525f9d6844297ced15ee2829037c065698bc83;hpb=2b8ef58dc021912b2862328b9000cfe37578ea37;p=lyx.git diff --git a/src/mathed/math_deliminset.C b/src/mathed/math_deliminset.C index 84525f9d68..5882a0cd05 100644 --- a/src/mathed/math_deliminset.C +++ b/src/mathed/math_deliminset.C @@ -14,12 +14,44 @@ using std::max; +namespace { + +string convertDelimToLatexName(string const & name) +{ + if (name == "(") + return name; + if (name == "[") + return name; + if (name == ".") + return name; + if (name == ")") + return name; + if (name == "]") + return name; + if (name == "/") + return name; + if (name == "|") + return name; + return "\\" + name + " "; +} + +} + + MathDelimInset::MathDelimInset(string const & l, string const & r) : MathNestInset(1), left_(l), right_(r) {} +MathDelimInset::MathDelimInset + (string const & l, string const & r, MathArray const & ar) + : MathNestInset(1), left_(l), right_(r) +{ + cell(0) = ar; +} + + MathInset * MathDelimInset::clone() const { return new MathDelimInset(*this); @@ -51,13 +83,11 @@ int MathDelimInset::dw() const } -void MathDelimInset::metrics(MathMetricsInfo const & mi) const +void MathDelimInset::metrics(MathMetricsInfo & mi) const { xcell(0).metrics(mi); int a, d, w; - LyXFont font; - whichFont(font, LM_TC_VAR, mi); - mathed_char_dim(font, 'I', a, d, w); + mathed_char_dim(mi.base.font, 'I', a, d, w); int h0 = (a + d) / 2; int a0 = max(xcell(0).ascent(), a) - h0; int d0 = max(xcell(0).descent(), d) + h0; @@ -67,13 +97,13 @@ void MathDelimInset::metrics(MathMetricsInfo const & mi) const } -void MathDelimInset::draw(Painter & pain, int x, int y) const +void MathDelimInset::draw(MathPainterInfo & pi, int x, int y) const { int const w = dw(); int const b = y - ascent_; - xcell(0).draw(pain, x + w + 4, y); - mathed_draw_deco(pain, x + 4, b, w, height(), left_); - mathed_draw_deco(pain, x + width() - w - 4, b, w, height(), right_); + xcell(0).draw(pi, x + w + 4, y); + mathed_draw_deco(pi, x + 4, b, w, height(), left_); + mathed_draw_deco(pi, x + width() - w - 4, b, w, height(), right_); }