]> git.lyx.org Git - lyx.git/blobdiff - src/mathed/xarray.h
halfway through fixing size of math in non-standard sizesd paragraohs like
[lyx.git] / src / mathed / xarray.h
index 7bc0bc826914eba521c18792adfcf7f1c8b47b74..b67d3b96815d1409665d53cb53ec1be8ed29df45 100644 (file)
@@ -5,6 +5,7 @@
 
 #include <iosfwd>
 #include "array.h"
+#include "math_metricsinfo.h"
 
 #ifdef __GNUG__
 #pragma interface
@@ -15,23 +16,26 @@ class Painter;
 class MathXArray
 {
 public:
+       ///
+       typedef MathArray::size_type       size_type;
+       ///
+       typedef MathArray::const_iterator  const_iterator;
+
        ///
        MathXArray();
        ///
-       void Metrics(MathStyles st);
+       void metrics(MathMetricsInfo const & st) const;
        ///
-       void draw(Painter & pain, int x, int y);
+       void draw(Painter & pain, int x, int y) const;
 
        ///
        int xo() const { return xo_; }
        ///
        int yo() const { return yo_; }
        ///
-       int pos2x(int pos) const;
-       ///
-       int x2pos(int pos) const;
+       int pos2x(size_type pos) const;
        ///
-       int width(int pos) const;
+       size_type x2pos(int pos) const;
 
        ///
        int ascent() const { return ascent_; }
@@ -41,24 +45,27 @@ public:
        int height() const { return ascent_ + descent_; }
        ///
        int width() const { return width_; }
+
+       ///
+       const_iterator begin() const { return data_.begin(); }
        ///
-       MathStyles style() const { return style_; }
+       const_iterator end() const { return data_.end(); }
        
-
+public:
        ///
        MathArray data_;
        ///
-       int width_;
+       mutable int width_;
        ///
-       int ascent_;
+       mutable int ascent_;
        ///
-       int descent_;
+       mutable int descent_;
        ///
-       int xo_;
+       mutable int xo_;
        ///
-       int yo_;
+       mutable int yo_;
        ///
-       MathStyles style_;
+       mutable MathMetricsInfo size_;
 };
 
 std::ostream & operator<<(std::ostream & os, MathXArray const & ar);