///
void newParMetricsUp();
+ /// The "nodraw" drawing stage for one single paragraph: set the
+ /// positions of the insets contained this paragraph in metrics
+ /// cache. Related to BufferView::updatePosCache.
+ void updatePosCache(pit_type pit) const;
+
/// Gets the fully instantiated font at a given position in a paragraph
/// Basically the same routine as Paragraph::getFont() in Paragraph.cpp.
/// The difference is that this one is used for displaying, and thus we
bool redoParagraph(pit_type const pit);
/// Clear cache of paragraph metrics
void clear() { par_metrics_.clear(); }
+ /// Is cache of paragraph metrics empty ?
+ bool empty() const { return par_metrics_.empty(); }
///
int ascent() const { return dim_.asc; }
///
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;
that is completely visible
\param up whether we are going up or down (only used when
assert_in_view is true
- \retval inset is non-null if the cursor is positionned inside
+ \retval inset is null if the cursor is positioned over normal
+ text in the current Text object. Otherwise it is the inset
+ that the cursor points to, like for Inset::editXY.
*/
/// FIXME: cleanup to use BufferView::getCoveringInset() and
/// setCursorFromCoordinates() instead of checkInsetHit().
/// x,y are screen coordinates
void setCursorFromCoordinates(Cursor & cur, int x, int y);
- /// Helper function: find row element that contains pos, and
- /// compute x offset.
- Row::const_iterator const
- findRowElement(Row const & row, pos_type const pos,
- bool const boundary, double & x) const;
-
///
int cursorX(CursorSlice const & cursor, bool boundary) const;
///
/// \sa BufferView::getCoveringInset() to get the innermost inset.
Inset * checkInsetHit(int x, int y);
- /**
- * 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(int max_width, pit_type pit, pos_type pos) const;
- int leftMargin(int max_width, pit_type pit) const;
-
/// calculates the position of a completion popup
void completionPosAndDim(Cursor const & cur, int & x, int & y,
Dimension & dim) const;