X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;ds=sidebyside;f=src%2Fmathed%2FMathData.h;h=31bb787c98f4d82c56e14193c2358aaa4c180f3e;hb=c8230ab0d0a919530c43c29395f4d9961498bf15;hp=9eae46671a70f1271c190983309fb4d4ac6d3e42;hpb=f3f9b083d180412a62a50bdef06ab236dca5fc9d;p=lyx.git diff --git a/src/mathed/MathData.h b/src/mathed/MathData.h index 9eae46671a..31bb787c98 100644 --- a/src/mathed/MathData.h +++ b/src/mathed/MathData.h @@ -38,7 +38,7 @@ class DocIterator; class LaTeXFeatures; class ReplaceData; class MacroContext; -class MathMacro; +class InsetMathMacro; class MetricsInfo; class PainterInfo; class ParIterator; @@ -129,6 +129,8 @@ public: /// Dimension const & dimension(BufferView const &) const; + /// draw the selection over the cell + void drawSelection(PainterInfo & pi, int x, int y) const; /// redraw cell using cache metrics information void draw(PainterInfo & pi, int x, int y) const; /// rebuild cached metrics information @@ -137,6 +139,8 @@ public: void drawT(TextPainter & pi, int x, int y) const; /// mark cell for re-drawing void touch() const; + /// approximate the math class of the data + MathClass mathClass() const; /// access to cached x coordinate of last drawing int xo(BufferView const & bv) const; @@ -164,16 +168,18 @@ public: int slevel() const { return slevel_; } /// additional super/subscript shift int sshift() const { return sshift_; } - /// superscript kerning + /// Italic correction as described in InsetMathScript.h int kerning(BufferView const *) const { return kerning_; } /// void swap(MathData & ar) { base_type::swap(ar); } /// 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, UpdateType); + void updateMacros(Cursor * cur, MacroContext const & mc, UpdateType, int nesting); /// void updateBuffer(ParIterator const &, UpdateType); + /// + void setBuffer(Buffer & b) { buffer_ = &b; } protected: /// cached values for super/subscript placement @@ -194,18 +200,18 @@ private: /// void detachMacroParameters(DocIterator * dit, const size_type macroPos); /// - void attachMacroParameters(Cursor * cur, const size_type macroPos, + void attachMacroParameters(Cursor * cur, const size_type macroPos, const size_type macroNumArgs, const int macroOptionals, const bool fromInitToNormalMode, const bool interactiveInit, const size_t appetite); /// - void collectOptionalParameters(Cursor * cur, - const size_type numOptionalParams, std::vector & params, + void collectOptionalParameters(Cursor * cur, + const size_type numOptionalParams, std::vector & params, size_t & pos, MathAtom & scriptToPutAround, const pos_type macroPos, const int thisPos, const int thisSlice); /// - void collectParameters(Cursor * cur, - const size_type numParams, std::vector & params, + void collectParameters(Cursor * cur, + const size_type numParams, std::vector & params, size_t & pos, MathAtom & scriptToPutAround, const pos_type macroPos, const int thisPos, const int thisSlice, const size_t appetite);