4 * This file is part of LyX, the document processor.
5 * Licence details can be found in the file COPYING.
10 * Full author contact details are available in file CREDITS.
21 class ViewMetricsInfo;
25 * LyXScreen - document rendering management
27 * This class is used to manage the on-screen rendering inside the
28 * work area; it is responsible for deciding which LyXText rows
31 * This class will arrange for LyXText to paint onto a pixmap
32 * provided by the WorkArea widget.
34 * The blinking cursor is also handled here.
42 /// redraw the screen, without using existing pixmap
43 virtual void redraw(BufferView & bv, ViewMetricsInfo const & vi);
45 /// grey out (no buffer)
48 /// hide the visible cursor, if it is visible
51 /// show the cursor if it is not visible
52 void showCursor(BufferView & bv);
54 /// toggle the cursor's visibility
55 void toggleCursor(BufferView & bv);
57 /// set cursor_visible_ to false in prep for re-display
62 /// cause the display of the given area of the work area
63 virtual void expose(int x, int y, int w, int h) = 0;
66 virtual WorkArea & workarea() const = 0;
68 /// types of cursor in work area
72 /// L-shape for locked insets of a different language
74 /// reverse L-shape for RTL text
78 /// paint the cursor and store the background
79 virtual void showCursor(int x, int y, int h, Cursor_Shape shape) = 0;
82 virtual void removeCursor() = 0;
86 void checkAndGreyOut();
91 /// is the cursor currently displayed