/*!**************************************************************************** @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 // 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 #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:
Key code KeyPressed (PVRShell)
ESCAPE PVRShellKeyNameQUIT
UP m_eKeyMapUP
DOWN m_eKeyMapDOWN
LEFT m_eKeyMapLEFT
RIGHT m_eKeyMapRIGHT
SPACE PVRShellKeyNameSELECT
'1' PVRShellKeyNameACTION1
'2' PVRShellKeyNameACTION2
F11 PVRShellKeyNameScreenshot
@{ */ /*!*************************************************************************** @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) *****************************************************************************/