static bool resize_handler(WRegion *reg, XEvent *xev) { XKeyEvent *ev=&xev->xkey; WBinding *binding=NULL; WMoveresMode *mode; if(ev->type==KeyRelease) return FALSE; if(reg==NULL) return FALSE; mode=moveres_mode(reg); if(mode==NULL) return FALSE; binding=bindmap_lookup_binding(ioncore_moveres_bindmap, BINDING_KEYPRESS, ev->state, ev->keycode); if(!binding) return FALSE; if(binding!=NULL){ extl_protect(&moveres_safelist); extl_call(binding->func, "oo", NULL, mode, reg); extl_unprotect(&moveres_safelist); } return (moveres_mode(reg)==NULL); }
static void p_resize_motion(WWindow *wwin, XMotionEvent *ev, int dx, int dy) { WMoveresMode *mode=moveres_mode((WRegion*)wwin); if(mode!=NULL){ moveresmode_delta_resize(mode, p_dx1mul*dx, p_dx2mul*dx, p_dy1mul*dy, p_dy2mul*dy, NULL); } }
static void cancel_moveres(WRegion *reg) { WMoveresMode *mode=moveres_mode(reg); if(mode!=NULL) moveresmode_cancel(mode); }
static void p_moveres_cancel(WWindow *wwin) { WMoveresMode *mode=moveres_mode((WRegion*)wwin); if(mode!=NULL) moveresmode_do_end(mode, FALSE); }
static void p_moveres_end(WWindow *wwin, XButtonEvent *ev) { WMoveresMode *mode=moveres_mode((WRegion*)wwin); if(mode!=NULL) moveresmode_do_end(mode, TRUE); }
static void p_move_motion(WWindow *wwin, XMotionEvent *ev, int dx, int dy) { WMoveresMode *mode=moveres_mode((WRegion*)wwin); if(mode!=NULL) moveresmode_delta_move(mode, dx, dy, NULL); }