X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Fmathed%2FInsetMath.cpp;h=e3b46b9e5caa484c9613e27ff992af3d85d8d036;hb=ad79ac406f9c8fc85880cfeb5416b0299ee9a617;hp=87952f5679ab613c61e1820c1372c870ce9d3b7b;hpb=670efa8f646218f2a378f0cc614c4c37a9f6b89a;p=lyx.git diff --git a/src/mathed/InsetMath.cpp b/src/mathed/InsetMath.cpp index 87952f5679..e3b46b9e5c 100644 --- a/src/mathed/InsetMath.cpp +++ b/src/mathed/InsetMath.cpp @@ -13,15 +13,18 @@ #include "InsetMath.h" #include "MathData.h" +#include "MathRow.h" #include "MathStream.h" +#include "MetricsInfo.h" + #include "support/debug.h" #include "support/docstream.h" #include "support/gettext.h" +#include "support/lassert.h" #include "support/lstrings.h" #include "support/textutils.h" -#include "support/lassert.h" using namespace std; @@ -49,11 +52,33 @@ MathData const & InsetMath::cell(idx_type) const } +MathClass InsetMath::mathClass() const +{ + return MC_ORD; +} + + +InsetMath::marker_type InsetMath::marker() const +{ + return nargs() > 0 ? MARKER : NO_MARKER; +} + + +bool InsetMath::addToMathRow(MathRow & mrow, MetricsInfo & mi) const +{ + MathRow::Element e(mi, MathRow::INSET, mathClass()); + e.inset = this; + e.marker = mi.base.macro_nesting ? NO_MARKER : marker(); + mrow.push_back(e); + return true; +} + + void InsetMath::dump() const { lyxerr << "---------------------------------------------" << endl; odocstringstream os; - otexrowstream ots(os, false); + otexrowstream ots(os); WriteStream wi(ots, false, true, WriteStream::wsDefault); write(wi); lyxerr << to_utf8(os.str()); @@ -157,7 +182,7 @@ HullType InsetMath::getType() const ostream & operator<<(ostream & os, MathAtom const & at) { odocstringstream oss; - otexrowstream ots(oss, false); + otexrowstream ots(oss); WriteStream wi(ots, false, false, WriteStream::wsDefault); at->write(wi); return os << to_utf8(oss.str()); @@ -166,7 +191,7 @@ ostream & operator<<(ostream & os, MathAtom const & at) odocstream & operator<<(odocstream & os, MathAtom const & at) { - otexrowstream ots(os, false); + otexrowstream ots(os); WriteStream wi(ots, false, false, WriteStream::wsDefault); at->write(wi); return os;