]> git.lyx.org Git - lyx.git/blobdiff - src/mathed/MathData.h
More requires --> required, for C++2a.
[lyx.git] / src / mathed / MathData.h
index 70c001975e9614a32f54c84ab6da621398cda9a7..3c93421821230f6b78bd8b1f7af3dfad5b44f6e6 100644 (file)
@@ -26,7 +26,6 @@
 
 #include <cstddef>
 #include <vector>
-#include <map>
 
 
 namespace lyx {
@@ -69,8 +68,8 @@ public:
 
 public:
        ///
-       MathData(Buffer * buf = 0) : minasc_(0), mindes_(0), slevel_(0),
-                                    sshift_(0), kerning_(0), buffer_(buf) {}
+       explicit MathData(Buffer * buf = 0) : minasc_(0), mindes_(0), slevel_(0),
+                                    sshift_(0), buffer_(buf) {}
        ///
        MathData(Buffer * buf, const_iterator from, const_iterator to);
        ///
@@ -125,7 +124,11 @@ public:
        bool addToMathRow(MathRow &, MetricsInfo & mi) 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
+        *  the x height of the font. 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;
 
@@ -167,7 +170,7 @@ public:
        /// additional super/subscript shift
        int sshift() const { return sshift_; }
        /// Italic correction as described in InsetMathScript.h
-       int kerning(BufferView const *) const { return kerning_; }
+       int kerning(BufferView const *) const;
        ///
        void swap(MathData & ar) { base_type::swap(ar); }
 
@@ -177,7 +180,7 @@ public:
        ///
        void updateBuffer(ParIterator const &, UpdateType);
        ///
-       void setBuffer(Buffer & b) { buffer_ = &b; }
+       void setBuffer(Buffer & b);
 
 protected:
        /// cached values for super/subscript placement
@@ -185,12 +188,8 @@ protected:
        mutable int mindes_;
        mutable int slevel_;
        mutable int sshift_;
-       mutable int kerning_;
        Buffer * buffer_;
 
-       /// cached object that describes typeset data
-       mutable std::map<BufferView*, MathRow> mrow_cache_;
-
 private:
        /// is this an exact match at this position?
        bool find1(MathData const & ar, size_type pos) const;