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 void smallUpdate(signed char f);
47 /// Update pixmap of screen
50 void workAreaExpose();
52 void updateScrollbar();
54 void scrollCB(double value);
57 void downCB(long time, int button);
61 void scrollUpOnePage();
65 void scrollDownOnePage();
70 Inset * checkInsetHit(int & x, int & y, unsigned int button);
72 int scrollUp(long time);
74 int scrollDown(long time);
76 void workAreaMotionNotify(int x, int y, unsigned int state);
78 void workAreaButtonPress(int x, int y, unsigned int button);
80 void workAreaButtonRelease(int x, int y, unsigned int button);
82 void workAreaSelectionNotify(Window win, XEvent * event);
84 void doubleClick(int x, int y, unsigned int button);
86 void tripleClick(int x, int y, unsigned int button);
94 void cursorPrevious();
98 bool available() const;
104 void restorePosition();
120 bool belowMouse() const;
126 void toggleSelection(bool = true);
140 long current_scrollbar_value;
144 bool work_area_focus;
146 FL_OBJECT * figinset_canvas;
148 FL_OBJECT * timer_cursor;
152 int last_click_x, last_click_y;
156 UpdateInset updatelist;
158 bool using_xterm_cursor;