]> git.lyx.org Git - lyx.git/blobdiff - src/ParagraphMetrics.h
Fix text direction issue for InsetInfo in RTL context
[lyx.git] / src / ParagraphMetrics.h
index 63c9edb76eee13678a0559ce0fb81d413defd26b..63ed0f3cdf689bc6aecf3459c6430b065c228f2c 100644 (file)
@@ -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.
 #define PARAGRAPH_METRICS_H
 
 #include "Dimension.h"
-#include "Paragraph.h"
 #include "Row.h"
 
 #include <map>
+#include <vector>
 
 namespace lyx {
 
@@ -32,16 +32,22 @@ namespace lyx {
  */
 typedef std::vector<Row> 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() : position_(0), par_(0) {}
        /// The only useful constructor.
-       ParagraphMetrics(Paragraph const & par);
+       explicit ParagraphMetrics(Paragraph const & par);
 
        /// Copy operator.
        ParagraphMetrics & operator=(ParagraphMetrics const &);
@@ -55,7 +61,7 @@ public:
        ///
        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
@@ -71,9 +77,7 @@ public:
        /// The painter and others use this
        RowList const & rows() const { return rows_; }
        ///
-       int rightMargin(Buffer const & buffer) const;
-       ///
-       int singleWidth(pos_type pos, Font const & Font) const;
+       int rightMargin(BufferView const & bv) const;
 
        /// dump some information to lyxerr
        void dump() const;
@@ -81,18 +85,10 @@ 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);
 
-       ///
-       Dimension const & insetDimension(Inset const * inset) const;
-       ///
-       void setInsetDimension(Inset const *, Dimension const & dim);
-
 private:
        ///
        int position_;
@@ -102,10 +98,6 @@ private:
        Dimension dim_;
        ///
        Paragraph const * par_;
-       
-       typedef std::map<Inset const *, Dimension> InsetDims;
-       ///
-       InsetDims inset_dims_;
 };
 
 } // namespace lyx