void partialRebreak();
/// a full rebreak of the whole text
void fullRebreak();
+ /// rebuild RowList cache
+ void rebuild(int maxwidth);
///
RowList::iterator need_break_row;
/// 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);
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_;
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
/** 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: