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();
38 virtual void hideCursor();
40 virtual void showManualCursor(LyXText const *, int x, int y,
44 /** Draws the screen form textposition y. Uses as much of
45 the already printed pixmap as possible */
46 virtual void draw(LyXText *, BufferView *, unsigned int y);
50 virtual WorkArea & workarea() const { return owner_; }
52 /// Copies specified area of pixmap to screen
53 virtual void expose(int x, int y, int w, int h);