4 * This file is part of LyX, the document processor.
5 * Licence details can be found in the file COPYING.
9 * Full author contact details are available in file CREDITS.
15 #include "support/types.h"
32 bool isBoundary(Buffer const &, Paragraph const & par,
35 bool isBoundary(Buffer const &, Paragraph const & par,
36 pos_type pos, Font const & font) const;
38 pos_type log2vis(pos_type pos) const;
39 /** Maps positions in the logical string to positions
42 pos_type vis2log(pos_type pos) const;
44 pos_type level(pos_type pos) const;
46 bool inRange(pos_type pos) const;
48 bool same_direction() const;
50 void computeTables(Paragraph const & par,
51 Buffer const &, Row const & row);
56 std::vector<pos_type> log2vis_list_;
57 /** Maps positions in the visual string to positions
60 std::vector<pos_type> vis2log_list_;
62 std::vector<pos_type> levels_;
69 /// Should interpretation of the arrow keys be reversed?
70 bool reverseDirectionNeeded(Cursor const & cur);
72 /// Is current paragraph in RTL mode?
73 bool isWithinRtlParagraph(Cursor const & cur);