コード例 #1
0
ファイル: kbresize.c プロジェクト: dkogan/notion
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);
}
コード例 #2
0
ファイル: presize.c プロジェクト: Soren-Nordstrom/Ion3
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);
    }
}
コード例 #3
0
ファイル: kbresize.c プロジェクト: dkogan/notion
static void cancel_moveres(WRegion *reg)
{
    WMoveresMode *mode=moveres_mode(reg);
    if(mode!=NULL)
        moveresmode_cancel(mode);
}
コード例 #4
0
ファイル: presize.c プロジェクト: Soren-Nordstrom/Ion3
static void p_moveres_cancel(WWindow *wwin)
{
    WMoveresMode *mode=moveres_mode((WRegion*)wwin);
    if(mode!=NULL)
        moveresmode_do_end(mode, FALSE);
}
コード例 #5
0
ファイル: presize.c プロジェクト: Soren-Nordstrom/Ion3
static void p_moveres_end(WWindow *wwin, XButtonEvent *ev)
{
    WMoveresMode *mode=moveres_mode((WRegion*)wwin);
    if(mode!=NULL)
        moveresmode_do_end(mode, TRUE);
}
コード例 #6
0
ファイル: presize.c プロジェクト: Soren-Nordstrom/Ion3
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);
}