Row();
///
Row(pos_type pos);
+ ///
+ bool changed() const { return changed_; }
+ ///
+ void setChanged(bool c) { changed_ = c; }
+ ///
+ void setCrc(size_type crc) const;
+ /// Set the selection begin and end.
+ /**
+ * This is const because we update the selection status only at draw()
+ * time.
+ */
+ void setSelection(pos_type sel_beg, pos_type sel_end) const;
+
///
void pos(pos_type p);
///
- pos_type pos() const;
+ pos_type pos() const { return pos_; }
///
void endpos(pos_type p);
///
- pos_type endpos() const;
+ pos_type endpos() const { return end_; }
+ ///
+ void setDimension(Dimension const & dim);
///
Dimension const & dimension() const { return dim_; }
///
int height() const { return dim_.height(); }
///
- void width(int w) { dim_.wid = w; }
- ///
int width() const { return dim_.wid; }
///
- void ascent(int a) { dim_.asc = a; }
- ///
int ascent() const { return dim_.asc; }
///
- void descent(int d) { dim_.des = d; }
- ///
int descent() const { return dim_.des; }
+
/// current debugging only
- void dump(const char * = "") const;
+ void dump(char const * = "") const;
+ /// width of a separator (i.e. space)
+ double separator;
+ /// width of hfills in the label
+ double label_hfill;
+ /// the x position of the row
+ double x;
+ ///
+ mutable pos_type sel_beg;
+ ///
+ mutable pos_type sel_end;
private:
+ /// has the Row appearance changed since last drawing?
+ mutable bool changed_;
+ /// CRC of row contents.
+ mutable size_type crc_;
/// first pos covered by this row
pos_type pos_;
/// one behind last pos covered by this row
};
-class RowMetrics {
-public:
- RowMetrics();
- /// width of a separator (i.e. space)
- double separator;
- /// width of hfills in the body
- double hfill;
- /// width of hfills in the label
- double label_hfill;
- /// the x position of the row
- double x;
-};
-
-
-
} // namespace lyx
#endif