3 #ifndef BUFFERVIEW_PIMPL_H
4 #define BUFFERVIEW_PIMPL_H
6 #include "BufferView.h"
7 #include "UpdateInset.h"
18 struct BufferView::Pimpl {
19 Pimpl(BufferView * i, LyXView * o,
20 int xpos, int ypos, int width, int height);
24 void buffer(Buffer *);
26 void resize(int xpos, int ypos, int width, int height);
31 /// Return true if the cursor was fitted.
34 void redoCurrentBuffer();
36 int resizeCurrentBuffer();
40 void update(signed char f);
43 /// Update pixmap of screen
46 void workAreaExpose();
48 void updateScrollbar();
50 void scrollCB(double value);
54 Inset * checkInsetHit(int & x, int & y, unsigned int button);
56 int scrollUp(long time);
58 int scrollDown(long time);
60 void workAreaMotionNotify(int x, int y, unsigned int state);
62 void workAreaButtonPress(int x, int y, unsigned int button);
64 void workAreaButtonRelease(int x, int y, unsigned int button);
66 void workAreaSelectionNotify(Window win, XEvent * event);
68 void doubleClick(int x, int y, unsigned int button);
70 void tripleClick(int x, int y, unsigned int button);
78 void cursorPrevious();
82 bool available() const;
88 void restorePosition();
104 bool belowMouse() const;
110 void toggleSelection(bool = true);
124 long current_scrollbar_value;
128 bool work_area_focus;
130 FL_OBJECT * figinset_canvas;
132 FL_OBJECT * timer_cursor;
136 int last_click_x, last_click_y;
140 UpdateInset updatelist;
142 bool using_xterm_cursor;