#ifndef ASW_WINDOW_W32_H #define ASW_WINDOW_W32_H #include #include "ASW.h" #ifdef ASW_OPENGL #pragma comment( lib, "glu32.lib" ) #pragma comment( lib, "opengl32.lib" ) #endif class WindowW32 : public ASW::Window { private: static const unsigned int m_uintWndProcMsg; static const unsigned int m_uintWndProcCmdOpen; static const unsigned int m_uintWndProcCmdClose; HWND m_hndWindow; HDC m_hndContextDevice; HGLRC m_hndContextRender; HINSTANCE m_hndInstance; char * m_ptrClassName; bool m_blnFocus; bool m_blnRegistered; const bool m_blnSupportOpenGL; static LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM); public: WindowW32(HINSTANCE Instance, const char * ClassName, const bool SupportOpenGL); virtual ~WindowW32(); // Functions overridden from Window virtual bool Create(const ASW::Window::Settings &); virtual void Destroy(); virtual bool Focus(); virtual bool ProcessEvents(); virtual void Refresh(const int); // Non-virtual functions HDC GetContext() const {return m_hndContextDevice;} HINSTANCE GetInstance() const {return m_hndInstance;} HWND GetWindow() const {return m_hndWindow;} bool NotificationIcon(const char * IconFile); }; #endif