예제 #1
0
nsEventStatus
AccessibleCaretEventHub::HandleEvent(WidgetEvent* aEvent)
{
  nsEventStatus status = nsEventStatus_eIgnore;

  if (!mInitialized) {
    return status;
  }

  switch (aEvent->mClass) {
  case eMouseEventClass:
    status = HandleMouseEvent(aEvent->AsMouseEvent());
    break;

  case eWheelEventClass:
    status = HandleWheelEvent(aEvent->AsWheelEvent());
    break;

  case eTouchEventClass:
    status = HandleTouchEvent(aEvent->AsTouchEvent());
    break;

  case eKeyboardEventClass:
    status = HandleKeyboardEvent(aEvent->AsKeyboardEvent());
    break;

  default:
    break;
  }

  return status;
}
예제 #2
0
bool DEV_EventConsumer::processEvent(GHOST_IEvent *event)
{
	GHOST_TEventDataPtr eventData = ((GHOST_IEvent*)event)->getData();
	switch (event->getType()) {
		case GHOST_kEventButtonDown:
		{
			HandleButtonEvent(eventData, true);
			break;
		}

		case GHOST_kEventButtonUp:
		{
			HandleButtonEvent(eventData, false);
			break;
		}

		case GHOST_kEventWheel:
		{
			HandleWheelEvent(eventData);
			break;
		}

		case GHOST_kEventCursorMove:
		{
			HandleCursorEvent(eventData, event->getWindow());
			break;
		}

		case GHOST_kEventKeyDown:
		{
			HandleKeyEvent(eventData, true);
			break;
		}
		case GHOST_kEventKeyUp:
		{
			HandleKeyEvent(eventData, false);
			break;
		}
		case GHOST_kEventWindowSize:
		case GHOST_kEventWindowClose:
		case GHOST_kEventQuit:
		{
			HandleWindowEvent(event->getType());
			break;
		}
		default:
			break;
	}

	return true;
}