Beispiel #1
0
void Events::pollEvents() {
	checkForNextFrameCounter();

	Common::Event event;
	if (!g_system->getEventManager()->pollEvent(event))
		return;

	switch (event.type) {
	case Common::EVENT_MOUSEMOVE:
		_mousePos = event.mouse;
		eventTarget()->mouseMove(_mousePos);
		break;
	case Common::EVENT_LBUTTONDOWN:
		_specialButtons |= MK_LBUTTON;
		_mousePos = event.mouse;
		eventTarget()->leftButtonDown(_mousePos);
		break;
	case Common::EVENT_LBUTTONUP:
		_specialButtons &= ~MK_LBUTTON;
		_mousePos = event.mouse;
		eventTarget()->leftButtonUp(_mousePos);
		break;
	case Common::EVENT_MBUTTONDOWN:
		_specialButtons |= MK_MBUTTON;
		_mousePos = event.mouse;
		eventTarget()->middleButtonDown(_mousePos);
		break;
	case Common::EVENT_MBUTTONUP:
		_specialButtons &= ~MK_MBUTTON;
		_mousePos = event.mouse;
		eventTarget()->middleButtonUp(_mousePos);
		break;
	case Common::EVENT_RBUTTONDOWN:
		_specialButtons |= MK_RBUTTON;
		_mousePos = event.mouse;
		eventTarget()->rightButtonDown(_mousePos);
		break;
	case Common::EVENT_RBUTTONUP:
		_specialButtons &= ~MK_RBUTTON;
		_mousePos = event.mouse;
		eventTarget()->rightButtonUp(_mousePos);
		break;
	case Common::EVENT_WHEELUP:
	case Common::EVENT_WHEELDOWN:
		_mousePos = event.mouse;
		eventTarget()->mouseWheel(_mousePos, event.type == Common::EVENT_WHEELUP);
		break;
	case Common::EVENT_KEYDOWN:
		handleKbdSpecial(event.kbd);
		eventTarget()->keyDown(event.kbd);
		break;
	case Common::EVENT_KEYUP:
		handleKbdSpecial(event.kbd);
		eventTarget()->keyUp(event.kbd);
		break;
	default:
		break;
	}
}
Beispiel #2
0
void CMainGameWindow::keyDown(Common::KeyState keyState) {
	handleKbdSpecial(keyState);

	if (keyState.keycode == Common::KEYCODE_d && (keyState.flags & Common::KBD_CTRL)) {
		// Attach to the debugger
		_vm->_debugger->attach();
		_vm->_debugger->onFrame();
	}

	if (_inputAllowed)
		_gameManager->_inputTranslator.keyDown(keyState);
}
Beispiel #3
0
void CMainGameWindow::keyUp(Common::KeyState keyState) {
	handleKbdSpecial(keyState);
}