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"
33 bool isBoundary(Buffer
const &, Paragraph
const & par
,
36 bool isBoundary(Buffer
const &, Paragraph
const & par
,
37 pos_type pos
, Font
const & font
) const;
39 pos_type
log2vis(pos_type pos
) const;
40 /** Maps positions in the logical string to positions
43 pos_type
vis2log(pos_type pos
) const;
45 pos_type
level(pos_type pos
) const;
47 bool inRange(pos_type pos
) const;
49 bool same_direction() const;
51 void computeTables(Paragraph
const & par
,
52 Buffer
const &, Row
const & row
);
57 std::vector
<pos_type
> log2vis_list_
;
58 /** Maps positions in the visual string to positions
61 std::vector
<pos_type
> vis2log_list_
;
63 std::vector
<pos_type
> levels_
;
70 /// Should interpretation of the arrow keys be reversed?
71 bool reverseDirectionNeeded(Cursor
const & cur
);
73 /// Is current paragraph in RTL mode?
74 bool isWithinRtlParagraph(Cursor
const & cur
);