]> git.lyx.org Git - lyx.git/blobdiff - src/ParagraphMetrics.h
adjust
[lyx.git] / src / ParagraphMetrics.h
index 69ac74df417aa567bef66a8a8e841b059ca1ee87..43dbd747487afb505d5b42c6ded8626e4a9a9c24 100644 (file)
 #define PARAGRAPH_METRICS_H
 
 #include "Dimension.h"
-#include "Paragraph.h"
 #include "Row.h"
 
+#include <map>
+#include <vector>
+
 namespace lyx {
 
 /**
@@ -30,16 +32,21 @@ namespace lyx {
  */
 typedef std::vector<Row> RowList;
 
+class Buffer;
+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 &);
@@ -86,6 +93,10 @@ public:
        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 +107,10 @@ private:
        Dimension dim_;
        ///
        Paragraph const * par_;
+       
+       typedef std::map<Inset const *, Dimension> InsetDims;
+       ///
+       InsetDims inset_dims_;
 };
 
 } // namespace lyx