diff --git a/EXCLUDE/GLTSF/include/Window.hpp b/EXCLUDE/GLTSF/include/Window.hpp index eda00a5a3..f019cd268 100644 --- a/EXCLUDE/GLTSF/include/Window.hpp +++ b/EXCLUDE/GLTSF/include/Window.hpp @@ -24,10 +24,11 @@ public: void Show(); void Hide(); - void Update(); + void Handle_Events(); void Display(); - void Clear(); + void Show_Cursor(); + void Hide_Cursor(); private: static const wchar_t *Window_Class_Name; diff --git a/EXCLUDE/GLTSF/include/Window_Listener.hpp b/EXCLUDE/GLTSF/include/Window_Listener.hpp index c99c2418a..a5a96e731 100644 --- a/EXCLUDE/GLTSF/include/Window_Listener.hpp +++ b/EXCLUDE/GLTSF/include/Window_Listener.hpp @@ -5,10 +5,10 @@ class Window_Listener { public: virtual void On_Close(){} - virtual void On_Key_Down(int Key){} virtual void On_Key_Up(int Key){} virtual void On_Char(unsigned int Char){} + virtual void On_Resized(unsigned int Width, unsigned int Height){} }; #endif diff --git a/EXCLUDE/GLTSF/src/Window.cpp b/EXCLUDE/GLTSF/src/Window.cpp index bbb08654a..0160d65ec 100644 --- a/EXCLUDE/GLTSF/src/Window.cpp +++ b/EXCLUDE/GLTSF/src/Window.cpp @@ -17,6 +17,7 @@ Window::Window() : my_Handle(0), Window::~Window() { Finalize(); + Show_Cursor(); } void Window::Initialize(const std::wstring &Title, const Video_Mode &Mode, bool Fullscreen) @@ -219,6 +220,9 @@ LRESULT Window::Handle_Message(HWND Handle, UINT Message, WPARAM wParam, LPARAM { switch (Message) { + case WM_SIZE: + Call_Listener(On_Resized(LOWORD(lParam), HIWORD(lParam))); + break; case WM_CLOSE: Call_Listener(On_Close()); break; @@ -250,7 +254,7 @@ void Window::Hide() ShowWindow(my_Handle, SW_HIDE); } -void Window::Update() +void Window::Handle_Events() { MSG Message = {0}; while (PeekMessageW(&Message, NULL, 0, 0, PM_REMOVE)) @@ -266,7 +270,12 @@ void Window::Display() SwapBuffers(my_Device_Context); } -void Window::Clear() +void Window::Show_Cursor() { - glClear(GL_COLOR_BUFFER_BIT); + ShowCursor(TRUE); +} + +void Window::Hide_Cursor() +{ + ShowCursor(FALSE); }