Lines Matching refs:grab
80 GrabPtr grab = devGrab->grab; in PrintDeviceGrabInfo() local
84 (unsigned long) grab->resource, in PrintDeviceGrabInfo()
85 (grab->grabtype == XI2) ? "xi2" : in PrintDeviceGrabInfo()
86 ((grab->grabtype == CORE) ? "core" : "xi1"), dev->name, dev->id); in PrintDeviceGrabInfo()
88 client = clients[CLIENT_ID(grab->resource)]; in PrintDeviceGrabInfo()
110 CLIENT_ID(grab->resource)); in PrintDeviceGrabInfo()
124 if (grab->grabtype == CORE) { in PrintDeviceGrabInfo()
126 (unsigned long) grab->eventMask); in PrintDeviceGrabInfo()
128 else if (grab->grabtype == XI) { in PrintDeviceGrabInfo()
130 devGrab->implicitGrab ? (unsigned long) grab->deviceMask : in PrintDeviceGrabInfo()
131 (unsigned long) grab->eventMask); in PrintDeviceGrabInfo()
133 else if (grab->grabtype == XI2) { in PrintDeviceGrabInfo()
134 for (i = 0; i < xi2mask_num_masks(grab->xi2mask); i++) { in PrintDeviceGrabInfo()
140 mask = xi2mask_get_one_mask(grab->xi2mask, i); in PrintDeviceGrabInfo()
149 for (j = 0; j < xi2mask_mask_size(grab->xi2mask); j++) in PrintDeviceGrabInfo()
157 "activating key %d\n", grab->type, grab->detail.exact, in PrintDeviceGrabInfo()
162 grab->ownerEvents ? "true" : "false", in PrintDeviceGrabInfo()
163 grab->keyboardMode, grab->pointerMode, in PrintDeviceGrabInfo()
164 grab->confineTo ? (unsigned long) grab->confineTo->drawable.id : 0, in PrintDeviceGrabInfo()
165 grab->cursor ? (unsigned long) grab->cursor->id : 0); in PrintDeviceGrabInfo()
178 if (!dev->deviceGrab.grab) in UngrabAllDevices()
181 client = clients[CLIENT_ID(dev->deviceGrab.grab->resource)]; in UngrabAllDevices()
194 GrabPtr grab = calloc(1, sizeof(GrabRec)); in AllocGrab() local
196 if (grab) { in AllocGrab()
197 grab->xi2mask = xi2mask_new(); in AllocGrab()
198 if (!grab->xi2mask) { in AllocGrab()
199 free(grab); in AllocGrab()
200 grab = NULL; in AllocGrab()
202 else if (src && !CopyGrab(grab, src)) { in AllocGrab()
203 free(grab->xi2mask); in AllocGrab()
204 free(grab); in AllocGrab()
205 grab = NULL; in AllocGrab()
209 return grab; in AllocGrab()
219 GrabPtr grab; in CreateGrab() local
221 grab = AllocGrab(NULL); in CreateGrab()
222 if (!grab) in CreateGrab()
224 grab->resource = FakeClientID(client); in CreateGrab()
225 grab->device = device; in CreateGrab()
226 grab->window = window; in CreateGrab()
228 grab->eventMask = mask->core; /* same for XI */ in CreateGrab()
230 grab->eventMask = 0; in CreateGrab()
231 grab->deviceMask = 0; in CreateGrab()
232 grab->ownerEvents = param->ownerEvents; in CreateGrab()
233 grab->keyboardMode = param->this_device_mode; in CreateGrab()
234 grab->pointerMode = param->other_devices_mode; in CreateGrab()
235 grab->modifiersDetail.exact = param->modifiers; in CreateGrab()
236 grab->modifiersDetail.pMask = NULL; in CreateGrab()
237 grab->modifierDevice = modDevice; in CreateGrab()
238 grab->type = type; in CreateGrab()
239 grab->grabtype = grabtype; in CreateGrab()
240 grab->detail.exact = keybut; in CreateGrab()
241 grab->detail.pMask = NULL; in CreateGrab()
242 grab->confineTo = confineTo; in CreateGrab()
243 grab->cursor = RefCursor(cursor); in CreateGrab()
244 grab->next = NULL; in CreateGrab()
247 xi2mask_merge(grab->xi2mask, mask->xi2mask); in CreateGrab()
248 return grab; in CreateGrab()
531 GrabPtr grab; in AddPassiveGrabToList() local
535 for (grab = wPassiveGrabs(pGrab->window); grab; grab = grab->next) { in AddPassiveGrabToList()
536 if (GrabMatchesSecond(pGrab, grab, (pGrab->grabtype == CORE))) { in AddPassiveGrabToList()
537 if (CLIENT_BITS(pGrab->resource) != CLIENT_BITS(grab->resource)) { in AddPassiveGrabToList()
552 for (grab = wPassiveGrabs(pGrab->window); grab; grab = grab->next) { in AddPassiveGrabToList()
553 if (GrabsAreIdentical(pGrab, grab)) { in AddPassiveGrabToList()
554 DeletePassiveGrabFromList(grab); in AddPassiveGrabToList()
578 GrabPtr grab; in DeletePassiveGrabFromList() local
593 for (grab = wPassiveGrabs(pMinuendGrab->window); grab; grab = grab->next) in DeletePassiveGrabFromList()
615 for (grab = wPassiveGrabs(pMinuendGrab->window); in DeletePassiveGrabFromList()
616 grab && ok; grab = grab->next) { in DeletePassiveGrabFromList()
617 if ((CLIENT_BITS(grab->resource) != CLIENT_BITS(pMinuendGrab->resource)) in DeletePassiveGrabFromList()
618 || !GrabMatchesSecond(grab, pMinuendGrab, (grab->grabtype == CORE))) in DeletePassiveGrabFromList()
620 if (GrabSupersedesSecond(pMinuendGrab, grab)) { in DeletePassiveGrabFromList()
621 deletes[ndels++] = grab; in DeletePassiveGrabFromList()
623 else if ((grab->detail.exact == any_key) in DeletePassiveGrabFromList()
624 && (grab->modifiersDetail.exact != any_modifier)) { in DeletePassiveGrabFromList()
625 UPDATE(grab->detail.pMask, pMinuendGrab->detail.exact); in DeletePassiveGrabFromList()
627 else if ((grab->modifiersDetail.exact == any_modifier) in DeletePassiveGrabFromList()
628 && (grab->detail.exact != any_key)) { in DeletePassiveGrabFromList()
629 UPDATE(grab->modifiersDetail.pMask, in DeletePassiveGrabFromList()
637 UPDATE(grab->detail.pMask, pMinuendGrab->detail.exact); in DeletePassiveGrabFromList()
640 param.ownerEvents = grab->ownerEvents; in DeletePassiveGrabFromList()
641 param.this_device_mode = grab->keyboardMode; in DeletePassiveGrabFromList()
642 param.other_devices_mode = grab->pointerMode; in DeletePassiveGrabFromList()
645 pNewGrab = CreateGrab(CLIENT_ID(grab->resource), grab->device, in DeletePassiveGrabFromList()
646 grab->modifierDevice, grab->window, in DeletePassiveGrabFromList()
647 grab->grabtype, in DeletePassiveGrabFromList()
648 (GrabMask *) &grab->eventMask, in DeletePassiveGrabFromList()
649 ¶m, (int) grab->type, in DeletePassiveGrabFromList()
651 grab->confineTo, grab->cursor); in DeletePassiveGrabFromList()
655 DeleteDetailFromMask(grab->modifiersDetail.pMask, in DeletePassiveGrabFromList()
670 UPDATE(grab->modifiersDetail.pMask, in DeletePassiveGrabFromList()
674 UPDATE(grab->detail.pMask, pMinuendGrab->detail.exact); in DeletePassiveGrabFromList()
688 grab = adds[i]; in DeletePassiveGrabFromList()
689 grab->next = grab->window->optional->passiveGrabs; in DeletePassiveGrabFromList()
690 grab->window->optional->passiveGrabs = grab; in DeletePassiveGrabFromList()
707 GrabIsPointerGrab(GrabPtr grab) in GrabIsPointerGrab() argument
709 return (grab->type == ButtonPress || in GrabIsPointerGrab()
710 grab->type == DeviceButtonPress || grab->type == XI_ButtonPress); in GrabIsPointerGrab()
714 GrabIsKeyboardGrab(GrabPtr grab) in GrabIsKeyboardGrab() argument
716 return (grab->type == KeyPress || in GrabIsKeyboardGrab()
717 grab->type == DeviceKeyPress || grab->type == XI_KeyPress); in GrabIsKeyboardGrab()