moved the 'moving window' logic into separate functions "startMove" "doMove" and "endMove"
This commit is contained in:
parent
ad7f61121c
commit
830e53f25c
2 changed files with 200 additions and 176 deletions
236
src/Window.cc
236
src/Window.cc
|
@ -2483,8 +2483,6 @@ void OpenboxWindow::buttonPressEvent(XButtonEvent *be) {
|
||||||
// alt + left/right click begins interactively moving/resizing the window
|
// alt + left/right click begins interactively moving/resizing the window
|
||||||
// when the mouse is moved
|
// when the mouse is moved
|
||||||
if (be->state == Mod1Mask && (be->button == 1 || be->button == 3)) {
|
if (be->state == Mod1Mask && (be->button == 1 || be->button == 3)) {
|
||||||
frame.grab_x = be->x_root - frame.x - frame.border_w;
|
|
||||||
frame.grab_y = be->y_root - frame.y - frame.border_w;
|
|
||||||
if (be->button == 3) {
|
if (be->button == 3) {
|
||||||
if (screen->getWindowZones() == 4 &&
|
if (screen->getWindowZones() == 4 &&
|
||||||
be->y < (signed) frame.height / 2) {
|
be->y < (signed) frame.height / 2) {
|
||||||
|
@ -2699,21 +2697,7 @@ void OpenboxWindow::buttonReleaseEvent(XButtonEvent *re) {
|
||||||
// when the window is being interactively moved, a button release stops the
|
// when the window is being interactively moved, a button release stops the
|
||||||
// move where it is
|
// move where it is
|
||||||
if (flags.moving) {
|
if (flags.moving) {
|
||||||
flags.moving = False;
|
endMove();
|
||||||
|
|
||||||
openbox.maskWindowEvents(0, (OpenboxWindow *) 0);
|
|
||||||
if (!screen->opaqueMove()) {
|
|
||||||
XDrawRectangle(display, screen->getRootWindow(), screen->getOpGC(),
|
|
||||||
frame.move_x, frame.move_y, frame.resize_w - 1,
|
|
||||||
frame.resize_h - 1);
|
|
||||||
|
|
||||||
configure(frame.move_x, frame.move_y, frame.width, frame.height);
|
|
||||||
openbox.ungrab();
|
|
||||||
} else {
|
|
||||||
configure(frame.x, frame.y, frame.width, frame.height);
|
|
||||||
}
|
|
||||||
screen->hideGeometry();
|
|
||||||
XUngrabPointer(display, CurrentTime);
|
|
||||||
// when the window is being interactively resized, a button release stops the
|
// when the window is being interactively resized, a button release stops the
|
||||||
// resizing
|
// resizing
|
||||||
} else if (flags.resizing) {
|
} else if (flags.resizing) {
|
||||||
|
@ -2745,101 +2729,137 @@ void OpenboxWindow::buttonReleaseEvent(XButtonEvent *re) {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void OpenboxWindow::startMove(int x, int y) {
|
||||||
|
ASSERT(!flags.moving);
|
||||||
|
|
||||||
|
XGrabPointer(display, frame.window, False, Button1MotionMask |
|
||||||
|
ButtonReleaseMask, GrabModeAsync, GrabModeAsync,
|
||||||
|
None, openbox.getMoveCursor(), CurrentTime);
|
||||||
|
|
||||||
|
if (windowmenu && windowmenu->isVisible())
|
||||||
|
windowmenu->hide();
|
||||||
|
|
||||||
|
flags.moving = True;
|
||||||
|
|
||||||
|
openbox.maskWindowEvents(client.window, this);
|
||||||
|
|
||||||
|
if (! screen->opaqueMove()) {
|
||||||
|
openbox.grab();
|
||||||
|
|
||||||
|
frame.move_x = frame.x;
|
||||||
|
frame.move_y = frame.y;
|
||||||
|
frame.resize_w = frame.width + (frame.border_w * 2);
|
||||||
|
frame.resize_h = ((flags.shaded) ? frame.title_h : frame.height) +
|
||||||
|
(frame.border_w * 2);
|
||||||
|
|
||||||
|
screen->showPosition(frame.x, frame.y);
|
||||||
|
|
||||||
|
XDrawRectangle(display, screen->getRootWindow(), screen->getOpGC(),
|
||||||
|
frame.move_x, frame.move_y,
|
||||||
|
frame.resize_w - 1, frame.resize_h - 1);
|
||||||
|
}
|
||||||
|
frame.grab_x = x - frame.x - frame.border_w;
|
||||||
|
frame.grab_y = y - frame.y - frame.border_w;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void OpenboxWindow::doMove(int x, int y) {
|
||||||
|
ASSERT(flags.moving);
|
||||||
|
|
||||||
|
int dx = x - frame.grab_x, dy = y - frame.grab_y;
|
||||||
|
|
||||||
|
dx -= frame.border_w;
|
||||||
|
dy -= frame.border_w;
|
||||||
|
|
||||||
|
int snap_distance = screen->edgeSnapThreshold();
|
||||||
|
// width/height of the snapping window
|
||||||
|
unsigned int snap_w = frame.width + (frame.border_w * 2);
|
||||||
|
unsigned int snap_h = area().h() + (frame.border_w * 2);
|
||||||
|
if (snap_distance) {
|
||||||
|
int drx = screen->size().w() - (dx + snap_w);
|
||||||
|
|
||||||
|
if (dx < drx && (dx > 0 && dx < snap_distance) ||
|
||||||
|
(dx < 0 && dx > -snap_distance) )
|
||||||
|
dx = 0;
|
||||||
|
else if ( (drx > 0 && drx < snap_distance) ||
|
||||||
|
(drx < 0 && drx > -snap_distance) )
|
||||||
|
dx = screen->size().w() - snap_w;
|
||||||
|
|
||||||
|
int dtty, dbby, dty, dby;
|
||||||
|
switch (screen->getToolbar()->placement()) {
|
||||||
|
case Toolbar::TopLeft:
|
||||||
|
case Toolbar::TopCenter:
|
||||||
|
case Toolbar::TopRight:
|
||||||
|
dtty = screen->getToolbar()->getExposedHeight() +
|
||||||
|
frame.border_w;
|
||||||
|
dbby = screen->size().h();
|
||||||
|
break;
|
||||||
|
|
||||||
|
default:
|
||||||
|
dtty = 0;
|
||||||
|
dbby = screen->getToolbar()->area().y();
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
dty = dy - dtty;
|
||||||
|
dby = dbby - (dy + snap_h);
|
||||||
|
|
||||||
|
if ( (dy > 0 && dty < snap_distance) ||
|
||||||
|
(dy < 0 && dty > -snap_distance) )
|
||||||
|
dy = dtty;
|
||||||
|
else if ( (dby > 0 && dby < snap_distance) ||
|
||||||
|
(dby < 0 && dby > -snap_distance) )
|
||||||
|
dy = dbby - snap_h;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (screen->opaqueMove()) {
|
||||||
|
configure(dx, dy, frame.width, frame.height);
|
||||||
|
} else {
|
||||||
|
XDrawRectangle(display, screen->getRootWindow(), screen->getOpGC(),
|
||||||
|
frame.move_x, frame.move_y, frame.resize_w - 1,
|
||||||
|
frame.resize_h - 1);
|
||||||
|
|
||||||
|
frame.move_x = dx;
|
||||||
|
frame.move_y = dy;
|
||||||
|
|
||||||
|
XDrawRectangle(display, screen->getRootWindow(), screen->getOpGC(),
|
||||||
|
frame.move_x, frame.move_y, frame.resize_w - 1,
|
||||||
|
frame.resize_h - 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
screen->showPosition(dx, dy);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void OpenboxWindow::endMove() {
|
||||||
|
ASSERT(flags.moving);
|
||||||
|
|
||||||
|
flags.moving = False;
|
||||||
|
|
||||||
|
openbox.maskWindowEvents(0, (OpenboxWindow *) 0);
|
||||||
|
if (!screen->opaqueMove()) {
|
||||||
|
XDrawRectangle(display, screen->getRootWindow(), screen->getOpGC(),
|
||||||
|
frame.move_x, frame.move_y, frame.resize_w - 1,
|
||||||
|
frame.resize_h - 1);
|
||||||
|
|
||||||
|
configure(frame.move_x, frame.move_y, frame.width, frame.height);
|
||||||
|
openbox.ungrab();
|
||||||
|
} else {
|
||||||
|
configure(frame.x, frame.y, frame.width, frame.height);
|
||||||
|
}
|
||||||
|
screen->hideGeometry();
|
||||||
|
XUngrabPointer(display, CurrentTime);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
void OpenboxWindow::motionNotifyEvent(XMotionEvent *me) {
|
void OpenboxWindow::motionNotifyEvent(XMotionEvent *me) {
|
||||||
if (!flags.resizing && (me->state & Button1Mask) && functions.move &&
|
if (!flags.resizing && (me->state & Button1Mask) && functions.move &&
|
||||||
(frame.title == me->window || frame.label == me->window ||
|
(frame.title == me->window || frame.label == me->window ||
|
||||||
frame.handle == me->window || frame.window == me->window)) {
|
frame.handle == me->window || frame.window == me->window)) {
|
||||||
if (! flags.moving) {
|
if (!flags.moving)
|
||||||
XGrabPointer(display, me->window, False, Button1MotionMask |
|
startMove(me->x_root, me->y_root);
|
||||||
ButtonReleaseMask, GrabModeAsync, GrabModeAsync,
|
else
|
||||||
None, openbox.getMoveCursor(), CurrentTime);
|
doMove(me->x_root, me->y_root);
|
||||||
|
|
||||||
if (windowmenu && windowmenu->isVisible())
|
|
||||||
windowmenu->hide();
|
|
||||||
|
|
||||||
flags.moving = True;
|
|
||||||
|
|
||||||
openbox.maskWindowEvents(client.window, this);
|
|
||||||
|
|
||||||
if (! screen->opaqueMove()) {
|
|
||||||
openbox.grab();
|
|
||||||
|
|
||||||
frame.move_x = frame.x;
|
|
||||||
frame.move_y = frame.y;
|
|
||||||
frame.resize_w = frame.width + (frame.border_w * 2);
|
|
||||||
frame.resize_h = ((flags.shaded) ? frame.title_h : frame.height) +
|
|
||||||
(frame.border_w * 2);
|
|
||||||
|
|
||||||
screen->showPosition(frame.x, frame.y);
|
|
||||||
|
|
||||||
XDrawRectangle(display, screen->getRootWindow(), screen->getOpGC(),
|
|
||||||
frame.move_x, frame.move_y,
|
|
||||||
frame.resize_w - 1, frame.resize_h - 1);
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
int dx = me->x_root - frame.grab_x, dy = me->y_root - frame.grab_y;
|
|
||||||
|
|
||||||
dx -= frame.border_w;
|
|
||||||
dy -= frame.border_w;
|
|
||||||
|
|
||||||
int snap_distance = screen->edgeSnapThreshold();
|
|
||||||
// width/height of the snapping window
|
|
||||||
unsigned int snap_w = frame.width + (frame.border_w * 2);
|
|
||||||
unsigned int snap_h = area().h() + (frame.border_w * 2);
|
|
||||||
if (snap_distance) {
|
|
||||||
int drx = screen->size().w() - (dx + snap_w);
|
|
||||||
|
|
||||||
if (dx < drx && (dx > 0 && dx < snap_distance) ||
|
|
||||||
(dx < 0 && dx > -snap_distance) )
|
|
||||||
dx = 0;
|
|
||||||
else if ( (drx > 0 && drx < snap_distance) ||
|
|
||||||
(drx < 0 && drx > -snap_distance) )
|
|
||||||
dx = screen->size().w() - snap_w;
|
|
||||||
|
|
||||||
int dtty, dbby, dty, dby;
|
|
||||||
switch (screen->getToolbar()->placement()) {
|
|
||||||
case Toolbar::TopLeft:
|
|
||||||
case Toolbar::TopCenter:
|
|
||||||
case Toolbar::TopRight:
|
|
||||||
dtty = screen->getToolbar()->getExposedHeight() +
|
|
||||||
frame.border_w;
|
|
||||||
dbby = screen->size().h();
|
|
||||||
break;
|
|
||||||
|
|
||||||
default:
|
|
||||||
dtty = 0;
|
|
||||||
dbby = screen->getToolbar()->area().y();
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
dty = dy - dtty;
|
|
||||||
dby = dbby - (dy + snap_h);
|
|
||||||
|
|
||||||
if ( (dy > 0 && dty < snap_distance) ||
|
|
||||||
(dy < 0 && dty > -snap_distance) )
|
|
||||||
dy = dtty;
|
|
||||||
else if ( (dby > 0 && dby < snap_distance) ||
|
|
||||||
(dby < 0 && dby > -snap_distance) )
|
|
||||||
dy = dbby - snap_h;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (screen->opaqueMove()) {
|
|
||||||
configure(dx, dy, frame.width, frame.height);
|
|
||||||
} else {
|
|
||||||
XDrawRectangle(display, screen->getRootWindow(), screen->getOpGC(),
|
|
||||||
frame.move_x, frame.move_y, frame.resize_w - 1,
|
|
||||||
frame.resize_h - 1);
|
|
||||||
|
|
||||||
frame.move_x = dx;
|
|
||||||
frame.move_y = dy;
|
|
||||||
|
|
||||||
XDrawRectangle(display, screen->getRootWindow(), screen->getOpGC(),
|
|
||||||
frame.move_x, frame.move_y, frame.resize_w - 1,
|
|
||||||
frame.resize_h - 1);
|
|
||||||
}
|
|
||||||
|
|
||||||
screen->showPosition(dx, dy);
|
|
||||||
}
|
|
||||||
} else if (functions.resize &&
|
} else if (functions.resize &&
|
||||||
(((me->state & Button1Mask) && (me->window == frame.right_grip ||
|
(((me->state & Button1Mask) && (me->window == frame.right_grip ||
|
||||||
me->window == frame.left_grip)) ||
|
me->window == frame.left_grip)) ||
|
||||||
|
|
140
src/Window.h
140
src/Window.h
|
@ -203,93 +203,94 @@ private:
|
||||||
} frame;
|
} frame;
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
Bool getState(void);
|
Bool getState();
|
||||||
Window createToplevelWindow(int x, int y, unsigned int width,
|
Window createToplevelWindow(int x, int y, unsigned int width,
|
||||||
unsigned int height, unsigned int borderwidth);
|
unsigned int height, unsigned int borderwidth);
|
||||||
Window createChildWindow(Window parent, Cursor = None);
|
Window createChildWindow(Window parent, Cursor = None);
|
||||||
|
|
||||||
void getWMName(void);
|
void getWMName();
|
||||||
void getWMIconName(void);
|
void getWMIconName();
|
||||||
void getWMNormalHints(void);
|
void getWMNormalHints();
|
||||||
void getWMProtocols(void);
|
void getWMProtocols();
|
||||||
void getWMHints(void);
|
void getWMHints();
|
||||||
void getMWMHints(void);
|
void getMWMHints();
|
||||||
void getOpenboxHints(void);
|
void getOpenboxHints();
|
||||||
void setNetWMAttributes(void);
|
void setNetWMAttributes();
|
||||||
void associateClientWindow(void);
|
void associateClientWindow();
|
||||||
void decorate(void);
|
void decorate();
|
||||||
void decorateLabel(void);
|
void decorateLabel();
|
||||||
void positionButtons(Bool redecorate_label = False);
|
void positionButtons(Bool redecorate_label = False);
|
||||||
void positionWindows(void);
|
void positionWindows();
|
||||||
void createCloseButton(void);
|
void createCloseButton();
|
||||||
void createIconifyButton(void);
|
void createIconifyButton();
|
||||||
void createMaximizeButton(void);
|
void createMaximizeButton();
|
||||||
void redrawLabel(void);
|
void redrawLabel();
|
||||||
void redrawAllButtons(void);
|
void redrawAllButtons();
|
||||||
void redrawCloseButton(Bool);
|
void redrawCloseButton(Bool);
|
||||||
void redrawIconifyButton(Bool);
|
void redrawIconifyButton(Bool);
|
||||||
void redrawMaximizeButton(Bool);
|
void redrawMaximizeButton(Bool);
|
||||||
void restoreGravity(void);
|
void restoreGravity();
|
||||||
void setGravityOffsets(void);
|
void setGravityOffsets();
|
||||||
void setState(unsigned long);
|
void setState(unsigned long);
|
||||||
void upsize(void);
|
void upsize();
|
||||||
void downsize(void);
|
void downsize();
|
||||||
void right_fixsize(int *gx = 0, int *gy = 0);
|
void right_fixsize(int *gx = 0, int *gy = 0);
|
||||||
void left_fixsize(int *gx = 0, int *gy = 0);
|
void left_fixsize(int *gx = 0, int *gy = 0);
|
||||||
|
void doMove(int x, int y);
|
||||||
|
|
||||||
|
|
||||||
public:
|
public:
|
||||||
OpenboxWindow(Openbox &b, Window w, BScreen *s = (BScreen *) 0);
|
OpenboxWindow(Openbox &b, Window w, BScreen *s = (BScreen *) 0);
|
||||||
virtual ~OpenboxWindow(void);
|
virtual ~OpenboxWindow();
|
||||||
|
|
||||||
inline Bool isTransient(void) const { return flags.transient; }
|
inline Bool isTransient() const { return flags.transient; }
|
||||||
inline Bool isFocused(void) const { return flags.focused; }
|
inline Bool isFocused() const { return flags.focused; }
|
||||||
inline Bool isVisible(void) const { return flags.visible; }
|
inline Bool isVisible() const { return flags.visible; }
|
||||||
inline Bool isIconic(void) const { return flags.iconic; }
|
inline Bool isIconic() const { return flags.iconic; }
|
||||||
inline Bool isShaded(void) const { return flags.shaded; }
|
inline Bool isShaded() const { return flags.shaded; }
|
||||||
inline Bool isMaximized(void) const { return flags.maximized; }
|
inline Bool isMaximized() const { return flags.maximized; }
|
||||||
inline Bool isMaximizedFull(void) const { return flags.maximized == 1; }
|
inline Bool isMaximizedFull() const { return flags.maximized == 1; }
|
||||||
inline Bool isStuck(void) const { return flags.stuck; }
|
inline Bool isStuck() const { return flags.stuck; }
|
||||||
inline Bool isIconifiable(void) const { return functions.iconify; }
|
inline Bool isIconifiable() const { return functions.iconify; }
|
||||||
inline Bool isMaximizable(void) const { return functions.maximize; }
|
inline Bool isMaximizable() const { return functions.maximize; }
|
||||||
inline Bool isResizable(void) const { return functions.resize; }
|
inline Bool isResizable() const { return functions.resize; }
|
||||||
inline Bool isClosable(void) const { return functions.close; }
|
inline Bool isClosable() const { return functions.close; }
|
||||||
|
|
||||||
inline Bool hasTitlebar(void) const { return decorations.titlebar; }
|
inline Bool hasTitlebar() const { return decorations.titlebar; }
|
||||||
inline Bool hasTransient(void) const
|
inline Bool hasTransient() const
|
||||||
{ return ((client.transient) ? True : False); }
|
{ return ((client.transient) ? True : False); }
|
||||||
|
|
||||||
inline OpenboxWindow *getTransient(void) { return client.transient; }
|
inline OpenboxWindow *getTransient() { return client.transient; }
|
||||||
inline OpenboxWindow *getTransientFor(void) { return client.transient_for; }
|
inline OpenboxWindow *getTransientFor() { return client.transient_for; }
|
||||||
|
|
||||||
inline BScreen *getScreen(void) { return screen; }
|
inline BScreen *getScreen() { return screen; }
|
||||||
|
|
||||||
inline const Window &getFrameWindow(void) const { return frame.window; }
|
inline const Window &getFrameWindow() const { return frame.window; }
|
||||||
inline const Window &getClientWindow(void) const { return client.window; }
|
inline const Window &getClientWindow() const { return client.window; }
|
||||||
|
|
||||||
inline Windowmenu * getWindowmenu(void) { return windowmenu; }
|
inline Windowmenu * getWindowmenu() { return windowmenu; }
|
||||||
|
|
||||||
inline char **getTitle(void) { return &client.title; }
|
inline char **getTitle() { return &client.title; }
|
||||||
inline char **getIconTitle(void) { return &client.icon_title; }
|
inline char **getIconTitle() { return &client.icon_title; }
|
||||||
//inline const int &getXFrame(void) const { return frame.x; }
|
//inline const int &getXFrame() const { return frame.x; }
|
||||||
//inline const int &getYFrame(void) const { return frame.y; }
|
//inline const int &getYFrame() const { return frame.y; }
|
||||||
//inline const int &getXClient(void) const { return client.x; }
|
//inline const int &getXClient() const { return client.x; }
|
||||||
//inline const int &getYClient(void) const { return client.y; }
|
//inline const int &getYClient() const { return client.y; }
|
||||||
inline const int &getWorkspaceNumber(void) const { return workspace_number; }
|
inline const int &getWorkspaceNumber() const { return workspace_number; }
|
||||||
inline const int &getWindowNumber(void) const { return window_number; }
|
inline const int &getWindowNumber() const { return window_number; }
|
||||||
|
|
||||||
//inline const unsigned int &getWidth(void) const { return frame.width; }
|
//inline const unsigned int &getWidth() const { return frame.width; }
|
||||||
//inline const unsigned int &getHeight(void) const {
|
//inline const unsigned int &getHeight() const {
|
||||||
// if (!flags.shaded)
|
// if (!flags.shaded)
|
||||||
// return frame.height;
|
// return frame.height;
|
||||||
// else
|
// else
|
||||||
// return frame.title_h;
|
// return frame.title_h;
|
||||||
//}
|
//}
|
||||||
//inline const unsigned int &getClientHeight(void) const
|
//inline const unsigned int &getClientHeight() const
|
||||||
//{ return client.height; }
|
//{ return client.height; }
|
||||||
//inline const unsigned int &getClientWidth(void) const
|
//inline const unsigned int &getClientWidth() const
|
||||||
//{ return client.width; }
|
//{ return client.width; }
|
||||||
inline const unsigned int &getTitleHeight(void) const
|
inline const unsigned int &getTitleHeight() const
|
||||||
{ return frame.title_h; }
|
{ return frame.title_h; }
|
||||||
|
|
||||||
//inline const Point origin() const {
|
//inline const Point origin() const {
|
||||||
|
@ -314,26 +315,29 @@ public:
|
||||||
|
|
||||||
inline void setWindowNumber(int n) { window_number = n; }
|
inline void setWindowNumber(int n) { window_number = n; }
|
||||||
|
|
||||||
Bool validateClient(void);
|
Bool validateClient();
|
||||||
Bool setInputFocus(void);
|
Bool setInputFocus();
|
||||||
|
|
||||||
void setFocusFlag(Bool);
|
void setFocusFlag(Bool);
|
||||||
void iconify(void);
|
void iconify();
|
||||||
void deiconify(Bool reassoc = True, Bool raise = True);
|
void deiconify(Bool reassoc = True, Bool raise = True);
|
||||||
void close(void);
|
void close();
|
||||||
void withdraw(void);
|
void withdraw();
|
||||||
void maximize(unsigned int button);
|
void maximize(unsigned int button);
|
||||||
void shade(void);
|
void shade();
|
||||||
void stick(void);
|
void stick();
|
||||||
void unstick(void);
|
void unstick();
|
||||||
void reconfigure(void);
|
void reconfigure();
|
||||||
void installColormap(Bool);
|
void installColormap(Bool);
|
||||||
void restore(void);
|
void restore();
|
||||||
void configure(int dx, int dy, unsigned int dw, unsigned int dh);
|
void configure(int dx, int dy, unsigned int dw, unsigned int dh);
|
||||||
void setWorkspace(int n);
|
void setWorkspace(int n);
|
||||||
void changeOpenboxHints(OpenboxHints *);
|
void changeOpenboxHints(OpenboxHints *);
|
||||||
void restoreAttributes(void);
|
void restoreAttributes();
|
||||||
|
|
||||||
|
void startMove(int x, int y);
|
||||||
|
void endMove();
|
||||||
|
|
||||||
void buttonPressEvent(XButtonEvent *);
|
void buttonPressEvent(XButtonEvent *);
|
||||||
void buttonReleaseEvent(XButtonEvent *);
|
void buttonReleaseEvent(XButtonEvent *);
|
||||||
void motionNotifyEvent(XMotionEvent *);
|
void motionNotifyEvent(XMotionEvent *);
|
||||||
|
@ -349,7 +353,7 @@ public:
|
||||||
void shapeEvent(XShapeEvent *);
|
void shapeEvent(XShapeEvent *);
|
||||||
#endif // SHAPE
|
#endif // SHAPE
|
||||||
|
|
||||||
virtual void timeout(void);
|
virtual void timeout();
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue