568 |
eventhandler->timeout(id); |
eventhandler->timeout(id); |
569 |
} |
} |
570 |
|
|
571 |
|
int modmask(int state) { |
572 |
|
int mask = 0; |
573 |
|
if(state & ShiftMask) |
574 |
|
mask |= 1; |
575 |
|
if(state & ControlMask) |
576 |
|
mask |= 2; |
577 |
|
return mask; |
578 |
|
} |
579 |
|
|
580 |
void deliverEvent(XEvent *e) { |
void deliverEvent(XEvent *e) { |
581 |
DBG(dbg_ctrl) << "event "<<xw<<" "<<e->type<<"\n"; |
DBG(dbg_ctrl) << "event "<<xw<<" "<<e->type<<"\n"; |
582 |
if(!eventhandler) { |
if(!eventhandler) { |
624 |
eventhandler->mouse(e->xbutton.x, e->xbutton.y, button, |
eventhandler->mouse(e->xbutton.x, e->xbutton.y, button, |
625 |
(e->type == ButtonPress ? |
(e->type == ButtonPress ? |
626 |
eventhandler->PRESS : |
eventhandler->PRESS : |
627 |
eventhandler->RELEASE)); |
eventhandler->RELEASE), |
628 |
|
modmask(e->xbutton.state) |
629 |
|
); |
630 |
break; |
break; |
631 |
} |
} |
632 |
case MotionNotify: { |
case MotionNotify: { |
634 |
DBG(dbg_ctrl) << "Motion: " << button << " " <<e->xmotion.x << " " |
DBG(dbg_ctrl) << "Motion: " << button << " " <<e->xmotion.x << " " |
635 |
<< e->xmotion.y<<"\n"; |
<< e->xmotion.y<<"\n"; |
636 |
eventhandler->mouse(e->xmotion.x, e->xmotion.y, button, |
eventhandler->mouse(e->xmotion.x, e->xmotion.y, button, |
637 |
eventhandler->MOTION); |
eventhandler->MOTION, |
638 |
|
modmask(e->xbutton.state) |
639 |
|
); |
640 |
|
|
641 |
break; |
break; |
642 |
} |
} |