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