#ifndef MATH_ROW_H
#define MATH_ROW_H
-#include "InsetMath.h"
#include "MathClass.h"
#include "ColorCode.h"
+#include "Dimension.h"
#include "support/docstring.h"
namespace lyx {
class BufferView;
-class Dimension;
+class InsetMath;
+class MathData;
class MetricsInfo;
class PainterInfo;
-class InsetMath;
-class MathData;
+enum class marker_type : int;
/*
* While for editing purpose it is important that macros are counted
MathClass mclass;
/// the spacing around the element
int before, after;
- /// count wether the current mathdata is nested in macro(s)
+ /// count whether the current mathdata is nested in macro(s)
int macro_nesting;
/// Marker type
- InsetMath::marker_type marker;
+ marker_type marker;
/// When type is INSET
/// the math inset (also for BEGIN and END)
};
///
- MathRow() {};
+ MathRow() {}
+ ///
+ MathRow(Dimension const & dim) : caret_dim(dim) {}
///
typedef std::vector<Element> Elements;
///
/// superscript kerning
int kerning(BufferView const *) const;
+ /// useful when the caret visits this cell
+ Dimension caret_dim;
+
+
private:
// Index of the first inset element before position i
int before(int i) const;