Beispiel #1
0
//--------------------------------------------------------------
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;
}
Beispiel #2
0
//--------------------------------------------------------------
// 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);
}
Beispiel #3
0
//--------------------------------------------------------------
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);
}
Beispiel #4
0
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;
        }
    }
Beispiel #5
0
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);
}
Beispiel #6
0
//--------------------------------------------------------------
void testApp::mouseDragged(int x, int y, int button){
    if ( debug ) {
		interf.mouseDragged( x, y );     
	}

	if(mouseToTouch) 
	{
		touchMoved(ofConvertMouseToTouch(x, y, button));
	}

	isMouseDown = true;
}
Beispiel #7
0
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();
}
Beispiel #8
0
bool MgCommandDraw::mouseHover(const MgMotion* sender)
{
    return m_step > 0 && touchMoved(sender);
}
Beispiel #9
0
bool MgCmdDrawSplines::mouseHover(const MgMotion* sender)
{
    return !m_freehand && m_step > 0 && touchMoved(sender);
}
Beispiel #10
0
void ofxUICanvas::onTouchMoved(ofTouchEventArgs &data) 
{
    touchMoved(data); 
}