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 #include <X11/Xlib.h> // for Pixmap, GC
25 /** The class XScreen is used for the main Textbody.
26 Concretely, the screen is held in a pixmap. This pixmap is kept up to
27 date and used to optimize drawing on the screen.
28 This class also handles the drawing of the cursor and partly the selection.
30 class XScreen : public LyXScreen {
38 /// Sets the cursor color to LColor::cursor.
39 virtual void setCursorColor();
41 virtual void hideCursor();
43 virtual void showManualCursor(LyXText const *, int x, int y,
47 /** Draws the screen form textposition y. Uses as much of
48 the already printed pixmap as possible */
49 virtual void draw(LyXText *, BufferView *, unsigned int y);
53 virtual WorkArea & workarea() const { return owner_; }
55 /// Copies specified area of pixmap to screen
56 virtual void expose(int x, int y, int w, int h);