]> git.lyx.org Git - lyx.git/blobdiff - src/mathed/InsetMath.cpp
Get rid of Inset::setPosCache
[lyx.git] / src / mathed / InsetMath.cpp
index 738f6342c358a3801fb44a4858517a810a2d2082..ba559e7eb6b4888080cc140c303526125602a65a 100644 (file)
 
 #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,57 @@ MathData const & InsetMath::cell(idx_type) const
 }
 
 
+MathClass InsetMath::mathClass() const
+{
+       return MC_ORD;
+}
+
+
+bool InsetMath::addToMathRow(MathRow & mrow, MetricsInfo & ) const
+{
+       MathRow::Element e(MathRow::INSET, mathClass());
+       e.inset = this;
+       mrow.push_back(e);
+       return true;
+}
+
+void InsetMath::metricsMarkers(MetricsInfo & mi, Dimension & dim,
+                           int framesize) const
+{
+       if (!mi.base.macro_nesting)
+               Inset::metricsMarkers(dim, framesize);
+}
+
+
+void InsetMath::metricsMarkers2(MetricsInfo & mi, Dimension & dim,
+                            int framesize) const
+{
+       if (!mi.base.macro_nesting)
+               Inset::metricsMarkers2(dim, framesize);
+}
+
+
+void InsetMath::drawMarkers(PainterInfo & pi, int x, int y) const
+{
+       if (!pi.base.macro_nesting)
+               Inset::drawMarkers(pi, x, y);
+}
+
+
+void InsetMath::drawMarkers2(PainterInfo & pi, int x, int y) const
+{
+       if (!pi.base.macro_nesting)
+               Inset::drawMarkers2(pi, x, y);
+}
+
+
+
 void InsetMath::dump() const
 {
        lyxerr << "---------------------------------------------" << endl;
        odocstringstream os;
-       WriteStream wi(os, false, true, WriteStream::wsDefault);
+       otexrowstream ots(os);
+       WriteStream wi(ots, false, true, WriteStream::wsDefault);
        write(wi);
        lyxerr << to_utf8(os.str());
        lyxerr << "\n---------------------------------------------" << endl;
@@ -156,7 +205,8 @@ HullType InsetMath::getType() const
 ostream & operator<<(ostream & os, MathAtom const & at)
 {
        odocstringstream oss;
-       WriteStream wi(oss, false, false, WriteStream::wsDefault);
+       otexrowstream ots(oss);
+       WriteStream wi(ots, false, false, WriteStream::wsDefault);
        at->write(wi);
        return os << to_utf8(oss.str());
 }
@@ -164,7 +214,8 @@ ostream & operator<<(ostream & os, MathAtom const & at)
 
 odocstream & operator<<(odocstream & os, MathAtom const & at)
 {
-       WriteStream wi(os, false, false, WriteStream::wsDefault);
+       otexrowstream ots(os);
+       WriteStream wi(ots, false, false, WriteStream::wsDefault);
        at->write(wi);
        return os;
 }