bool changed() const { return changed_; }
///
void changed(bool c) const { changed_ = c; }
- /// 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;
///
bool selection() const;
- /// Set the selection begin and end and whether the left and/or right
- /// margins are selected.
+ /**
+ * Set the selection begin and end and whether the left and/or
+ * right margins are selected.
+ * This is const because we update the selection status only at
+ * draw() time.
+ */
void setSelectionAndMargins(DocIterator const & beg,
DocIterator const & end) const;
+ /// no selection on this row.
+ void clearSelectionAndMargins() const;
///
void pit(pit_type p) { pit_ = p; }
bool flushed() const { return flushed_; }
///
- Dimension const & dimension() const { return dim_; }
+ Dimension const & dim() const { return dim_; }
///
- Dimension & dimension() { return dim_; }
+ Dimension & dim() { return dim_; }
///
int height() const { return dim_.height(); }
/// The width of the row, including the left margin, but not the right one.
///
int descent() const { return dim_.des; }
+ ///
+ Dimension const & contents_dim() const { return contents_dim_; }
+ ///
+ Dimension & contents_dim() { return contents_dim_; }
+
/// The offset of the left-most cursor position on the row
int left_x() const;
/// The offset of the right-most cursor position on the row
Element const & back() const { return elements_.back(); }
/// remove last element
void pop_back();
- /// remove all row elements
- void clear() { elements_.clear(); }
/**
* if row width is too large, remove all elements after last
* separator and update endpos if necessary. If all that
* \param beg
* \param end
*/
- bool isMarginSelected(bool left_margin, DocIterator const & beg,
+ bool isMarginSelected(bool left, DocIterator const & beg,
DocIterator const & end) const;
+ /// Set the selection begin and end.
+ void setSelection(pos_type sel_beg, pos_type sel_end) const;
/**
* Returns true if a char or string with font \c f and change
bool flushed_;
/// Row dimension.
Dimension dim_;
+ /// Row contents dimension. Does not contain the space above/below row.
+ Dimension contents_dim_;
/// true when this row lives in a right-to-left paragraph
bool rtl_;
/// true when a changebar should be drawn in the margin