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.
18 #include <X11/Xlib.h> // for Pixmap, GC
22 /** The class XScreen is used for the main Textbody.
23 Concretely, the screen is held in a pixmap. This pixmap is kept up to
24 date and used to optimize drawing on the screen.
25 This class also handles the drawing of the cursor and partly the selection.
27 class XScreen : public LyXScreen {
35 /// Sets the cursor color to LColor::cursor.
36 virtual void setCursorColor();
40 virtual WorkArea & workarea() const { return owner_; }
42 /// Copies specified area of pixmap to screen
43 virtual void expose(int x, int y, int w, int h);
45 /// paint the cursor and store the background
46 virtual void showCursor(int x, int y, int h, Cursor_Shape shape);
49 virtual void removeCursor();
55 /// backing pixmap for cursor
56 Pixmap nocursor_pixmap_;
57 /// x of backing pixmap
59 /// y of backing pixmap
61 /// width of backing pixmap
63 /// height of backing pixmap