Lines Matching defs:grab

347         GrabPtr grab;
349 if ((grab = dev->deviceGrab.grab)) {
352 !dev->touch->buttonsDown && GrabIsPointerGrab(grab))
463 If the TouchBegin however triggers a sync passive grab, the
523 /* Mark which grabs/event selections we're delivering to: max one grab per
524 * window plus the bottom-most event selection, plus any active grab. */
621 * @returns TRUE if the specified grab or selection is the current owner of
637 const GrabPtr grab)
641 /* We need a copy of the grab, not the grab itself since that may be
644 if (grab)
645 g = AllocGrab(grab);
653 ti->listeners[ti->num_listeners].grab = g;
654 if (grab)
677 if (listener->grab) {
678 FreeGrab(listener->grab);
679 listener->grab = NULL;
696 InternalEvent *ev, GrabPtr grab)
702 if (grab->grabtype == XI2) {
703 if (!xi2mask_isset(grab->xi2mask, dev, XI_TouchOwnership))
705 if (!xi2mask_isset(grab->xi2mask, dev, XI_TouchBegin))
708 else if (grab->grabtype == XI || grab->grabtype == CORE) {
713 /* grab listeners are always RT_NONE since we keep the grab pointer */
714 TouchAddListener(ti, grab->resource, RT_NONE, grab->grabtype,
715 type, TOUCH_LISTENER_AWAITING_BEGIN, grab->window, grab);
719 * Add one listener if there is a grab on the given window.
725 GrabPtr grab;
729 grab = CheckPassiveGrabsOnWindow(win, dev, ev, check_core, FALSE);
730 if (!grab)
733 TouchAddGrabListener(dev, ti, ev, grab);
825 InternalEvent *ev, GrabPtr grab)
828 (grab->grabtype == CORE || grab->grabtype == XI))
832 grab->grabtype == XI2 &&
833 !xi2mask_isset(grab->xi2mask, dev, XI_TouchBegin))
836 TouchAddGrabListener(dev, ti, ev, grab);
846 if (dev->deviceGrab.grab && !dev->deviceGrab.fromPassiveGrab)
847 TouchAddActiveGrabListener(dev, ti, ev, dev->deviceGrab.grab);
850 * passive grab or regular listeners. */
874 * Remove the touch pointer grab from the device. Called from
881 GrabPtr grab;
887 grab = dev->deviceGrab.grab;
888 if (!grab)
903 * need to walk all the touches and remove this grab from any delivery