X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;ds=sidebyside;f=src%2FTextMetrics.h;h=ae99490955f948a180dcbd24c6a74ed0dd98cade;hb=b28599f3f7ed37f6bf79aeb0938ce61e1ebab5f5;hp=2f6181d0b0d91592d92198f0112473e5d83dd001;hpb=01f0ab64a76a422ad7a7b916f3564b37e8feab94;p=lyx.git diff --git a/src/TextMetrics.h b/src/TextMetrics.h index 2f6181d0b0..ae99490955 100644 --- a/src/TextMetrics.h +++ b/src/TextMetrics.h @@ -62,6 +62,11 @@ public: /// 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 @@ -94,6 +99,8 @@ public: 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; } @@ -117,6 +124,15 @@ 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; @@ -179,7 +195,9 @@ public: 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(). @@ -213,15 +231,6 @@ public: /// \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;