X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Fmathed%2FMathRow.h;h=de63ec965ff7a4442191cd044e28be11a07edce4;hb=c8230ab0d0a919530c43c29395f4d9961498bf15;hp=95786b23b4e398768fae2800797fac8d54e48169;hpb=0f15dcc69895c190811d98ad5f0b9bce887f53f6;p=lyx.git diff --git a/src/mathed/MathRow.h b/src/mathed/MathRow.h index 95786b23b4..de63ec965f 100644 --- a/src/mathed/MathRow.h +++ b/src/mathed/MathRow.h @@ -12,6 +12,7 @@ #ifndef MATH_ROW_H #define MATH_ROW_H +#include "InsetMath.h" #include "MathClass.h" #include "ColorCode.h" @@ -29,7 +30,6 @@ class PainterInfo; class InsetMath; class MathData; -class MathMacro; /* * While for editing purpose it is important that macros are counted @@ -47,41 +47,38 @@ public: // What row elements can be enum Type { INSET, // this element is a plain inset - BEG_MACRO, // a macro begins here - END_MACRO, // a macro ends here - BEG_ARG, // a macro argument begins here - END_ARG, // a macro argument ends here - BEGIN, // dummy element before row - END, // dummy element after row - BOX // an empty box + BOX, // an empty box + BEGIN, // an inset and/or a math array begins here + END, // an inset and/or a math array ends here + DUMMY // a dummy element (used before or after row) }; // An elements, together with its spacing struct Element { /// - Element(Type t); + Element(MetricsInfo const & mi, Type t, MathClass mc = MC_UNKNOWN); /// Classifies the contents of the object Type type; + /// the class of the element + MathClass mclass; + /// the spacing around the element + int before, after; + /// count wether the current mathdata is nested in macro(s) + int macro_nesting; + /// Marker type + InsetMath::marker_type marker; /// When type is INSET - /// the math inset + /// the math inset (also for BEGIN and END) InsetMath const * inset; - /// the class of the inset - MathClass mclass; - /// the spacing around the inset - int before, after; // Non empty when there is a completion to draw docstring compl_text; // the number of characters forming the unique part. size_t compl_unique_to; - /// When type is BEG_MACRO, END_MACRO, BEG_ARG, END_ARG - /// the math macro - MathMacro const * macro; - - // type is BEG_ARG, END_ARG + // type is BEGIN, END MathData const * ar; // type is BOX @@ -114,7 +111,7 @@ public: MathRow(MetricsInfo & mi, MathData const * ar); // - void metrics(MetricsInfo & mi, Dimension & dim) const; + void metrics(MetricsInfo & mi, Dimension & dim); // void draw(PainterInfo & pi, int const x, int const y) const;