//-------------------------------------------------------------- bool GuiControl::_touchMoved(int _x, int _y, int touchId){ if(!enabled) return false; over = hitTest(_x, _y); if(over || (down && editing)) { if(editing) { if(editState==EDIT_MOVE) { x += _x - editPoint.x; y += _y - editPoint.y; } else if(editState==EDIT_SCALE) { width += _x - editPoint.x; height += _y - editPoint.y; if(width<5) width = 5; if(height<5) height = 5; } editPoint = ofPoint(_x, _y); } else { down = over; touchMoved(_x, _y, touchId); if(listeners!=NULL) { for(int i = 0; i < numListeners; i++) { listeners[i]->controlChanged(this); } } } } return over; }
//-------------------------------------------------------------- // MOUSE EVENTS // // They simulate touch events - use the left/right mouse buttons // to simulate touches with different id's //-------------------------------------------------------------- void testApp::mouseDragged(int x, int y, int button){ ofTouchEventArgs t; t.x = x; t.y = y; t.id = button; touchMoved(t); }
//-------------------------------------------------------------- void testApp::mouseDragged(int x, int y, int button){ ofTouchEventArgs t; t.x = (float)x/ofGetWidth(); t.y = (float)y/ofGetHeight(); t.id = button; touchMoved(t); }
bool NativeEngine::HandleInput(AInputEvent *event) { if (AInputEvent_getType(event) == AINPUT_EVENT_TYPE_MOTION) { int32_t action = AMotionEvent_getAction(event); size_t pointerIndex; size_t pointerId; size_t pointerCount; int x; int y; switch (action & AMOTION_EVENT_ACTION_MASK) { case AMOTION_EVENT_ACTION_DOWN: pointerId = AMotionEvent_getPointerId(event, 0); x = AMotionEvent_getX(event, 0); y = AMotionEvent_getY(event, 0); touchBegan(pointerId, Origami::maths::vec2(x, y)); break; case AMOTION_EVENT_ACTION_UP: pointerId = AMotionEvent_getPointerId(event, 0); x = AMotionEvent_getX(event, 0); y = AMotionEvent_getY(event, 0); touchended(pointerId, Origami::maths::vec2(x, y)); break; case AMOTION_EVENT_ACTION_POINTER_DOWN: pointerIndex = (action & AMOTION_EVENT_ACTION_POINTER_INDEX_MASK) >> AMOTION_EVENT_ACTION_POINTER_INDEX_SHIFT; pointerId = AMotionEvent_getPointerId(event, pointerIndex); x = AMotionEvent_getX(event, pointerIndex); y = AMotionEvent_getY(event, pointerIndex); touchBegan(pointerId, Origami::maths::vec2(x, y)); break; case AMOTION_EVENT_ACTION_POINTER_UP: pointerIndex = (action & AMOTION_EVENT_ACTION_POINTER_INDEX_MASK) >> AMOTION_EVENT_ACTION_POINTER_INDEX_SHIFT; pointerId = AMotionEvent_getPointerId(event, pointerIndex); x = AMotionEvent_getX(event, pointerIndex); y = AMotionEvent_getY(event, pointerIndex); touchended(pointerId, Origami::maths::vec2(x, y)); break; case AMOTION_EVENT_ACTION_MOVE: pointerCount = AMotionEvent_getPointerCount(event); for (size_t i = 0; i < pointerCount; ++i) { pointerId = AMotionEvent_getPointerId(event, i); x = AMotionEvent_getX(event, i); y = AMotionEvent_getY(event, i); touchMoved(pointerId, Origami::maths::vec2(x, y)); } break; } }
PaintBrush::PaintBrush(int width, int height, WContainerWidget *parent) : WPaintedWidget(parent) { setSelectable(false); resize(WLength(width), WLength(height)); decorationStyle().setCursor("icons/pencil.cur", CrossCursor); mouseDragged().connect(this, &PaintBrush::mouseDrag); mouseWentDown().connect(this, &PaintBrush::mouseDown); touchStarted().connect(this, &PaintBrush::touchStart); touchMoved().connect(this, &PaintBrush::touchMove); touchMoved().preventDefaultAction(); color_ = WColor(black); // setPreferredMethod(InlineSvgVml); }
//-------------------------------------------------------------- void testApp::mouseDragged(int x, int y, int button){ if ( debug ) { interf.mouseDragged( x, y ); } if(mouseToTouch) { touchMoved(ofConvertMouseToTouch(x, y, button)); } isMouseDown = true; }
void EditorNode::onTouchMoved(Touch *touch, Event *unusedEvent) { auto moveTouchLoc = touch->getLocation(); float x = moveTouchLoc.x - m_beganTouchLoc.x; float y = moveTouchLoc.y - m_beganTouchLoc.y; if (abs(x) >= 20 || abs(y) >= 20) { b_isTouchMoved = true; } if (touchMoved) { int x = moveTouchLoc.x - m_lastTouchLoc.x; int y = moveTouchLoc.y - m_lastTouchLoc.y; touchMoved(x, y); } m_lastTouchLoc = touch->getLocation(); }
bool MgCommandDraw::mouseHover(const MgMotion* sender) { return m_step > 0 && touchMoved(sender); }
bool MgCmdDrawSplines::mouseHover(const MgMotion* sender) { return !m_freehand && m_step > 0 && touchMoved(sender); }
void ofxUICanvas::onTouchMoved(ofTouchEventArgs &data) { touchMoved(data); }