X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2FParagraphMetrics.h;h=0d186f158bc217917d0d563d47a7592871892061;hb=9ec80456feed688440360e0a493cbf537c4fe5f9;hp=5cf587f788820ee430d7cf87dece138fc3a34818;hpb=0d3a63065070da129d3f930a126dfbf75f1d947e;p=lyx.git diff --git a/src/ParagraphMetrics.h b/src/ParagraphMetrics.h index 5cf587f788..0d186f158b 100644 --- a/src/ParagraphMetrics.h +++ b/src/ParagraphMetrics.h @@ -5,10 +5,10 @@ * Licence details can be found in the file COPYING. * * \author Asger Alstrup - * \author Lars Gullik Bjønnes + * \author Lars Gullik Bjønnes * \author John Levon - * \author André Pönitz - * \author Jürgen Vigna + * \author André Pönitz + * \author Jürgen Vigna * \author Abdelrazak Younes * * Full author contact details are available in file CREDITS. @@ -18,42 +18,32 @@ #define PARAGRAPH_METRICS_H #include "Dimension.h" -#include "Paragraph.h" #include "Row.h" namespace lyx { -/** - * Each paragraph is broken up into a number of rows on the screen. - * This is a list of such on-screen rows, ordered from the top row - * downwards. - */ -typedef std::vector RowList; +class BufferView; +class Paragraph; -class MetricsInfo; -class PainterInfo; - -/// Helper class for Paragraph Metrics. -class ParagraphMetrics { +/// Helper class for paragraph metrics. +class ParagraphMetrics { public: /// Default constructor (only here for STL containers). - ParagraphMetrics(): par_(0) {}; + ParagraphMetrics() {} /// The only useful constructor. - ParagraphMetrics(Paragraph const & par); + explicit ParagraphMetrics(Paragraph const & par); /// Copy operator. ParagraphMetrics & operator=(ParagraphMetrics const &); void reset(Paragraph const & par); - /// - Row & getRow(pos_type pos, bool boundary); /// Row const & getRow(pos_type pos, bool boundary) const; /// size_t pos2row(pos_type pos) const; - /// BufferView::redoParagraph updates this + /// TextMetrics::redoParagraph updates this Dimension const & dim() const { return dim_; } Dimension & dim() { return dim_; } /// total height of paragraph @@ -69,9 +59,9 @@ public: /// The painter and others use this RowList const & rows() const { return rows_; } /// - int rightMargin(Buffer const & buffer) const; + int rightMargin(BufferView const & bv) const; /// - int singleWidth(pos_type pos, Font const & Font) const; + Paragraph const & par() const { return *par_; } /// dump some information to lyxerr void dump() const; @@ -79,16 +69,23 @@ public: /// bool hfillExpansion(Row const & row, pos_type pos) const; - /// - void computeRowSignature(Row &, BufferParams const & bparams); + /// + int position() const { return position_; } + void setPosition(int position); + /// + int id() const { return id_; } private: + /// + int position_ = 0; + /// + int id_ = -1; /// mutable RowList rows_; /// cached dimensions of paragraph Dimension dim_; /// - Paragraph const * par_; + Paragraph const * par_ = nullptr; }; } // namespace lyx