X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2FRow.h;h=a3afad4c1164a3f646f36f0753e8615844561194;hb=a49c4e3454e428eeb0f2678eb9db3d086b2b789c;hp=e93ea8735d8806a8c8479933bf0b1569e4f45589;hpb=378c7af432186b6b6a905dbe72690a587757124d;p=lyx.git diff --git a/src/Row.h b/src/Row.h index e93ea8735d..a3afad4c11 100644 --- a/src/Row.h +++ b/src/Row.h @@ -33,34 +33,58 @@ public: 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 @@ -70,21 +94,6 @@ private: }; -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