Mercurial > sdl-ios-xcode
diff EXCLUDE/GLTSF/include/Window.hpp @ 4730:6032ada8b9e5
Adding GLTSF (somewhat based on SFML, no actual TSF code yet)
author | dewyatt |
---|---|
date | Tue, 25 May 2010 18:53:09 -0400 |
parents | |
children | 0c7c67d4e6ee |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/EXCLUDE/GLTSF/include/Window.hpp Tue May 25 18:53:09 2010 -0400 @@ -0,0 +1,55 @@ +#ifndef WINDOW_HPP +#define WINDOW_HPP + +#include <string> + +#define WIN32_LEAN_AND_MEAN +#include <Windows.h> + +#include "Video_Mode.hpp" +#include "Window_Listener.hpp" + +class Window +{ +public: + Window(); + ~Window(); + + void Initialize(const std::wstring &Title, const Video_Mode &Mode, bool Fullscreen); + void Finalize(); + + void Set_Listener(Window_Listener *Listener); + + void Show(); + void Hide(); + + void Update(); + void Display(); + +private: + static const wchar_t *Window_Class_Name; + + void Register_Class(); + void Unregister_Class(); + + void Create_Window(const std::wstring &Title, const Video_Mode &Mode, bool Fullscreen); + void Destroy_Window(); + + void Create_Context(const Video_Mode &Mode); + void Destroy_Context(); + + void Switch_To_Fullscreen(const Video_Mode &Mode); + + LRESULT Handle_Message(HWND Handle, UINT Message, WPARAM wParam, LPARAM lParam); + static LRESULT CALLBACK Window_Procedure(HWND Handle, UINT Message, WPARAM wParam, LPARAM lParam); + + HWND my_Handle; + Video_Mode my_Video_Mode; + bool my_Fullscreen; + HDC my_Device_Context; + HGLRC my_GL_Context; + bool my_Class_Registered; + Window_Listener *my_Listener; +}; + +#endif