Lines Matching refs:ti
1054 TouchSendOwnershipEvent(DeviceIntPtr dev, TouchPointInfoPtr ti, int reason,
1060 nev = GetTouchOwnershipEvents(tel, dev, ti, reason, resource, 0);
1071 DeliverOneTouchEvent(ClientPtr client, DeviceIntPtr dev, TouchPointInfoPtr ti,
1077 Window child = DeepestSpriteWin(&ti->sprite)->drawable.id;
1083 if (!grab && ti->num_grabs != 0 &&
1093 FixUpEventFromWindow(&ti->sprite, xi2, win, child, FALSE);
1106 ActivateEarlyAccept(DeviceIntPtr dev, TouchPointInfoPtr ti)
1110 GrabPtr grab = ti->listeners[0].grab;
1112 BUG_RETURN(ti->listeners[0].type != TOUCH_LISTENER_GRAB &&
1113 ti->listeners[0].type != TOUCH_LISTENER_POINTER_GRAB);
1118 if (TouchAcceptReject(client, dev, XIAcceptTouch, ti->client_id,
1119 ti->listeners[0].window->drawable.id, &error) != Success)
1139 TouchPointInfoPtr ti = dev->touch->touches + i;
1142 if (!ti->active || !ti->emulate_pointer)
1145 for (j = 0; j < ti->num_listeners; j++) {
1146 if (ti->listeners[j].type == TOUCH_LISTENER_POINTER_GRAB ||
1147 ti->listeners[j].type == TOUCH_LISTENER_POINTER_REGULAR)
1150 if (j == ti->num_listeners)
1154 oldest = ti;
1158 if (oldest->client_id - ti->client_id < UINT_MAX / 2)
1159 oldest = ti;
1170 TouchPuntToNextOwner(DeviceIntPtr dev, TouchPointInfoPtr ti,
1173 TouchListener *listener = &ti->listeners[0]; /* new owner */
1178 DeliverTouchEvents(dev, ti, (InternalEvent *) ev,
1185 ti != FindOldestPointerEmulatedTouch(dev))
1188 TouchEventHistoryReplay(ti, dev, listener->listener);
1193 if (ti->pending_finish) {
1194 TouchEmitTouchEnd(dev, ti, 0, 0);
1199 if (ti->num_listeners == 1 &&
1200 (ti->num_grabs == 0 ||
1203 TouchEndTouch(dev, ti);
1209 ActivateEarlyAccept(dev, ti);
1235 * @param ti The touchpoint info record.
1241 TouchRejected(DeviceIntPtr sourcedev, TouchPointInfoPtr ti, XID resource,
1244 Bool was_owner = (resource == ti->listeners[0].listener);
1249 for (i = 0; i < ti->num_listeners; i++) {
1250 if (ti->listeners[i].listener == resource) {
1251 if (ti->listeners[i].state != TOUCH_LISTENER_HAS_END)
1252 TouchEmitTouchEnd(sourcedev, ti, TOUCH_REJECT, resource);
1258 * ti->num_listeners, as well as ti->num_grabs if it was a grab. */
1259 TouchRemoveListener(ti, resource);
1263 if (ev && ti->num_listeners > 0 && was_owner)
1264 TouchPuntToNextOwner(sourcedev, ti, ev);
1265 else if (ti->num_listeners == 0)
1266 TouchEndTouch(sourcedev, ti);
1282 TouchPointInfoPtr ti = TouchFindByClientID(dev, ev->touchid);
1284 if (!ti) {
1291 TouchRejected(dev, ti, ev->resource, ev);
1302 if (ti->listeners[0].state == TOUCH_LISTENER_HAS_END)
1303 TouchEmitTouchEnd(dev, ti, TOUCH_ACCEPT, ti->listeners[0].listener);
1307 for (i = 1; i < ti->num_listeners; i++)
1308 TouchEmitTouchEnd(dev, ti, TOUCH_ACCEPT, ti->listeners[i].listener);
1310 while (ti->num_listeners > 1)
1311 TouchRemoveListener(ti, ti->listeners[1].listener);
1313 if (ti->listeners[0].state == TOUCH_LISTENER_HAS_END)
1314 TouchEndTouch(dev, ti);
1316 ti->listeners[0].state = TOUCH_LISTENER_HAS_ACCEPTED;
1319 DeliverTouchEvents(dev, ti, (InternalEvent *) ev, ev->resource);
1328 TouchCopyValuatorData(DeviceEvent *ev, TouchPointInfoPtr ti)
1334 valuator_mask_set_double(ti->valuators, i, ev->valuators.data[i]);
1342 * @param ti The touch point info record for the touch event.
1353 RetrieveTouchDeliveryData(DeviceIntPtr dev, TouchPointInfoPtr ti,
1382 if (ti->emulate_pointer &&
1432 DeliverTouchEmulatedEvent(DeviceIntPtr dev, TouchPointInfoPtr ti,
1453 if (!TouchResourceIsOwner(ti, listener->listener))
1456 if (!ti->emulate_pointer)
1501 TouchListenerAcceptReject(dev, ti, 0, XIAcceptTouch);
1504 ti->num_listeners == 1 &&
1536 l = &ti->listeners[ti->num_listeners - 1];
1557 DeliverEmulatedMotionEvent(DeviceIntPtr dev, TouchPointInfoPtr ti,
1562 if (ti->num_listeners) {
1568 if (ti->listeners[0].type != TOUCH_LISTENER_POINTER_REGULAR &&
1569 ti->listeners[0].type != TOUCH_LISTENER_POINTER_GRAB)
1576 if (!RetrieveTouchDeliveryData(dev, ti, (InternalEvent*)&motion,
1577 &ti->listeners[0], &client, &win, &grab,
1581 DeliverTouchEmulatedEvent(dev, ti, (InternalEvent*)&motion, &ti->listeners[0], client,
1608 TouchPointInfoPtr ti;
1620 ti = TouchBeginTouch(dev, ev->device_event.sourceid, touchid,
1624 ti = TouchFindByClientID(dev, touchid);
1636 if (ti && type == ET_TouchEnd)
1637 TouchListenerAcceptReject(dev, ti, 0, XIAcceptTouch);
1638 else if (!ti && type != ET_TouchBegin) {
1649 ti = TouchBeginTouch(dev, ev->device_event.sourceid, touchid,
1651 if (!ti) {
1658 TouchBuildSprite(dev, ti, ev);
1659 TouchSetupListeners(dev, ti, ev);
1663 if (!ti) {
1673 (ev->any.type == ET_TouchEnd && ti->num_listeners > 0)))
1674 DeliverEmulatedMotionEvent(dev, ti, ev);
1689 !TouchBuildSprite(dev, ti, ev)) ||
1690 (type != ET_TouchEnd && ti->sprite.spriteTraceGood == 0))
1693 TouchCopyValuatorData(&ev->device_event, ti);
1697 DeliverTouchEvents(dev, ti, ev, ev->device_event.resource);
1699 TouchEndTouch(dev, ti);
2024 DeliverTouchBeginEvent(DeviceIntPtr dev, TouchPointInfoPtr ti,
2035 rc = DeliverTouchEmulatedEvent(dev, ti, ev, listener, client, win,
2044 ActivateEarlyAccept(dev, ti);
2051 if (TouchResourceIsOwner(ti, listener->listener) || has_ownershipmask)
2052 rc = DeliverOneTouchEvent(client, dev, ti, grab, win, ev);
2053 if (!TouchResourceIsOwner(ti, listener->listener)) {
2061 TouchSendOwnershipEvent(dev, ti, 0, listener->listener);
2075 DeliverTouchEndEvent(DeviceIntPtr dev, TouchPointInfoPtr ti, InternalEvent *ev,
2089 rc = DeliverTouchEmulatedEvent(dev, ti, ev, listener, client, win,
2111 (ev->device_event.flags & TOUCH_ACCEPT && !TouchResourceIsOwner(ti, listener->listener))) {
2114 rc = DeliverOneTouchEvent(client, dev, ti, grab, win, ev);
2117 else if (TouchResourceIsOwner(ti, listener->listener)) {
2122 rc = DeliverOneTouchEvent(client, dev, ti, grab, win, ev);
2124 if ((ti->num_listeners > 1 ||
2125 (ti->num_grabs > 0 && listener->state != TOUCH_LISTENER_HAS_ACCEPTED)) &&
2129 ti->pending_finish = TRUE;
2141 DeliverTouchEvent(DeviceIntPtr dev, TouchPointInfoPtr ti, InternalEvent *ev,
2153 if (!TouchResourceIsOwner(ti, listener->listener))
2155 rc = DeliverOneTouchEvent(client, dev, ti, grab, win, ev);
2162 rc = DeliverTouchBeginEvent(dev, ti, ev, listener, client, win, grab,
2168 DeliverTouchEmulatedEvent(dev, ti, ev, listener, client, win, grab,
2170 else if (TouchResourceIsOwner(ti, listener->listener) ||
2172 rc = DeliverOneTouchEvent(client, dev, ti, grab, win, ev);
2175 rc = DeliverTouchEndEvent(dev, ti, ev, listener, client, win, grab,
2184 * will update ti->listeners, ti->num_listeners, and ti->num_grabs.
2192 DeliverTouchEvents(DeviceIntPtr dev, TouchPointInfoPtr ti,
2199 TouchSetupListeners(dev, ti, ev);
2201 TouchEventHistoryPush(ti, &ev->device_event);
2203 for (i = 0; i < ti->num_listeners; i++) {
2208 TouchListener *listener = &ti->listeners[i];
2213 if (!RetrieveTouchDeliveryData(dev, ti, ev, listener, &client, &win,
2217 DeliverTouchEvent(dev, ti, ev, listener, client, win, grab, mask);