Exemple #1
0
bool TreentNode::deepTouchesEnded( ci::app::TouchEvent &event )
{
  bool captured = false;
  auto gui_component = component<GuiComponent>();
  if( gui_component )
    captured = gui_component->touchesEnded( event, getWorldTransform() );

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

    captured = child->deepTouchesEnded( event );
  }
  return captured;
}
Exemple #2
0
bool Node::treeTouchesEnded( 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)
        (*itr)->treeTouchesEnded(event); // don't care about 'handled' for now

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

    return handled;
}
Exemple #3
0
void CCTouchDispatcher::OnPointerOff(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;
	m_Touches.erase(itr);

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

	set.addObject(pTouch);

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

	touchesEnded(&set);

	pTouch->release();
}
Exemple #4
0
	void CoreInput::setMouseButtonState(int mouseButton, bool state, int ticks) {
		InputEvent *evt = new InputEvent(mousePosition, ticks);
		evt->mouseButton = mouseButton;		
		if(state)
			dispatchEvent(evt, InputEvent::EVENT_MOUSEDOWN);
		else
			dispatchEvent(evt, InputEvent::EVENT_MOUSEUP);
		mouseButtons[mouseButton] = state;
				
		if(simulateTouchWithMouse && mouseButton == MOUSE_BUTTON1) {
			TouchInfo touch;
			touch.position = mousePosition;
			touch.id = 0;			
			std::vector<TouchInfo> touches;
			touches.push_back(touch);
			
			if(state) {
				touchesBegan(touch, touches, ticks);
			} else {
				touchesEnded(touch, touches, ticks);			
			}
		}
	}
Exemple #5
0
bool wyPageControl::touchesCancelled(wyMotionEvent& e) {
	return touchesEnded(e);
}