bool GUIButtonBase::_mouseEvent(const GUIMouseEvent& ev)
	{
		if(ev.getType() == GUIMouseEventType::MouseOver)
		{
			if (!_isDisabled())
			{
				_setState(_isOn() ? GUIElementState::HoverOn : GUIElementState::Hover);
				onHover();
			}

			return mBlockPointerEvents;
		}
		else if(ev.getType() == GUIMouseEventType::MouseOut)
		{
			if (!_isDisabled())
			{
				_setState(_isOn() ? GUIElementState::NormalOn : GUIElementState::Normal);
				onOut();
			}

			return mBlockPointerEvents;
		}
		else if(ev.getType() == GUIMouseEventType::MouseDown)
		{
			if (!_isDisabled())
				_setState(_isOn() ? GUIElementState::ActiveOn : GUIElementState::Active);

			return mBlockPointerEvents;
		}
		else if(ev.getType() == GUIMouseEventType::MouseUp)
		{
			if (!_isDisabled())
			{
				_setState(_isOn() ? GUIElementState::HoverOn : GUIElementState::Hover);
				onClick();
			}

			return mBlockPointerEvents;
		}
		else if (ev.getType() == GUIMouseEventType::MouseDoubleClick)
		{
			if (!_isDisabled())
				onDoubleClick();

			return mBlockPointerEvents;
		}

		return false;
	}
	bool GUIHoverHitBox::_mouseEvent(const GUIMouseEvent& ev)
	{
		bool processed = GUIElementContainer::_mouseEvent(ev);

		if (ev.getType() == GUIMouseEventType::MouseOver)
		{
			onHover();
			return false;
		}
		else if (ev.getType() == GUIMouseEventType::MouseOut)
		{
			onOut();
			return false;
		}

		return processed;
	}
Beispiel #3
0
 void on(void *ptr,int events)
 {
     CTcp * pTcp=(CTcp*)ptr;
     printf("on %d %d %d\n",pTcp->m_iSock,listener.m_iSock,events);
     if(pTcp->m_iSock==listener.m_iSock){
         CTcp *pClt=new CTcp();
         printf("accept\n");
         if(listener.Accept(*pClt))
         {
             printf("accept %d\n",pClt->m_iSock);
             m_clsEpoll.Add(pClt->m_iSock,EPOLLIN|EPOLLET,(void*)pClt);
         }
     }else if(events&EPOLLIN){
         onIn(pTcp);
     }else if(events&EPOLLOUT){
         onOut(pTcp);
     }
 }