/*!**************************************************************************** @file Windows/PVRShellOS.h @ingroup OS_Windows @copyright Copyright (c) Imagination Technologies Limited. @brief Initialization for the shell for the Windows OS. @details Makes programming for 3D APIs easier by wrapping surface initialization, Texture allocation and other functions for use by a demo. ******************************************************************************/ #ifndef _PVRSHELLOS_ #define _PVRSHELLOS_ #include <windows.h> // The following defines are for Windows PC platforms only #if defined(_WIN32) // Enable the following 2 lines for memory leak checking - also see WinMain() #define _CRTDBG_MAP_ALLOC #include <crtdbg.h> #endif #define PVRSHELL_DIR_SYM '\\' #define vsnprintf _vsnprintf /*! @addtogroup OS_Windows @brief Windows OS @details The following table illustrates how key codes are mapped in Windows: <table> <tr><th> Key code </th><th> KeyPressed (PVRShell) </th></tr> <tr><td> ESCAPE </td><td> PVRShellKeyNameQUIT </td></tr> <tr><td> UP </td><td> m_eKeyMapUP </td></tr> <tr><td> DOWN </td><td> m_eKeyMapDOWN </td></tr> <tr><td> LEFT </td><td> m_eKeyMapLEFT </td></tr> <tr><td> RIGHT </td><td> m_eKeyMapRIGHT </td></tr> <tr><td> SPACE </td><td> PVRShellKeyNameSELECT </td></tr> <tr><td> '1' </td><td> PVRShellKeyNameACTION1 </td></tr> <tr><td> '2' </td><td> PVRShellKeyNameACTION2 </td></tr> <tr><td> F11 </td><td> PVRShellKeyNameScreenshot </td></tr> </table> @{ */ /*!*************************************************************************** @class PVRShellInitOS @brief Interface with specific Operating System. *****************************************************************************/ class PVRShellInitOS { public: HDC m_hDC; HWND m_hWnd; // Pixmap support: variables for the pixmap HBITMAP m_hBmPixmap, m_hBmPixmapOld; HDC m_hDcPixmap; HACCEL m_hAccelTable; HINSTANCE m_hInstance; int m_nCmdShow; bool m_bHaveFocus; unsigned int m_u32ButtonState; public: ATOM MyRegisterClass(); }; /*! @} */ #endif /* _PVRSHELLOS_ */ /***************************************************************************** End of file (PVRShellOS.h) *****************************************************************************/