void GameEditor::MsgHandler( HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam ) { short x = (short)LOWORD(lParam); short y = (short)HIWORD(lParam); switch(uMsg) { case WM_LBUTTONDOWN: { LeftMouseDown(x, y); } case WM_RBUTTONDOWN: { RightMouseDown(x, y); } case WM_LBUTTONUP: { LeftMouseUp(x, y); } case WM_RBUTTONUP: { RightMouseUp(x, y); } case WM_MOUSEMOVE: { MouseMoved(x, y); } case WM_CHAR: { } } }
void MapEditer::onMouseDown(EventMouse* event) { if (event->getMouseButton() == 0) LeftMouseDown(event); else if (event->getMouseButton() == 1) RightMouseDown(event); else if (event->getMouseButton() == 2) WheelDown(event); }
void DisplayInput::Event(SDL_Event& _event) { super::Event(_event); // Kill input if this display object is not flagged for events if (!IsReceivingEvents()) return; if (_event.type == SDL_KEYDOWN) KeyDown(_event.key.keysym); else if (_event.type == SDL_KEYUP) KeyUp(_event.key.keysym); else if (_event.type == SDL_MOUSEMOTION) MouseMovement(_event.motion.x, _event.motion.y); else if (_event.type == SDL_MOUSEBUTTONDOWN){ if (_event.button.button == SDL_BUTTON_LEFT) LeftMouseDown(_event.motion.x, _event.motion.y); else if (_event.button.button == SDL_BUTTON_RIGHT) RightMouseDown(_event.motion.x, _event.motion.y); } else if (_event.type == SDL_MOUSEBUTTONUP){ if (_event.button.button == SDL_BUTTON_LEFT) LeftMouseUp(_event.motion.x, _event.motion.y); else if (_event.button.button == SDL_BUTTON_RIGHT) RightMouseUp(_event.motion.x, _event.motion.y); } }
// -------------------------------------------------------------------------------------------- // Interface ITRiASSysNotificationSink: WindowsNotification's abfangen STDMETHODIMP CNewArea::WindowsMessage (long hWnd, long uiMsg, long wParam, long lParam) { switch (uiMsg) { case WM_KEYDOWN: KeyDown ((HWND)hWnd, wParam); break; case WM_KEYUP: KeyUp (wParam); break; case WM_MOUSEMOVE: MouseMove (lParam); break; case WM_LBUTTONDOWN: LeftMouseDown (lParam); break; case WM_LBUTTONUP: LeftMouseUp(); break; case WM_RBUTTONDOWN: RightMouseDown (lParam); break; case WM_RBUTTONUP: RightMouseUp(); break; case WM_LBUTTONDBLCLK: LeftDoubleClick(); } return S_OK; // immer weiterleiten } // WindowsMessage