3 #ifndef BUFFERVIEW_PIMPL_H
4 #define BUFFERVIEW_PIMPL_H
6 #include "BufferView.h"
7 #include "UpdateInset.h"
19 #ifdef SIGC_CXX_NAMESPACES
24 struct BufferView::Pimpl : public Object {
26 Pimpl(BufferView * i, LyXView * o,
27 int xpos, int ypos, int width, int height);
31 void buffer(Buffer *);
33 void resize(int xpos, int ypos, int width, int height);
38 /// Return true if the cursor was fitted.
41 void redoCurrentBuffer();
43 int resizeCurrentBuffer();
47 void update(BufferView::UpdateCodes);
50 /// Update pixmap of screen
53 void workAreaExpose();
55 void updateScrollbar();
57 void scrollCB(double value);
59 Inset * checkInsetHit(LyXText *, int & x, int & y,
62 int scrollUp(long time);
64 int scrollDown(long time);
66 void workAreaMotionNotify(int x, int y, unsigned int state);
68 void workAreaButtonPress(int x, int y, unsigned int button);
70 void workAreaButtonRelease(int x, int y, unsigned int button);
72 void doubleClick(int x, int y, unsigned int button);
74 void tripleClick(int x, int y, unsigned int button);
82 void cursorPrevious();
86 bool available() const;
92 void restorePosition();
94 bool NoSavedPositions();
110 bool belowMouse() const;
116 void toggleSelection(bool = true);
130 long current_scrollbar_value;
132 FL_OBJECT * figinset_canvas;
134 Timeout cursor_timeout;
138 int last_click_x, last_click_y;
140 WorkArea * workarea_;
142 UpdateInset updatelist;
144 void pasteClipboard(bool asPara);
146 void stuffClipboard(string const &) const;
149 bool using_xterm_cursor;