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.
22 * LyXScreen - document rendering management
24 * This class is used to manage the on-screen rendering inside the
25 * work area; it is responsible for deciding which LyXText rows
28 * This class will arrange for LyXText to paint onto a pixmap
29 * provided by the WorkArea widget.
31 * The blinking cursor is also handled here.
39 /// redraw the screen, without using existing pixmap
40 virtual void redraw(BufferView & bv);
43 * fitCursor - fit the cursor onto the work area
44 * @param bv the bufferview
45 * @return true if a change was necessary
47 * Scrolls the screen so that the cursor is visible
49 virtual bool fitCursor(BufferView *);
51 /// hide the visible cursor, if it is visible
54 /// show the cursor if it is not visible
55 void showCursor(BufferView & bv);
57 /// toggle the cursor's visibility
58 void toggleCursor(BufferView & bv);
61 /// cause the display of the given area of the work area
62 virtual void expose(int x, int y, int w, int h) = 0;
65 virtual WorkArea & workarea() const = 0;
67 /// types of cursor in work area
71 /// L-shape for locked insets of a different language
73 /// reverse L-shape for RTL text
77 /// paint the cursor and store the background
78 virtual void showCursor(int x, int y, int h, Cursor_Shape shape) = 0;
81 virtual void removeCursor() = 0;
84 /// grey out (no buffer)
87 /// is the cursor currently displayed
90 /// is the screen displaying text or the splash screen?