Mercurial > LightClone
view LightClone/Source/Window.h @ 17:4951acfe92fc
Reworking GUI system
author | koryspansel <koryspansel@bendbroadband.com> |
---|---|
date | Wed, 14 Sep 2011 13:33:22 -0700 |
parents | 968341ab1fb2 |
children |
line wrap: on
line source
/* * Window */ #ifndef __WINDOW_H__ #define __WINDOW_H__ #include "Core.h" /* * Window */ class Window; /* * WindowCallback */ class WindowCallback { public: /* * ~WindowCallback */ virtual ~WindowCallback() { } /* * OnMessage */ virtual int32 OnMessage(Window* pWindow, uint32 nMessage, WPARAM wParam, LPARAM lParam) = 0; }; /* * Window */ class Window { /* * pInstance */ static Window* pInstance; /* * kWindow */ HWND kWindow; /* * pCallback */ WindowCallback* pCallback; public: /* * Window */ Window(WindowCallback* pHandler); /* * Initialize */ ErrorCode Initialize(); /* * Terminate */ void Terminate(); /* * GetHandle */ HWND GetHandle() const; private: /* * MessageRouter */ static LRESULT CALLBACK MessageRouter(HWND hWnd, UINT nMessage, WPARAM wParam, LPARAM lParam); }; #endif //__WINDOW_H__