Lines Matching full:ti
108 DDXTouchPointInfoPtr ti; in TouchFindByDDXID() local
115 ti = &dev->last.touches[i]; in TouchFindByDDXID()
116 if (ti->active && ti->ddx_id == ddx_id) in TouchFindByDDXID()
117 return ti; in TouchFindByDDXID()
139 DDXTouchPointInfoPtr ti = NULL; in TouchBeginDDXTouch() local
157 else if (!ti) /* ti is now first non-active touch rec */ in TouchBeginDDXTouch()
158 ti = &dev->last.touches[i]; in TouchBeginDDXTouch()
160 if (!emulate_pointer && ti) in TouchBeginDDXTouch()
163 if (ti) in TouchBeginDDXTouch()
169 if (ti) { in TouchBeginDDXTouch()
172 ti->active = TRUE; in TouchBeginDDXTouch()
173 ti->ddx_id = ddx_id; in TouchBeginDDXTouch()
178 ti->client_id = client_id; in TouchBeginDDXTouch()
179 ti->emulate_pointer = emulate_pointer; in TouchBeginDDXTouch()
181 return ti; in TouchBeginDDXTouch()
185 TouchEndDDXTouch(DeviceIntPtr dev, DDXTouchPointInfoPtr ti) in TouchEndDDXTouch() argument
192 ti->active = FALSE; in TouchEndDDXTouch()
205 TouchPointInfoPtr ti; in TouchInitTouchPoint() local
209 ti = &t->touches[index]; in TouchInitTouchPoint()
211 memset(ti, 0, sizeof(*ti)); in TouchInitTouchPoint()
213 ti->valuators = valuator_mask_new(v->numAxes); in TouchInitTouchPoint()
214 if (!ti->valuators) in TouchInitTouchPoint()
217 ti->sprite.spriteTrace = calloc(32, sizeof(*ti->sprite.spriteTrace)); in TouchInitTouchPoint()
218 if (!ti->sprite.spriteTrace) { in TouchInitTouchPoint()
219 valuator_mask_free(&ti->valuators); in TouchInitTouchPoint()
222 ti->sprite.spriteTraceSize = 32; in TouchInitTouchPoint()
223 ti->sprite.spriteTrace[0] = screenInfo.screens[0]->root; in TouchInitTouchPoint()
224 ti->sprite.hot.pScreen = screenInfo.screens[0]; in TouchInitTouchPoint()
225 ti->sprite.hotPhys.pScreen = screenInfo.screens[0]; in TouchInitTouchPoint()
227 ti->client_id = -1; in TouchInitTouchPoint()
235 TouchPointInfoPtr ti; in TouchFreeTouchPoint() local
240 ti = &device->touch->touches[index]; in TouchFreeTouchPoint()
242 if (ti->active) in TouchFreeTouchPoint()
243 TouchEndTouch(device, ti); in TouchFreeTouchPoint()
245 for (i = 0; i < ti->num_listeners; i++) in TouchFreeTouchPoint()
246 TouchRemoveListener(ti, ti->listeners[0].listener); in TouchFreeTouchPoint()
248 valuator_mask_free(&ti->valuators); in TouchFreeTouchPoint()
249 free(ti->sprite.spriteTrace); in TouchFreeTouchPoint()
250 ti->sprite.spriteTrace = NULL; in TouchFreeTouchPoint()
251 free(ti->listeners); in TouchFreeTouchPoint()
252 ti->listeners = NULL; in TouchFreeTouchPoint()
253 free(ti->history); in TouchFreeTouchPoint()
254 ti->history = NULL; in TouchFreeTouchPoint()
255 ti->history_size = 0; in TouchFreeTouchPoint()
256 ti->history_elements = 0; in TouchFreeTouchPoint()
267 TouchPointInfoPtr ti; in TouchFindByClientID() local
274 ti = &t->touches[i]; in TouchFindByClientID()
275 if (ti->active && ti->client_id == client_id) in TouchFindByClientID()
276 return ti; in TouchFindByClientID()
295 TouchPointInfoPtr ti; in TouchBeginTouch() local
311 ti = &t->touches[i]; in TouchBeginTouch()
312 if (!ti->active) { in TouchBeginTouch()
313 ti->active = TRUE; in TouchBeginTouch()
314 ti->client_id = touchid; in TouchBeginTouch()
315 ti->sourceid = sourceid; in TouchBeginTouch()
316 ti->emulate_pointer = emulate_pointer; in TouchBeginTouch()
317 return ti; in TouchBeginTouch()
323 tmp = reallocarray(t->touches, t->num_touches + 1, sizeof(*ti)); in TouchBeginTouch()
340 TouchEndTouch(DeviceIntPtr dev, TouchPointInfoPtr ti) in TouchEndTouch() argument
344 if (ti->emulate_pointer) { in TouchEndTouch()
355 for (i = 0; i < ti->num_listeners; i++) in TouchEndTouch()
356 TouchRemoveListener(ti, ti->listeners[0].listener); in TouchEndTouch()
358 ti->active = FALSE; in TouchEndTouch()
359 ti->pending_finish = FALSE; in TouchEndTouch()
360 ti->sprite.spriteTraceGood = 0; in TouchEndTouch()
361 free(ti->listeners); in TouchEndTouch()
362 ti->listeners = NULL; in TouchEndTouch()
363 ti->num_listeners = 0; in TouchEndTouch()
364 ti->num_grabs = 0; in TouchEndTouch()
365 ti->client_id = 0; in TouchEndTouch()
367 TouchEventHistoryFree(ti); in TouchEndTouch()
369 valuator_mask_zero(ti->valuators); in TouchEndTouch()
380 TouchEventHistoryAllocate(TouchPointInfoPtr ti) in TouchEventHistoryAllocate() argument
382 if (ti->history) in TouchEventHistoryAllocate()
385 ti->history = calloc(TOUCH_HISTORY_SIZE, sizeof(*ti->history)); in TouchEventHistoryAllocate()
386 ti->history_elements = 0; in TouchEventHistoryAllocate()
387 if (ti->history) in TouchEventHistoryAllocate()
388 ti->history_size = TOUCH_HISTORY_SIZE; in TouchEventHistoryAllocate()
389 return ti->history != NULL; in TouchEventHistoryAllocate()
393 TouchEventHistoryFree(TouchPointInfoPtr ti) in TouchEventHistoryFree() argument
395 free(ti->history); in TouchEventHistoryFree()
396 ti->history = NULL; in TouchEventHistoryFree()
397 ti->history_size = 0; in TouchEventHistoryFree()
398 ti->history_elements = 0; in TouchEventHistoryFree()
410 TouchEventHistoryPush(TouchPointInfoPtr ti, const DeviceEvent *ev) in TouchEventHistoryPush() argument
412 if (!ti->history) in TouchEventHistoryPush()
418 if (ti->history_elements > 0) in TouchEventHistoryPush()
433 ti->history[ti->history_elements++] = *ev; in TouchEventHistoryPush()
435 if (ti->history_elements > ti->history_size - 1) { in TouchEventHistoryPush()
436 ti->history_elements = ti->history_size - 1; in TouchEventHistoryPush()
438 ti->sourceid, ti->history_size, ti->client_id); in TouchEventHistoryPush()
443 TouchEventHistoryReplay(TouchPointInfoPtr ti, DeviceIntPtr dev, XID resource) in TouchEventHistoryReplay() argument
447 if (!ti->history) in TouchEventHistoryReplay()
450 TouchDeliverDeviceClassesChangedEvent(ti, ti->history[0].time, resource); in TouchEventHistoryReplay()
452 for (i = 0; i < ti->history_elements; i++) { in TouchEventHistoryReplay()
453 DeviceEvent *ev = &ti->history[i]; in TouchEventHistoryReplay()
458 We're replaying ti->history which contains the TouchBegin + in TouchEventHistoryReplay()
459 all TouchUpdates for ti. This needs to be passed on to the next in TouchEventHistoryReplay()
475 TouchDeliverDeviceClassesChangedEvent(TouchPointInfoPtr ti, Time time, in TouchDeliverDeviceClassesChangedEvent() argument
482 dixLookupDevice(&dev, ti->sourceid, serverClient, DixWriteAccess); in TouchDeliverDeviceClassesChangedEvent()
537 * Ensure a window trace is present in ti->sprite, constructing one for
541 TouchBuildSprite(DeviceIntPtr sourcedev, TouchPointInfoPtr ti, in TouchBuildSprite() argument
545 SpritePtr sprite = &ti->sprite; in TouchBuildSprite()
562 ti->listeners = calloc(sprite->spriteTraceGood + 2, sizeof(*ti->listeners)); in TouchBuildSprite()
563 if (!ti->listeners) { in TouchBuildSprite()
567 ti->num_listeners = 0; in TouchBuildSprite()
662 TouchResourceIsOwner(TouchPointInfoPtr ti, XID resource) in TouchResourceIsOwner() argument
664 return (ti->listeners[0].listener == resource); in TouchResourceIsOwner()
671 TouchAddListener(TouchPointInfoPtr ti, XID resource, int resource_type, in TouchAddListener() argument
684 ti->listeners[ti->num_listeners].listener = resource; in TouchAddListener()
685 ti->listeners[ti->num_listeners].resource_type = resource_type; in TouchAddListener()
686 ti->listeners[ti->num_listeners].level = level; in TouchAddListener()
687 ti->listeners[ti->num_listeners].state = state; in TouchAddListener()
688 ti->listeners[ti->num_listeners].type = type; in TouchAddListener()
689 ti->listeners[ti->num_listeners].window = window; in TouchAddListener()
690 ti->listeners[ti->num_listeners].grab = g; in TouchAddListener()
692 ti->num_grabs++; in TouchAddListener()
693 ti->num_listeners++; in TouchAddListener()
703 TouchRemoveListener(TouchPointInfoPtr ti, XID resource) in TouchRemoveListener() argument
707 for (i = 0; i < ti->num_listeners; i++) { in TouchRemoveListener()
709 TouchListener *listener = &ti->listeners[i]; in TouchRemoveListener()
717 ti->num_grabs--; in TouchRemoveListener()
720 for (j = i; j < ti->num_listeners - 1; j++) in TouchRemoveListener()
721 ti->listeners[j] = ti->listeners[j + 1]; in TouchRemoveListener()
722 ti->num_listeners--; in TouchRemoveListener()
723 ti->listeners[ti->num_listeners].listener = 0; in TouchRemoveListener()
724 ti->listeners[ti->num_listeners].state = LISTENER_AWAITING_BEGIN; in TouchRemoveListener()
732 TouchAddGrabListener(DeviceIntPtr dev, TouchPointInfoPtr ti, in TouchAddGrabListener() argument
741 TouchEventHistoryAllocate(ti); in TouchAddGrabListener()
746 TouchEventHistoryAllocate(ti); in TouchAddGrabListener()
751 TouchAddListener(ti, grab->resource, RT_NONE, grab->grabtype, in TouchAddGrabListener()
759 TouchAddPassiveGrabListener(DeviceIntPtr dev, TouchPointInfoPtr ti, in TouchAddPassiveGrabListener() argument
763 Bool check_core = IsMaster(dev) && ti->emulate_pointer; in TouchAddPassiveGrabListener()
770 TouchAddGrabListener(dev, ti, ev, grab); in TouchAddPassiveGrabListener()
774 TouchAddRegularListener(DeviceIntPtr dev, TouchPointInfoPtr ti, in TouchAddRegularListener() argument
785 if (!mask && !ti->emulate_pointer) in TouchAddRegularListener()
805 TouchEventHistoryAllocate(ti); in TouchAddRegularListener()
807 TouchAddListener(ti, iclients->resource, RT_INPUTCLIENT, XI2, in TouchAddRegularListener()
821 TouchEventHistoryAllocate(ti); in TouchAddRegularListener()
822 TouchAddListener(ti, iclients->resource, RT_INPUTCLIENT, XI, in TouchAddRegularListener()
836 TouchEventHistoryAllocate(ti); in TouchAddRegularListener()
837 TouchAddListener(ti, win->drawable.id, RT_WINDOW, CORE, in TouchAddRegularListener()
848 TouchEventHistoryAllocate(ti); in TouchAddRegularListener()
849 TouchAddListener(ti, oclients->resource, RT_OTHERCLIENT, CORE, in TouchAddRegularListener()
859 TouchAddActiveGrabListener(DeviceIntPtr dev, TouchPointInfoPtr ti, in TouchAddActiveGrabListener() argument
862 if (!ti->emulate_pointer && in TouchAddActiveGrabListener()
866 if (!ti->emulate_pointer && in TouchAddActiveGrabListener()
871 TouchAddGrabListener(dev, ti, ev, grab); in TouchAddActiveGrabListener()
875 TouchSetupListeners(DeviceIntPtr dev, TouchPointInfoPtr ti, InternalEvent *ev) in TouchSetupListeners() argument
878 SpritePtr sprite = &ti->sprite; in TouchSetupListeners()
882 TouchAddActiveGrabListener(dev, ti, ev, dev->deviceGrab.grab); in TouchSetupListeners()
893 TouchAddPassiveGrabListener(dev, ti, win, ev); in TouchSetupListeners()
902 delivered = TouchAddRegularListener(dev, ti, win, ev); in TouchSetupListeners()
915 TouchPointInfoPtr ti; in TouchRemovePointerGrab() local
930 ti = TouchFindByClientID(dev, ev->touchid); in TouchRemovePointerGrab()
931 if (!ti) in TouchRemovePointerGrab()
943 TouchPointInfoPtr ti; in TouchListenerGone() local
956 ti = &dev->touch->touches[i]; in TouchListenerGone()
957 if (!ti->active) in TouchListenerGone()
960 for (j = 0; j < ti->num_listeners; j++) { in TouchListenerGone()
961 if (CLIENT_BITS(ti->listeners[j].listener) != resource) in TouchListenerGone()
964 nev = GetTouchOwnershipEvents(events, dev, ti, XIRejectTouch, in TouchListenerGone()
965 ti->listeners[j].listener, 0); in TouchListenerGone()
978 TouchListenerAcceptReject(DeviceIntPtr dev, TouchPointInfoPtr ti, int listener, in TouchListenerAcceptReject() argument
986 BUG_RETURN_VAL(listener >= ti->num_listeners, BadMatch); in TouchListenerAcceptReject()
990 TouchRejected(dev, ti, ti->listeners[listener].listener, NULL); in TouchListenerAcceptReject()
992 ti->listeners[listener].state = LISTENER_EARLY_ACCEPT; in TouchListenerAcceptReject()
1000 nev = GetTouchOwnershipEvents(events, dev, ti, mode, in TouchListenerAcceptReject()
1001 ti->listeners[0].listener, 0); in TouchListenerAcceptReject()
1016 TouchPointInfoPtr ti; in TouchAcceptReject() local
1024 ti = TouchFindByClientID(dev, touchid); in TouchAcceptReject()
1025 if (!ti) { in TouchAcceptReject()
1030 for (i = 0; i < ti->num_listeners; i++) { in TouchAcceptReject()
1031 if (CLIENT_ID(ti->listeners[i].listener) == client->index && in TouchAcceptReject()
1032 ti->listeners[i].window->drawable.id == grab_window) in TouchAcceptReject()
1035 if (i == ti->num_listeners) in TouchAcceptReject()
1038 return TouchListenerAcceptReject(dev, ti, i, mode); in TouchAcceptReject()
1073 * @param ti The touch point record to deliver the event for.
1080 TouchEmitTouchEnd(DeviceIntPtr dev, TouchPointInfoPtr ti, int flags, XID resource) in TouchEmitTouchEnd() argument
1089 if (ti->emulate_pointer) in TouchEmitTouchEnd()
1091 TouchDeliverDeviceClassesChangedEvent(ti, GetTimeInMillis(), resource); in TouchEmitTouchEnd()
1092 GetDixTouchEnd(&event, dev, ti, flags); in TouchEmitTouchEnd()
1093 DeliverTouchEvents(dev, ti, &event, resource); in TouchEmitTouchEnd()
1094 if (ti->num_grabs == 0) in TouchEmitTouchEnd()
1101 TouchPointInfoPtr ti = TouchFindByClientID(dev, touchid); in TouchAcceptAndEnd() local
1102 if (!ti) in TouchAcceptAndEnd()
1105 TouchListenerAcceptReject(dev, ti, 0, XIAcceptTouch); in TouchAcceptAndEnd()
1106 if (ti->pending_finish) in TouchAcceptAndEnd()
1107 TouchEmitTouchEnd(dev, ti, 0, 0); in TouchAcceptAndEnd()
1108 if (ti->num_listeners <= 1) in TouchAcceptAndEnd()
1109 TouchEndTouch(dev, ti); in TouchAcceptAndEnd()