void CCDeviceControls::touch(CCPoint position, int action, int finger) { UITouch *touch; if( action == ACTION_DOWN || action == POINTER_DOWN ) { touch = &deviceTouches[finger]; touch->pos = position; touchBegin( touch ); } else if( action == ACTION_MOVE ) { touch = (UITouch*)screenTouches[finger].usingTouch; if( touch != NULL ) { touch->pos = position; touchMove( touch ); } } else if( action == ACTION_UP || action == POINTER_UP ) { touch = (UITouch*)screenTouches[finger].usingTouch; touchEnd( touch ); } }
void ejoy2d_win_touch(int x, int y,int touch) { switch (touch) { case TOUCH_BEGIN: touchBegin(x,y); break; case TOUCH_END: touchEnd(x, y); break; case TOUCH_MOVE: touchMove(x,y); break; } }
bool IMEView::sceneEvent(QEvent* event) { switch (event->type()) { case QEvent::GestureOverride: { // consume all gestures if we are handling touches QGestureEvent* ge = static_cast<QGestureEvent*>(event); QGesture* g = 0; if ((g = ge->gesture(Qt::TapGesture))) { if (acceptPoint(mapFromScene(ge->mapToGraphicsScene(g->hotSpot())))) { event->accept(); return true; } } else if ((g = ge->gesture(Qt::TapAndHoldGesture))) { if (acceptPoint(mapFromScene(ge->mapToGraphicsScene(g->hotSpot())))) { event->accept(); return true; } } else if ((g = ge->gesture(Qt::PinchGesture))) { if (acceptPoint(mapFromScene(ge->mapToGraphicsScene(g->hotSpot())))) { event->accept(); return true; } } else if ((g = ge->gesture((Qt::GestureType) SysMgrGestureFlick))) { if (acceptPoint(mapFromScene(ge->mapToGraphicsScene(g->hotSpot())))) { event->accept(); return true; } } else if ((g = ge->gesture((Qt::GestureType) SysMgrGestureSingleClick))) { if (acceptPoint(mapFromScene(ge->mapToGraphicsScene(g->hotSpot())))) { event->accept(); return true; } } else if ((g = ge->gesture((Qt::GestureType) SysMgrGestureSingleClick))) { if (acceptPoint(mapFromScene(ge->mapToGraphicsScene(g->hotSpot())))) { event->accept(); return true; } } } break; case QEvent::Gesture: { QGestureEvent* ge = static_cast<QGestureEvent*>(event); QGesture* g = ge->gesture(Qt::TapGesture); if (g && g->state() == Qt::GestureFinished) { tapEvent(static_cast<QTapGesture*>(g)); return true; } if (!g) { QGesture* g = ge->gesture((Qt::GestureType) SysMgrGestureScreenEdgeFlick); if (g && g->state() == Qt::GestureFinished) { screenEdgeFlickEvent(static_cast<ScreenEdgeFlickGesture*>(g)); return true; } } } break; case QEvent::TouchBegin: touchBegin(static_cast<QTouchEvent*>(event)); return event->isAccepted(); case QEvent::TouchUpdate: touchUpdate(static_cast<QTouchEvent*>(event)); return event->isAccepted(); case QEvent::TouchEnd: touchEnd(static_cast<QTouchEvent*>(event)); return event->isAccepted(); default: break; } return QGraphicsObject::sceneEvent(event); }