X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2FParagraphMetrics.h;h=a100651957d0c4714c146bc3d7d655f11b383bd0;hb=55a3dd7b346d29a52ba305a4558e9e380ef50f47;hp=69ac74df417aa567bef66a8a8e841b059ca1ee87;hpb=6ce171eec85dd1ed275daa1c01294e7d4f964d80;p=lyx.git diff --git a/src/ParagraphMetrics.h b/src/ParagraphMetrics.h index 69ac74df41..a100651957 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,9 +18,11 @@ #define PARAGRAPH_METRICS_H #include "Dimension.h" -#include "Paragraph.h" #include "Row.h" +#include +#include + namespace lyx { /** @@ -30,16 +32,22 @@ namespace lyx { */ typedef std::vector RowList; +class Buffer; +class BufferView; +class BufferParams; +class Font; +class Inset; +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() : par_(0) {} /// The only useful constructor. - ParagraphMetrics(Paragraph const & par); + explicit ParagraphMetrics(Paragraph const & par); /// Copy operator. ParagraphMetrics & operator=(ParagraphMetrics const &); @@ -69,7 +77,7 @@ 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; @@ -80,12 +88,16 @@ public: bool hfillExpansion(Row const & row, pos_type pos) const; /// - void computeRowSignature(Row &, BufferParams const & bparams); + size_t computeRowSignature(Row const &, BufferParams const & bparams) const; /// int position() const { return position_; } void setPosition(int position); + /// + Dimension const & insetDimension(Inset const * inset) const; + /// + void setInsetDimension(Inset const *, Dimension const & dim); private: /// @@ -96,6 +108,10 @@ private: Dimension dim_; /// Paragraph const * par_; + + typedef std::map InsetDims; + /// + InsetDims inset_dims_; }; } // namespace lyx