]> git.lyx.org Git - lyx.git/blobdiff - src/mathed/MathData.h
When ignoring an update, request one for later
[lyx.git] / src / mathed / MathData.h
index ed85c78977ea68177f5dfc9e002cc94a7e43d027..1b9d8edcbcd744159e93ba39424b79421723280e 100644 (file)
@@ -38,7 +38,7 @@ class DocIterator;
 class LaTeXFeatures;
 class ReplaceData;
 class MacroContext;
-class MathMacro;
+class InsetMathMacro;
 class MetricsInfo;
 class PainterInfo;
 class ParIterator;
@@ -124,8 +124,14 @@ public:
        /// Add this array to a math row. Return true if contents got added
        bool addToMathRow(MathRow &, MetricsInfo & mi) const;
 
+       // return true if caret is in this cell in this buffer view
+       bool hasCaret(BufferView * bv) const;
+
        /// rebuild cached metrics information
-       void metrics(MetricsInfo & mi, Dimension & dim) const;
+       /** When \c tight is true, the height of the cell will be at least
+        *  that of 'x'. Otherwise, it will be the max height of the font.
+        */
+       void metrics(MetricsInfo & mi, Dimension & dim, bool tight = true) const;
        ///
        Dimension const & dimension(BufferView const &) const;
 
@@ -178,6 +184,8 @@ public:
        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
@@ -198,18 +206,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<MathData> & params, 
+       void collectOptionalParameters(Cursor * cur,
+               const size_type numOptionalParams, std::vector<MathData> & 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<MathData> & params, 
+       void collectParameters(Cursor * cur,
+               const size_type numParams, std::vector<MathData> & params,
                size_t & pos, MathAtom & scriptToPutAround,
                const pos_type macroPos, const int thisPos, const int thisSlice,
                const size_t appetite);