Exemplo n.º 1
0
	void CoreInput::setMousePosition(int x, int y, int ticks) {
		mousePosition.x = x;
		mousePosition.y = y;
		InputEvent *evt = new InputEvent(mousePosition, ticks);
		dispatchEvent(evt, InputEvent::EVENT_MOUSEMOVE);
		
		if(simulateTouchWithMouse && mouseButtons[MOUSE_BUTTON1]) {
			TouchInfo touch;
			touch.position = mousePosition;
			touch.id = 0;			
			std::vector<TouchInfo> touches;
			touches.push_back(touch);
			
			touchesMoved(touch, touches, ticks);
		}		
	}
Exemplo n.º 2
0
bool Node::treeTouchesMoved( ci::app::TouchEvent event )
{
    if(!mIsVisible) return false;

    // test children first, from top to bottom
    NodeList nodes(mChildren);
    NodeList::reverse_iterator itr;
    bool handled = false;
    for(itr=nodes.rbegin(); itr!=nodes.rend()&&!handled; ++itr)
        handled = (*itr)->treeTouchesMoved(event);

    // if not handled, test this node
    if(!handled) handled = touchesMoved(event);

    return handled;
}
Exemplo n.º 3
0
bool TreentNode::deepTouchesMoved( ci::app::TouchEvent &event )
{
  bool captured = false;
  auto gui_component = component<GuiComponent>();
  if( gui_component )
    captured = gui_component->touchesMoved( event, getWorldTransform() );

  for( TreentNodeRef &child : mChildren )
  { // stop evaluation if event was captured by self or a child
    if( captured )
      break;

    captured = child->deepTouchesMoved( event );
  }
  return captured;
}
Exemplo n.º 4
0
void CCTouchDispatcher::OnPointerDrag(const InputPointerEvent* evt)
{
	map<Ref<InputPointer>, CCTouch*>::type::iterator itr = m_Touches.find(evt->getSource());
	if (itr == m_Touches.end())
		return;

	CCSet set;
	CCTouch* pTouch = itr->second;

	pTouch->SetTouchInfo(0, evt->getPos().x, evt->getPos().y);

	set.addObject(pTouch);

// 	LOG(0, ".. drag %.3f %.3f\n", evt->GetPos().x, evt->GetPos().y);

	touchesMoved(&set);
}