]> git.lyx.org Git - lyx.git/blobdiff - src/lyxrow.h
The "I want this in now" patch.
[lyx.git] / src / lyxrow.h
index d239416068410b13d55e2e5967959b9e8b598aeb..7a81db1b2f6ce2c5aa0a190ab757b9c662f05a20 100644 (file)
 #ifndef LYXROW_H
 #define LYXROW_H
 
+#include "ParagraphList.h"
 #include "support/types.h"
 
-class Paragraph;
-
 ///
 class Row {
 public:
        ///
        Row();
        ///
-       Row(Paragraph * pa, lyx::pos_type po);
+       Row(ParagraphList::iterator pit, lyx::pos_type po);
        ///
-       void par(Paragraph * p);
+       void par(ParagraphList::iterator pit);
        ///
-       Paragraph * par();
+       ParagraphList::iterator par();
        ///
-       Paragraph * par() const;
+       ParagraphList::iterator par() const;
        ///
        void pos(lyx::pos_type p);
        ///
@@ -62,9 +61,13 @@ public:
        unsigned int baseline() const;
        /// return true if this row is the start of a paragraph
        bool isParStart() const;
+       /// return the cached y position
+       unsigned int y() const;
+       /// cache the y position
+       void y(unsigned int newy);
 private:
        ///
-       Paragraph * par_;
+       ParagraphList::iterator pit_;
        ///
        lyx::pos_type pos_;
        /** what is missing to a full row can be negative.
@@ -74,6 +77,8 @@ private:
        unsigned short height_;
        ///
        unsigned int width_;
+       /// cached y position
+       unsigned int y_;
        /// ascent from baseline including prelude space
        unsigned short ascent_of_text_;
        /// the top of the real text in the row