Mercurial > sdl-ios-xcode
comparison EXCLUDE/GLIMM/include/Window.hpp @ 4741:bb189d44af16
Added GLIMM (using IMM instead of TSF)
Uses small bit of TSF to fully disable cicero (TSF for non-TSF enabled apps)
author | dewyatt |
---|---|
date | Wed, 30 Jun 2010 17:29:20 -0400 |
parents | |
children | 59b0750575b1 |
comparison
equal
deleted
inserted
replaced
4740:abf528de6d2e | 4741:bb189d44af16 |
---|---|
1 #ifndef WINDOW_HPP | |
2 #define WINDOW_HPP | |
3 | |
4 #include <string> | |
5 | |
6 #define WIN32_LEAN_AND_MEAN | |
7 #include <Windows.h> | |
8 | |
9 #include "Video_Mode.hpp" | |
10 #include "Window_Listener.hpp" | |
11 #include "IMM.hpp" | |
12 | |
13 class Window | |
14 { | |
15 public: | |
16 Window(); | |
17 ~Window(); | |
18 | |
19 void Initialize(const std::wstring &Title, const Video_Mode &Mode, bool Fullscreen); | |
20 void Finalize(); | |
21 | |
22 void Set_Listener(Window_Listener *Listener); | |
23 | |
24 void Show(); | |
25 void Hide(); | |
26 | |
27 void Handle_Events(); | |
28 void Display(); | |
29 | |
30 void Show_Cursor(); | |
31 void Hide_Cursor(); | |
32 | |
33 HWND Get_Handle(); | |
34 | |
35 private: | |
36 static const wchar_t *Window_Class_Name; | |
37 | |
38 void Register_Class(); | |
39 void Unregister_Class(); | |
40 | |
41 void Create_Window(const std::wstring &Title, const Video_Mode &Mode, bool Fullscreen); | |
42 void Destroy_Window(); | |
43 | |
44 void Create_Context(const Video_Mode &Mode); | |
45 void Destroy_Context(); | |
46 | |
47 void Switch_To_Fullscreen(const Video_Mode &Mode); | |
48 | |
49 LRESULT Handle_Message(HWND Handle, UINT Message, WPARAM wParam, LPARAM lParam); | |
50 static LRESULT CALLBACK Window_Procedure(HWND Handle, UINT Message, WPARAM wParam, LPARAM lParam); | |
51 | |
52 HWND my_Handle; | |
53 Video_Mode my_Video_Mode; | |
54 bool my_Fullscreen; | |
55 HDC my_Device_Context; | |
56 HGLRC my_GL_Context; | |
57 bool my_Class_Registered; | |
58 Window_Listener *my_Listener; | |
59 IMM my_IMM; | |
60 }; | |
61 | |
62 #endif |