From 19b69bb595cd91ca6e64ff056b270a6d663dd86d Mon Sep 17 00:00:00 2001 From: Kim Woelders Date: Sat, 20 Nov 2010 07:30:26 +0000 Subject: [PATCH] Change XWarpPointer wrapping. SVN revision: 54736 --- src/edge.c | 2 +- src/ewins.c | 2 +- src/ipc.c | 6 +++--- src/menus.c | 4 ++-- src/x.c | 6 ++++++ src/xwin.h | 5 +++-- 6 files changed, 16 insertions(+), 9 deletions(-) diff --git a/src/edge.c b/src/edge.c index ae6b798f..b9ddfd75 100644 --- a/src/edge.c +++ b/src/edge.c @@ -97,7 +97,7 @@ EdgeTimeout(void *data) Mode.events.py = Mode.events.my; Mode.events.mx = Mode.events.cx += dx; Mode.events.my = Mode.events.cy += dy; - EXWarpPointer(WinGetXwin(VROOT), Mode.events.mx, Mode.events.my); + EWarpPointer(VROOT, Mode.events.mx, Mode.events.my); DeskCurrentMoveAreaBy(dax, day); Mode.events.px = Mode.events.mx; Mode.events.py = Mode.events.my; diff --git a/src/ewins.c b/src/ewins.c index b6bce56d..f2388463 100644 --- a/src/ewins.c +++ b/src/ewins.c @@ -1858,7 +1858,7 @@ EwinWarpTo(EWin * ewin, int force) if (ewin->state.iconified) return; - EXWarpPointer(EoGetXwin(ewin), EoGetW(ewin) / 2, EoGetH(ewin) / 2); + EWarpPointer(EoGetWin(ewin), EoGetW(ewin) / 2, EoGetH(ewin) / 2); Mode.mouse_over_ewin = ewin; } diff --git a/src/ipc.c b/src/ipc.c index cc1afe8a..37cb2061 100644 --- a/src/ipc.c +++ b/src/ipc.c @@ -1254,12 +1254,12 @@ IPC_Warp(const char *params) else if (!strncmp(params, "abs", 3)) { sscanf(params, "%*s %i %i", &x, &y); - EXWarpPointer(WinGetXwin(VROOT), x, y); + EWarpPointer(VROOT, x, y); } else if (!strncmp(params, "rel", 3)) { sscanf(params, "%*s %i %i", &x, &y); - EXWarpPointer(None, x, y); + EWarpPointer(NULL, x, y); } else if (!strncmp(params, "scr", 3)) { @@ -1270,7 +1270,7 @@ IPC_Warp(const char *params) else { sscanf(params, "%i %i", &x, &y); - EXWarpPointer(None, x, y); + EWarpPointer(NULL, x, y); } } diff --git a/src/menus.c b/src/menus.c index 9cd0801a..9cdc3a6a 100644 --- a/src/menus.c +++ b/src/menus.c @@ -1507,7 +1507,7 @@ MenusHandleMotion(void) Conf.shadespeed, 0); if (((xdist != 0) || (ydist != 0)) && (Conf.menus.warp)) - EXWarpPointer(None, xdist, ydist); + EWarpPointer(NULL, xdist, ydist); #ifdef USE_XINERAMA } #endif @@ -1629,7 +1629,7 @@ _SubmenuCheckSlide(Menu * m, MenuItem * mi, EWin * ewin, EWin * ewin2, MenusSetEvents(1); if (Conf.menus.warp) - EXWarpPointer(WinGetXwin(mi->win), mi->text_w / 2, mi->text_h / 2); + EWarpPointer(mi->win, mi->text_w / 2, mi->text_h / 2); } static int diff --git a/src/x.c b/src/x.c index 4bf94341..309433db 100644 --- a/src/x.c +++ b/src/x.c @@ -1138,6 +1138,12 @@ EXWarpPointer(Window xwin, int x, int y) XWarpPointer(disp, None, xwin, 0, 0, 0, 0, x, y); } +void +EWarpPointer(Win win, int x, int y) +{ + EXWarpPointer(win ? win->xwin : None, x, y); +} + Bool EXQueryPointer(Window xwin, int *px, int *py, Window * pchild, unsigned int *pmask) diff --git a/src/xwin.h b/src/xwin.h index 2fb0dfee..61203a66 100644 --- a/src/xwin.h +++ b/src/xwin.h @@ -222,10 +222,9 @@ int EShapeCheck(Win win); Pixmap EWindowGetShapePixmap(Win win); Pixmap EWindowGetShapePixmapInverted(Win win); +void EWarpPointer(Win win, int x, int y); Bool EQueryPointer(Win win, int *px, int *py, Window * pchild, unsigned int *pmask); -Bool EXQueryPointer(Window xwin, int *px, int *py, - Window * pchild, unsigned int *pmask); unsigned int EAllocColor(Colormap cmap, unsigned int argb); @@ -264,6 +263,8 @@ void EXCopyAreaTiled(Drawable src, Pixmap mask, Drawable dst, int dx, int dy); void EXWarpPointer(Window xwin, int x, int y); +Bool EXQueryPointer(Window xwin, int *px, int *py, + Window * pchild, unsigned int *pmask); Pixmap EXCreatePixmapCopy(Pixmap src, unsigned int w, unsigned int h, unsigned int depth);