X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Fmathed%2Fmath_decorationinset.C;h=b1a1c4352dd92ee0279309952049023029f8f4fb;hb=4590c8cfab02a3bc56813cfb1f2e80bd1119af9e;hp=6e38a1cca17645e697fa4d9d5e7a9b989629cb75;hpb=b906c06db6ecd4b63bb5cdb5781ab05029303e25;p=lyx.git diff --git a/src/mathed/math_decorationinset.C b/src/mathed/math_decorationinset.C index 6e38a1cca1..b1a1c4352d 100644 --- a/src/mathed/math_decorationinset.C +++ b/src/mathed/math_decorationinset.C @@ -1,71 +1,78 @@ #include +#ifdef __GNUG__ +#pragma implementation +#endif + #include "math_decorationinset.h" #include "math_iter.h" #include "mathed/support.h" #include "math_parser.h" +#include "support/LOstream.h" +#include "support/lstrings.h" -bool MathDecorationInset::GetLimits() const -{ - return deco == LM_underbrace || deco == LM_overbrace; -} +using std::ostream; MathDecorationInset::MathDecorationInset(int d, short st) - : MathParInset(st, "", LM_OT_DECO), deco(d) + : MathParInset(st, "", LM_OT_DECO), deco_(d) { - upper = (deco!= LM_underline && deco!= LM_underbrace); + upper_ = (deco_ != LM_underline && deco_ != LM_underbrace); } +bool MathDecorationInset::GetLimits() const +{ + return deco_ == LM_underbrace || deco_ == LM_overbrace; +} + + MathedInset * MathDecorationInset::Clone() { - MathDecorationInset * p = new MathDecorationInset(deco, GetStyle()); - MathedIter it(array); - p->SetData(it.Copy()); - return p; + return new MathDecorationInset(*this); } void MathDecorationInset::draw(Painter & pain, int x, int y) { - MathParInset::draw(pain, x + (width - dw) / 2, y); - mathed_draw_deco(pain, x, y + dy, width, dh, deco); + MathParInset::draw(pain, x + (width - dw_) / 2, y); + mathed_draw_deco(pain, x, y + dy_, width, dh_, deco_); } void MathDecorationInset::Metrics() { - int h = 2*mathed_char_height(LM_TC_VAR, size, 'I', ascent, descent); + int const h = 2 * mathed_char_height(LM_TC_VAR, size(), 'I', + ascent, descent); MathParInset::Metrics(); - int w = Width()+4; - if (w<16) w = 16; - dh = w/5; - if (dh>h) dh = h; + int w = Width() + 4; + if (w < 16) w = 16; + dh_ = w / 5; + if (dh_ > h) dh_ = h; - if (upper) { - ascent += dh+2; - dy = -ascent; + if (upper_) { + ascent += dh_ + 2; + dy_ = -ascent; } else { - dy = descent+2; - descent += dh+4; + dy_ = descent + 2; + descent += dh_ + 4; } - dw = width; + dw_ = width; width = w; } void MathDecorationInset::Write(ostream & os, bool fragile) { - latexkeys * l = lm_get_key_by_id(deco, LM_TK_WIDE); + latexkeys const * l = lm_get_key_by_id(deco_, LM_TK_WIDE); if (fragile && - (strcmp(l->name, "overbrace") == 0 || - strcmp(l->name, "underbrace") == 0 || - strcmp(l->name, "overleftarrow") == 0 || - strcmp(l->name, "overrightarrow") == 0)) + (compare(l->name, "overbrace") == 0 || + compare(l->name, "underbrace") == 0 || + compare(l->name, "overleftarrow") == 0 || + compare(l->name, "overrightarrow") == 0)) os << "\\protect"; os << '\\' << l->name << '{'; MathParInset::Write(os, fragile);