/*!**************************************************************************** | |
@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) | |
*****************************************************************************/ | |