CmPlatformWndProc.h 812 B

1234567891011121314151617181920212223242526
  1. #pragma once
  2. #include "CmPlatform.h"
  3. #include "CmWin32Defs.h"
  4. namespace CamelotFramework
  5. {
  6. /**
  7. * @note This is separated from the main Platform because we don't want to include various Windows
  8. * defines in a lot of our code that includes "Platform.h"
  9. */
  10. class CM_EXPORT PlatformWndProc : public Platform
  11. {
  12. public:
  13. static LRESULT CALLBACK _win32WndProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam);
  14. private:
  15. static bool isShiftPressed;
  16. static bool isCtrlPressed;
  17. static LRESULT translateNonClientAreaType(NonClientAreaBorderType type);
  18. static void getMouseData(HWND hWnd, WPARAM wParam, LPARAM lParam, Vector2I& mousePos, OSPositionalInputButtonStates& btnStates);
  19. static bool getCommand(unsigned int virtualKeyCode, InputCommandType& command);
  20. };
  21. }