#include "InsetMathDiagram.h"
-#include "LaTeXFeatures.h"
#include "MathStream.h"
+#include "LaTeXFeatures.h"
+#include "MetricsInfo.h"
+
#include <ostream>
namespace lyx {
void InsetMathDiagram::metrics(MetricsInfo & mi, Dimension & dim) const
{
- if (mi.base.style == LM_ST_DISPLAY)
- mi.base.style = LM_ST_TEXT;
+ Changer dummy2 = mi.base.changeEnsureMath();
+ FontInfo & f = mi.base.font;
+ Changer dummy = (f.style() == DISPLAY_STYLE) ? f.changeStyle(TEXT_STYLE)
+ : noChange();
InsetMathGrid::metrics(mi, dim);
}
-void InsetMathDiagram::write(WriteStream & os) const
+void InsetMathDiagram::draw(PainterInfo & pi, int x, int y) const
+{
+ Changer dummy2 = pi.base.changeEnsureMath();
+ FontInfo & f = pi.base.font;
+ Changer dummy = (f.style() == DISPLAY_STYLE) ? f.changeStyle(TEXT_STYLE)
+ : noChange();
+ InsetMathGrid::draw(pi, x, y);
+}
+
+
+void InsetMathDiagram::write(TeXMathStream & os) const
{
MathEnsurer ensurer(os);
os << "\\Diagram";
+ bool open = os.startOuterRow();
os << '{';
InsetMathGrid::write(os);
os << "}\n";
+ if (open)
+ os.startOuterRow();
}