X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Fmathed%2FMathData.h;h=0419b5918168b3397c55c2d2f134f21e17bedd93;hb=4c724a6072013247ac178f0acec06825585c6c55;hp=fa2dc9dfa6dd294ae2524cce1ef68cf33d157b76;hpb=ff4460603e3888948b46f0ab5bfa69a862d538ad;p=lyx.git diff --git a/src/mathed/MathData.h b/src/mathed/MathData.h index fa2dc9dfa6..0419b59181 100644 --- a/src/mathed/MathData.h +++ b/src/mathed/MathData.h @@ -18,8 +18,11 @@ #include "Dimension.h" #include "MathAtom.h" +#include "OutputEnums.h" + #include "support/strfwd.h" +#include #include @@ -35,6 +38,7 @@ class MacroContext; class MathMacro; class MetricsInfo; class PainterInfo; +class ParIterator; class TextMetricsInfo; class TextPainter; @@ -62,7 +66,8 @@ public: public: /// - MathData(Buffer * buf = 0) : buffer_(buf) {} + MathData(Buffer * buf = 0) : minasc_(0), mindes_(0), slevel_(0), + sshift_(0), kerning_(0), buffer_(buf) {} /// MathData(Buffer * buf, const_iterator from, const_iterator to); /// @@ -141,8 +146,8 @@ public: /// returns position of given x coordinate int pos2x(BufferView const * bv, size_type pos, int glue) const; /// returns position of given x coordinate - size_type x2pos(BufferView const * bv, int pos) const; - /// returns position of given x coordinate fstarting from a certain pos + size_type x2pos(BufferView const * bv, int targetx) const; + /// returns position of given x coordinate starting from a certain pos size_type x2pos(BufferView const * bv, int targetx, int glue) const; /// returns distance of this cell to the point given by x and y // assumes valid position and size cache @@ -161,9 +166,11 @@ public: /// void swap(MathData & ar) { base_type::swap(ar); } - /// attach/detach arguments to macros, updating the cur to + /// attach/detach arguments to macros, updating the cur to /// stay visually at the same position (cur==0 is allowed) - void updateMacros(Cursor * cur, MacroContext const & mc); + void updateMacros(Cursor * cur, MacroContext const & mc, UpdateType); + /// + void updateBuffer(ParIterator const &, UpdateType); protected: /// cached values for super/subscript placement @@ -179,7 +186,7 @@ private: bool find1(MathData const & ar, size_type pos) const; /// - void detachMacroParameters(Cursor * cur, const size_type macroPos); + void detachMacroParameters(DocIterator * dit, const size_type macroPos); /// void attachMacroParameters(Cursor * cur, const size_type macroPos, const size_type macroNumArgs, const int macroOptionals,