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