/// just selects the word the cursor is in
void selectWord(Cursor & cur, word_location loc);
- /// what type of change operation to make
+ /// what type of change operation to make
enum ChangeOp {
ACCEPT,
REJECT
/// FIXME: cleanup to use BufferView::getCoveringInset() and
/// setCursorFromCoordinates() instead of checkInsetHit().
Inset * editXY(Cursor & cur, int x, int y);
-
- /// Move cursor one line up.
- /**
- * Returns true if an update is needed after the move.
- */
- /// FIXME: move to TextMetrics.
- bool cursorUp(Cursor & cur);
- /// Move cursor one line down.
- /**
- * Returns true if an update is needed after the move.
- */
- /// FIXME: move to TextMetrics.
- bool cursorDown(Cursor & cur);
+
/// Move cursor one position left
/**
* Returns true if an update is needed after the move.
docstring getPossibleLabel(Cursor & cur) const;
/// is this paragraph right-to-left?
bool isRTL(Buffer const &, Paragraph const & par) const;
+ /// is this position in the paragraph right-to-left?
+ bool isRTL(Buffer const & buffer, CursorSlice const & sl, bool boundary) const;
+ /// is between pos-1 and pos an RTL<->LTR boundary?
+ bool isRTLBoundary(Buffer const & buffer, Paragraph const & par,
+ pos_type pos) const;
+ /// would be a RTL<->LTR boundary between pos and the given font?
+ bool isRTLBoundary(Buffer const & buffer, Paragraph const & par,
+ pos_type pos, Font const & font) const;
+
///
bool checkAndActivateInset(Cursor & cur, bool front);
///
int background_color_;
- ///
- mutable Bidi bidi;
///
ParagraphList pars_;
void charInserted();
/// set 'number' font property
void number(Cursor & cur);
+ /// draw selection for a single row
+ void drawRowSelection(PainterInfo & pi, int x, Row const & row,
+ DocIterator const & beg, DocIterator const & end,
+ bool drawOnBegMargin, bool drawOnEndMargin) const;
/// paste plain text at current cursor.
/// \param str string to paste