]> git.lyx.org Git - lyx.git/blobdiff - src/lyxrow.h
more cursor dispatch
[lyx.git] / src / lyxrow.h
index b1612974e8d60c6f28151fb3f7f68e609f5d6530..56f3430e2650db865636b106fa32b91bb1ad6852 100644 (file)
@@ -7,7 +7,7 @@
  * \author Matthias Ettrich
  * \author Lars Gullik Bjønnes
  *
- * Full author contact details are available in file CREDITS
+ * Full author contact details are available in file CREDITS.
  *
  * Metrics for an on-screen text row.
  */
@@ -29,21 +29,25 @@ public:
        ///
        lyx::pos_type pos() const;
        ///
+       void endpos(lyx::pos_type p);
+       ///
+       lyx::pos_type endpos() const;
+       ///
        void fill(int f);
        ///
        int fill() const;
        ///
-       void height(unsigned short h);
+       void height(unsigned int h) { height_ = h; }
        ///
-       unsigned short height() const;
+       unsigned int height() const { return height_; }
        ///
        void width(unsigned int w);
        ///
        unsigned int width() const;
        ///
-       void ascent_of_text(unsigned short a);
+       void ascent_of_text(unsigned int a);
        ///
-       unsigned short ascent_of_text() const;
+       unsigned int ascent_of_text() const;
        ///
        void top_of_text(unsigned int top);
        ///
@@ -55,29 +59,55 @@ public:
        /// return true if this row is the start of a paragraph
        bool isParStart() const;
        /// return the cached y position
-       unsigned int y() const;
+       unsigned int y_offset() const { return y_offset_; }
        /// cache the y position
-       void y(unsigned int newy);
+       void y_offset(unsigned int newy) { y_offset_ = newy; }
+       ///
+       float x() const;
+       ///
+       void x(float);
+       ///
+       float fill_separator() const;
+       ///
+       void fill_separator(float);
+       ///
+       float fill_hfill() const;
+       ///
+       void fill_hfill(float);
+       ///
+       float fill_label_hfill() const;
+       ///
+       void fill_label_hfill(float);
        /// current debugging only
        void dump(const char * = "") const;
 private:
-       ///
+       /// first pos covered by this row
        lyx::pos_type pos_;
+       /// one behind last pos covered by this row
+       lyx::pos_type end_;
        /** what is missing to a full row. Can be negative.
          Needed for hfills, flushright, block etc. */
        mutable int fill_;
        ///
-       unsigned short height_;
+       unsigned int height_;
        ///
        unsigned int width_;
        /// cached y position
-       unsigned int y_;
+       unsigned int y_offset_;
        /// ascent from baseline including prelude space
        unsigned short ascent_of_text_;
        /// the top of the real text in the row
        unsigned int top_of_text_;
        ///
        unsigned int baseline_;
+       /// offet from left border
+       float x_;
+       ///
+       float fill_separator_;
+       ///
+       float fill_hfill_;
+       ///
+       float fill_label_hfill_;
 };
 
 #endif