| 
									
										
										
										
											2009-01-20 23:09:24 +00:00
										 |  |  | #ifndef _WIN32WINDOW_H
 | 
					
						
							|  |  |  | #define _WIN32WINDOW_H
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #include "GLWindow.h"
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #ifdef _WIN32
 | 
					
						
							|  |  |  | class Win32Window : public GLWindow  | 
					
						
							|  |  |  | { | 
					
						
							| 
									
										
										
										
											2009-01-29 23:35:31 +00:00
										 |  |  | public: | 
					
						
							|  |  |  | 	virtual void SwapBuffers(); | 
					
						
							|  |  |  | 	virtual void SetWindowText(const char *text); | 
					
						
							|  |  |  | 	virtual bool PeekMessages(); | 
					
						
							|  |  |  | 	virtual void Update(); | 
					
						
							|  |  |  | 	virtual bool MakeCurrent(); | 
					
						
							|  |  |  | 	HWND GetWnd(){return myHandle;}; | 
					
						
							|  |  |  | 	HWND GetParentWnd(){return myParent;}; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	static bool valid() { return true; } | 
					
						
							|  |  |  | 	~Win32Window(); | 
					
						
							|  |  |  | 	Win32Window(); | 
					
						
							|  |  |  | 	static sf::Key::Code VirtualKeyCodeToSF(WPARAM VirtualKey, LPARAM Flags); | 
					
						
							|  |  |  | 	static sf::Key::Code GetShiftState(bool KeyDown); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | private: | 
					
						
							|  |  |  | 	struct VideoMode | 
					
						
							|  |  |  | 	{ | 
					
						
							|  |  |  | 		unsigned int Width; | 
					
						
							|  |  |  | 		unsigned int Height; | 
					
						
							|  |  |  | 		unsigned int BitsPerPixel; | 
					
						
							|  |  |  | 		unsigned int DepthBits; | 
					
						
							|  |  |  | 		unsigned int StencilBits; | 
					
						
							|  |  |  | 		unsigned int AntialiasingLevel; | 
					
						
							|  |  |  | 	}; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	virtual void ShowMouseCursor(bool Show); | 
					
						
							|  |  |  | 	void RegisterWindowClass(); | 
					
						
							|  |  |  | 	void SwitchToFullscreen(const VideoMode& Mode); | 
					
						
							|  |  |  | 	void CreateContext(VideoMode& Mode); | 
					
						
							|  |  |  | 	void Cleanup(); | 
					
						
							|  |  |  | 	void ProcessEvent(UINT Message, WPARAM WParam, LPARAM LParam); | 
					
						
							|  |  |  | 	static LRESULT CALLBACK GlobalOnEvent(HWND Handle, UINT Message, WPARAM WParam, LPARAM LParam); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	// Static member data
 | 
					
						
							|  |  |  | 	static unsigned int		ourWindowCount; | 
					
						
							|  |  |  | 	static const char*		ourClassName; | 
					
						
							|  |  |  | 	static Win32Window*		ourFullscreenWindow; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	// Member data
 | 
					
						
							|  |  |  | 	HWND		myHandle; | 
					
						
							|  |  |  | 	HINSTANCE	myhInstance; | 
					
						
							|  |  |  | 	HWND		myParent; // Possibly not wanted here
 | 
					
						
							|  |  |  | 	long		myCallback; | 
					
						
							|  |  |  | 	HCURSOR		myCursor; | 
					
						
							|  |  |  | 	HICON		myIcon; | 
					
						
							|  |  |  | 	bool		myKeyRepeatEnabled; | 
					
						
							|  |  |  | 	bool		myIsCursorIn; | 
					
						
							|  |  |  | 	HDC			myDeviceContext; | 
					
						
							|  |  |  | 	HGLRC		myGLContext; | 
					
						
							| 
									
										
										
										
											2009-01-20 23:09:24 +00:00
										 |  |  | }; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #else
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | class Win32Window : public GLWindow  | 
					
						
							|  |  |  | { | 
					
						
							| 
									
										
										
										
											2009-01-29 23:35:31 +00:00
										 |  |  | public: | 
					
						
							|  |  |  | 	Win32Window {} | 
					
						
							| 
									
										
										
										
											2009-01-20 23:09:24 +00:00
										 |  |  | }; | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-01-29 23:35:31 +00:00
										 |  |  | #endif //_WIN32
 | 
					
						
							|  |  |  | #endif //_WIN32WINDOW_H
 |