]> git.lyx.org Git - lyx.git/blobdiff - src/TextMetrics.h
Try to use the right width for math symbols
[lyx.git] / src / TextMetrics.h
index b370b1e3a3b0e950af00630c9aeee1a96442c850..6484967fe08d840b96f1924fe7377a417e9a3701 100644 (file)
@@ -45,10 +45,9 @@ public:
        ///
        bool contains(pit_type pit) const;
        ///
-       pit_type firstPit() const;
+       std::pair<pit_type, ParagraphMetrics const *> first() const;
        ///
-       pit_type lastPit() const;
-
+       std::pair<pit_type, ParagraphMetrics const *> last() const;
        /// is this row the last in the text?
        bool isLastRow(Row const & row) const;
        /// is this row the first in the text?
@@ -61,9 +60,11 @@ public:
        ///
        Point const & origin() const { return origin_; }
 
-
        ///
        ParagraphMetrics const & parMetrics(pit_type) const;
+       ///
+       ParagraphMetrics & parMetrics(pit_type);
+
        ///
        void newParMetricsDown();
        ///
@@ -122,16 +123,19 @@ public:
        /// current text height.
        int height() const { return dim_.height(); }
 
+       /**
+        * Returns the left beginning of the text.
+        * This information cannot be taken from the layout object, because
+        * in LaTeX the beginning of the text fits in some cases
+        * (for example sections) exactly the label-width.
+        */
+       int leftMargin(pit_type pit, pos_type pos) const;
+       int leftMargin(pit_type pit) const;
+
        ///
        int rightMargin(ParagraphMetrics const & pm) const;
-       ///
        int rightMargin(pit_type const pit) const;
 
-       /// position of the top of the first paragraph.
-       int topPosition() const;
-       /// position of the bottom of the last paragraph.
-       int bottomPosition() const;
-
        ///
        void draw(PainterInfo & pi, int x, int y) const;
 
@@ -141,15 +145,6 @@ private:
        ///
        ParagraphMetrics & parMetrics(pit_type, bool redo_paragraph);
 
-       /**
-        * Returns the left beginning of the text.
-        * This information cannot be taken from the layout object, because
-        * in LaTeX the beginning of the text fits in some cases
-        * (for example sections) exactly the label-width.
-        */
-       int leftMargin(pit_type pit, pos_type pos) const;
-       int leftMargin(pit_type pit) const;
-
        /// the minimum space a manual label needs on the screen in pixels
        int labelFill(Row const & row) const;
 
@@ -247,7 +242,6 @@ public:
                Dimension & dim) const;
 
 private:
-       friend class BufferView;
 
        /// The BufferView owner.
        BufferView * bv_;