]> git.lyx.org Git - lyx.git/blobdiff - src/lyxtext.h
two-phase-drawing for InsetText & InsetTabular
[lyx.git] / src / lyxtext.h
index c8e42137576c475df537c49c3b62efd50dd71751..b7249fed6f59f8905036ce54047c2452d76116df 100644 (file)
@@ -163,6 +163,8 @@ public:
        void partialRebreak();
        /// a full rebreak of the whole text
        void fullRebreak();
+       /// rebuild RowList cache
+       void rebuild(int maxwidth);
 
        ///
        RowList::iterator need_break_row;
@@ -170,11 +172,8 @@ public:
        /// clear any pending paints
        void clearPaint();
 
-       /// Mark position y as the starting point for a repaint
-       void postPaint(int start_y);
-
-       /// Mark the given row at position y as needing a repaint.
-       void postRowPaint(RowList::iterator rit, int start_y);
+       /// submit repaint request
+       void postPaint();
 
        ///
        Inset::RESULT dispatch(FuncRequest const & cmd);
@@ -192,14 +191,6 @@ public:
        bool needRefresh() const;
 
 private:
-       /**
-        * The pixel y position from which to repaint the screen.
-        * The position is absolute along the height of outermost
-        * lyxtext (I think). If need_refresh_ is true
-        * repaints use this as a starting point (if it's within
-        * the viewable portion of the lyxtext).
-        */
-       int refresh_y;
        // do we need a refresh?
        bool need_refresh_;
 
@@ -216,6 +207,13 @@ public:
        RowList::iterator getRow(LyXCursor const & cursor) const;
        /// convenience
        RowList::iterator cursorRow() const;
+       /**
+        * Return the next row, when cursor is at the end of the
+        * previous row, for insets that take a full row.
+        *
+        * FIXME: explain why we need this ? especially for y...
+        */
+       RowList::iterator cursorIRow() const;
 
        /** returns a pointer to the row near the specified y-coordinate
          (relative to the whole text). y is set to the real beginning
@@ -497,10 +495,10 @@ public:
 
        /** this calculates the specified parameters. needed when setting
         * the cursor and when creating a visible row */
-       void prepareToPrint(RowList::iterator row, float & x,
-                           float & fill_separator,
-                           float & fill_hfill,
-                           float & fill_label_hfill,
+       void prepareToPrint(RowList::iterator row, int & x,
+                           int & fill_separator,
+                           int & fill_hfill,
+                           int & fill_label_hfill,
                            bool bidi = true) const;
 
 private: