PowerVR Software Development Kit |
00001 /*!**************************************************************************** 00002 @File SymbianUIQ/PVRShellOS.h 00003 00004 @Brief Initialization for the shell using Khronos EGL 00005 00006 @Date 09/03/2006 00007 00008 @Copyright Copyright (C) 2005 - 2006 by Imagination Technologies Limited. 00009 00010 @Platform Support for windowed Symbian UIQ 00011 00012 @Description Makes programming for 3D APIs easier by wrapping surface initialization, 00013 Texture allocation and other functions for use by a demo. 00014 00015 ******************************************************************************/ 00016 00017 /**************************************************************************** 00018 ** INCLUDES ** 00019 ****************************************************************************/ 00020 00021 #include <qikcommand.h> 00022 #include <e32cmn.h> 00023 #include <EikStart.h> 00024 #include <qikappui.h> 00025 #include <qikdocument.h> 00026 #include <qikapplication.h> 00027 #include <QikViewBase.h> 00028 00029 #include <gles\egl.h> 00030 #include <gles\gl.h> 00031 00032 #include "PVRShell.h" 00033 00034 /**************************************************************************** 00035 ** DEFINES ** 00036 ****************************************************************************/ 00037 00038 #define _stricmp strcasecmp 00039 #define _strnicmp strncasecmp 00040 00041 /*!*************************************************************************** 00042 @Class CPVRShellView 00043 @Brief Symbian User Application implementation 00044 *****************************************************************************/ 00045 class CPVRShellView : public CQikViewBase{ 00046 public: 00047 00048 CPVRShellView(CQikAppUi* aAppUi); 00049 static CPVRShellView* NewL(CQikAppUi* aAppUi,const TRect& rect); 00050 00051 // From Class MCoeView 00052 virtual void ViewActivatedL(const TVwsViewId &aPrevViewId, TUid aCustomMessageId, const TDesC8 &aCustomMessage); 00053 virtual void ViewDeactivated(); 00054 virtual TVwsViewId ViewId() const; 00055 TKeyResponse OfferKeyEventL(const TKeyEvent& aKeyEvent,TEventCode aType); 00056 00057 // From CQikViewBase 00058 void HandleCommandL(CQikCommand& aCommand); 00059 virtual void ViewConstructL(); 00060 static TInt DrawCallback( TAny* aInstance ); 00061 virtual ~CPVRShellView(); 00062 void ConstructL(const TRect& rect); 00063 00064 // Shell classes 00065 PVRShell* ipDemo; 00066 PVRShellInit* init; 00067 00068 private: 00069 00070 CPeriodic* iPeriodic; 00071 00072 }; 00073 00074 /*!*************************************************************************** 00075 @Class CShellAppUI 00076 @Brief Symbian User Application implementation 00077 *****************************************************************************/ 00078 class CShellAppUI : public CQikAppUi 00079 { 00080 public: 00081 ~CShellAppUI() {}; 00082 public: 00083 void ConstructL(); 00084 00085 private: 00086 void HandleCommandL(TInt aCommand); 00087 00088 }; 00089 00090 /*!*************************************************************************** 00091 @Class CShellDocument 00092 @Brief Symbian Document interface 00093 *****************************************************************************/ 00094 class CShellDocument : public CQikDocument 00095 { 00096 public: 00097 static CShellDocument* NewL(CEikApplication& aApp); 00098 CShellDocument(CEikApplication& aApp); 00099 ~CShellDocument(); 00100 00101 private: 00102 CQikAppUi* CreateAppUiL(); // Construct an app.user interface 00103 }; 00104 00105 /*!*************************************************************************** 00106 @Class CShellApplication 00107 @Brief Symbian Application Interface 00108 *****************************************************************************/ 00109 class CShellApplication : public CQikApplication { 00110 private: 00111 00112 TUid AppDllUid() const; // Returns Uid associated with app 00113 CApaDocument* CreateDocumentL(); // Construct new document 00114 }; 00115 00116 /*!*************************************************************************** 00117 @Class PVRShellInitOS 00118 @Brief PVRShell Operating System specific code interface. 00119 *****************************************************************************/ 00120 class PVRShellInitOS 00121 { 00122 public: 00123 CPVRShellView *ShellView; 00124 }; 00125 00126 /***************************************************************************** 00127 End of file (PVRShellOS.h) 00128 *****************************************************************************/
Copyright © 1999-2006, PowerVR Technologies and partners. PowerVR Technologies is a division of Imagination Technologies Ltd.