X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Fmathed%2FInsetMathSideset.cpp;h=cdc5637282e0d817d49530defbdb5bb87b0e7dbb;hb=ebe6612e2661f49dcfae6103f056c27afd47751f;hp=9bcbf1f09e217cda066992cf5e082bee3abd58c4;hpb=efaae780dbbe3685e26e040ed4255e5abf268106;p=lyx.git diff --git a/src/mathed/InsetMathSideset.cpp b/src/mathed/InsetMathSideset.cpp index 9bcbf1f09e..cdc5637282 100644 --- a/src/mathed/InsetMathSideset.cpp +++ b/src/mathed/InsetMathSideset.cpp @@ -11,20 +11,22 @@ #include +#include "InsetMathSideset.h" + +#include "InsetMathSymbol.h" +#include "MathData.h" +#include "MathStream.h" +#include "MathSupport.h" + #include "BufferView.h" #include "Cursor.h" #include "DispatchResult.h" #include "FuncRequest.h" #include "FuncStatus.h" -#include "InsetMathSideset.h" -#include "InsetMathSymbol.h" #include "LaTeXFeatures.h" -#include "MathData.h" -#include "MathStream.h" -#include "MathSupport.h" +#include "MetricsInfo.h" #include "support/debug.h" - #include "support/lassert.h" @@ -34,7 +36,7 @@ using namespace std; namespace { /// x spacing between the nucleus and the scripts int const dx = 2; -} +} // namespace namespace lyx { @@ -127,15 +129,8 @@ int InsetMathSideset::dybt(BufferView const & bv, int asc, int des, bool top) co int InsetMathSideset::dyb(BufferView const & bv) const { int nd = ndes(bv); - int des = 0; - if (scriptl_ && scriptr_) - des = max(bl().dimension(bv).ascent(), br().dimension(bv).ascent()); - else if (scriptl_) - des = bl().dimension(bv).ascent(); - else if (scriptr_) - des = br().dimension(bv).ascent(); int na = nasc(bv); - des = dybt(bv, na, nd, false); + int des = dybt(bv, na, nd, false); return des; } @@ -143,15 +138,8 @@ int InsetMathSideset::dyb(BufferView const & bv) const int InsetMathSideset::dyt(BufferView const & bv) const { int na = nasc(bv); - int asc = 0; - if (scriptl_ && scriptr_) - asc = max(tl().dimension(bv).descent(), tr().dimension(bv).descent()); - else if (scriptl_) - asc = tl().dimension(bv).descent(); - else if (scriptr_) - asc = tr().dimension(bv).descent(); int nd = ndes(bv); - asc = dybt(bv, na, nd, true); + int asc = dybt(bv, na, nd, true); return asc; } @@ -197,6 +185,7 @@ int InsetMathSideset::nker(BufferView const * bv) const void InsetMathSideset::metrics(MetricsInfo & mi, Dimension & dim) const { + Changer dummy2 = mi.base.changeEnsureMath(); Dimension dimn; Dimension dimbl; Dimension dimtl; @@ -211,7 +200,7 @@ void InsetMathSideset::metrics(MetricsInfo & mi, Dimension & dim) const br().metrics(mi, dimbr); dimtr = dimbr; } - ScriptChanger dummy(mi.base); + Changer dummy = mi.base.changeScript(); if (scriptl_) { bl().metrics(mi, dimbl); tl().metrics(mi, dimtl); @@ -233,19 +222,19 @@ void InsetMathSideset::metrics(MetricsInfo & mi, Dimension & dim) const int nd = ndes(bv); int des = dyb(bv) + max(dimbl.descent(), dimbr.descent()); dim.des = max(nd, des); - metricsMarkers(dim); } void InsetMathSideset::draw(PainterInfo & pi, int x, int y) const { + Changer dummy2 = pi.base.changeEnsureMath(); BufferView & bv = *pi.base.bv; nuc().draw(pi, x + dxn(bv), y); if (!scriptl_) bl().draw(pi, x , y); if (!scriptr_) br().draw(pi, x + dxr(bv), y); - ScriptChanger dummy(pi.base); + Changer dummy = pi.base.changeScript(); if (scriptl_) { bl().draw(pi, x , y + dyb(bv)); tl().draw(pi, x , y - dyt(bv)); @@ -254,7 +243,6 @@ void InsetMathSideset::draw(PainterInfo & pi, int x, int y) const br().draw(pi, x + dxr(bv), y + dyb(bv)); tr().draw(pi, x + dxr(bv), y - dyt(bv)); } - drawMarkers(pi, x, y); }