Пример #1
0
bool PixyEngine::onEvent(fw::Event &ev)
{
	m_evListener(ev);

	if (ev.type == Event::Resized)
	{
		setSize(ev.size);
		onScreenSize();
	}

	return GuiElement::onEvent(ev);
}
Пример #2
0
	inline void processTouches(int command, int x, int y) {
	
		switch (command) {
            case CMD_TOUCH_END2:
                touch2.clear();
                nFingers--;
                break;
			case CMD_TOUCH_START2:
                touch2.x = x; touch2.y = y;
                oldlen = touch2.subtract(touch2, touch1).length();
                m_spinning = false;
                nFingers++;
                break;
            case CMD_TOUCHMOVE2:
                touch2.x = x; touch2.y = y;
                m_spinning = false;
                break;
            case CMD_TOUCHMOVE:
            {
                if (m_spinning && !isPinching()) {
                    start = MapToSphere(m_fingerStart);
                    end   = MapToSphere(vec2(x,y));
                    delta = CQuaternion::CreateFromVectors(start, end);
                    m_orientation = delta.Rotated(m_prevOrientation);
                }
                
            }
            break;

			case CMD_TOUCH_START:
                touch1.x = x; touch1.y = y;
                onTouchDown(x,y);
                nFingers++;
                break;
			case CMD_TOUCH_END:
                touch1.x = x; touch1.y = y;
				onTouchUp(x,y);
                touch1.clear();
                touch2.clear();
                m_spinning = false;
                nFingers--;
                break;
            case CMD_SCREENSIZE:
                touch1.x = x; touch1.y = y;
				onScreenSize(x,y); 
    			break;
		}
	}