]> git.lyx.org Git - lyx.git/blobdiff - src/ParagraphMetrics.h
GuiWrap: make the optional options really optional by checkboxes in the dialog
[lyx.git] / src / ParagraphMetrics.h
index 42f6d8720472fb629b4ba0705080fa7696e7a4ee..63c9edb76eee13678a0559ce0fb81d413defd26b 100644 (file)
@@ -21,6 +21,8 @@
 #include "Paragraph.h"
 #include "Row.h"
 
+#include <map>
+
 namespace lyx {
 
 /**
@@ -57,13 +59,13 @@ public:
        Dimension const & dim() const { return dim_; }
        Dimension & dim() { return dim_; }
        /// total height of paragraph
-       unsigned int height() const { return dim_.height(); }
+       int height() const { return dim_.height(); }
        /// total width of paragraph, may differ from workwidth
-       unsigned int width() const { return dim_.width(); }
+       int width() const { return dim_.width(); }
        /// ascend of paragraph above baseline
-       unsigned int ascent() const { return dim_.ascent(); }
+       int ascent() const { return dim_.ascent(); }
        /// descend of paragraph below baseline
-       unsigned int descent() const { return dim_.descent(); }
+       int descent() const { return dim_.descent(); }
        /// Text updates the rows using this access point
        RowList & rows() { return rows_; }
        /// The painter and others use this
@@ -82,13 +84,28 @@ public:
        /// 
        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_;
        ///
        mutable RowList rows_;
        /// cached dimensions of paragraph
        Dimension dim_;
        ///
        Paragraph const * par_;
+       
+       typedef std::map<Inset const *, Dimension> InsetDims;
+       ///
+       InsetDims inset_dims_;
 };
 
 } // namespace lyx