|
Blender
V2.59
|
00001 00029 #include "GlutDrawer.h" 00030 00031 #include "MT_assert.h" 00032 00033 MEM_SmartPtr<GlutDrawManager> GlutDrawManager::m_s_instance = MEM_SmartPtr<GlutDrawManager>(); 00034 00035 GlutDrawManager * 00036 GlutDrawManager:: 00037 Instance( 00038 ){ 00039 if (m_s_instance == NULL) { 00040 m_s_instance = new GlutDrawManager(); 00041 } 00042 00043 return m_s_instance; 00044 } 00045 00046 00047 // this is the function you should pass to glut 00048 00049 void 00050 GlutDrawManager:: 00051 Draw( 00052 ){ 00053 GlutDrawManager *manager = GlutDrawManager::Instance(); 00054 00055 if (manager->m_drawer != NULL) { 00056 manager->m_drawer->Draw(); 00057 } 00058 } 00059 00060 void 00061 GlutDrawManager:: 00062 InstallDrawer( 00063 GlutDrawer * drawer 00064 ){ 00065 00066 MT_assert(m_drawer == NULL); 00067 m_drawer = drawer; 00068 } 00069 00070 void 00071 GlutDrawManager:: 00072 ReleaseDrawer( 00073 ){ 00074 m_drawer = NULL; 00075 } 00076 00077 00078 GlutDrawManager:: 00079 ~GlutDrawManager( 00080 ){ 00081 00082 delete(m_drawer); 00083 } 00084 00085 00086 00087 00088 00089 00090 00091 00092