00001 00010 #ifndef ISAPP_H 00011 #define ISAPP_H 00012 00013 #include "DrawMgr.H" 00014 00015 namespace InSpace { 00016 00017 class ISApp 00018 { 00019 public: 00020 ISApp() {} 00021 virtual ~ISApp() {} 00022 00023 // right after GL starts up, draw first frame in here.. 00024 virtual void splashScreen() {} 00025 00026 // after first frame, not inside a GL context if using multi-contexts 00027 // do normal program setup here. 00028 virtual void postSplashInit() {} 00029 00030 // after first frame, guaranteed to be inside a GL context, will be 00031 // called once per context 00032 // do GL specific program setup here.. 00033 virtual void postSplashGLContextInit() {} 00034 00035 virtual void draw() { 00036 DRAWMGR::draw(); 00037 DRAWMGR::frameDone(); 00038 } 00039 00040 virtual void inputDone() {} 00041 virtual void drawDone() {} 00042 00043 virtual void shutdown() {} 00044 00045 }; 00046 00047 } 00048 00049 #endif