| /*!**************************************************************************** | |
| @file LinuxX11/PVRShellOS.h | |
| @ingroup OS_LinuxX11 | |
| @copyright Copyright (c) Imagination Technologies Limited. | |
| @brief Initialization for the shell for LinuxX11. | |
| @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 "X11/Xlib.h" | |
| #include "X11/Xutil.h" | |
| #ifdef BUILD_OGL | |
| #include "X11/extensions/xf86vmode.h" | |
| #endif | |
| #define PVRSHELL_DIR_SYM '/' | |
| #define _stricmp strcasecmp | |
| /*! | |
| @addtogroup OS_LinuxX11 | |
| @brief LinuxX11 OS | |
| @details The following table illustrates how key codes are mapped in LinuxX11: | |
| <table> | |
| <tr><th> Key code </th><th> nLastKeyPressed (PVRShell) </th></tr> | |
| <tr><td> Esc </td><td> PVRShellKeyNameQUIT </td></tr> | |
| <tr><td> F11 </td><td> PVRShellKeyNameScreenshot </td></tr> | |
| <tr><td> Enter </td><td> PVRShellKeyNameSELECT </td></tr> | |
| <tr><td> '1' </td><td> PVRShellKeyNameACTION1 </td></tr> | |
| <tr><td> '2' </td><td> PVRShellKeyNameACTION2 </td></tr> | |
| <tr><td> Up arrow </td><td> m_eKeyMapUP </td></tr> | |
| <tr><td> Down arrow </td><td> m_eKeyMapDOWN </td></tr> | |
| <tr><td> Left arrow </td><td> m_eKeyMapLEFT </td></tr> | |
| <tr><td> Right arrow </td><td> m_eKeyMapRIGHT </td></tr> | |
| </table> | |
| @{ | |
| */ | |
| /*!*************************************************************************** | |
| @class PVRShellInitOS | |
| @brief Interface with specific Operative System. | |
| *****************************************************************************/ | |
| class PVRShellInitOS | |
| { | |
| public: | |
| Display* m_X11Display; | |
| long m_X11Screen; | |
| XVisualInfo* m_X11Visual; | |
| Colormap m_X11ColorMap; | |
| Window m_X11Window; | |
| timeval m_StartTime; | |
| #ifdef BUILD_OGL | |
| XF86VidModeModeLine m_OriginalMode; // modeline that was active at the starting point of this aplication | |
| int m_i32OriginalModeDotClock; | |
| #endif | |
| // Pixmap support: variables for the pixmap | |
| Pixmap m_X11Pixmap; | |
| GC m_X11GC; | |
| unsigned int m_u32ButtonState; // 1 = left, 2 = right, 4 = middle | |
| public: | |
| int OpenX11Window(const PVRShell &shell); | |
| void CloseX11Window(); | |
| }; | |
| /*! @} */ | |
| #endif /* _PVRSHELLOS_ */ | |
| /***************************************************************************** | |
| End of file (PVRShellOS.h) | |
| *****************************************************************************/ | |