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);
34 void redoCurrentBuffer();
36 int resizeCurrentBuffer();
40 void update(signed char f);
42 void smallUpdate(signed char f);
45 /// Update pixmap of screen
48 void workAreaExpose();
50 void updateScrollbar();
52 void scrollCB(double value);
54 void downCB(long time, int button);
56 void scrollUpOnePage();
58 void scrollDownOnePage();
62 Inset * checkInsetHit(int & x, int & y, unsigned int button);
64 int scrollUp(long time);
66 int scrollDown(long time);
68 void workAreaMotionNotify(int x, int y, unsigned int state);
70 void workAreaButtonPress(int x, int y, unsigned int button);
72 void workAreaButtonRelease(int x, int y, unsigned int button);
74 void workAreaSelectionNotify(Window win, XEvent * event);
76 void doubleClick(int x, int y, unsigned int button);
78 void tripleClick(int x, int y, unsigned int button);
86 void cursorPrevious();
90 bool available() const;
96 void restorePosition();
112 bool belowMouse() const;
118 void toggleSelection(bool = true);
132 long current_scrollbar_value;
136 bool work_area_focus;
138 FL_OBJECT * figinset_canvas;
140 FL_OBJECT * timer_cursor;
144 int last_click_x, last_click_y;
148 UpdateInset updatelist;
150 bool using_xterm_cursor;