|
Blender
V2.59
|
00001 00029 #include "GlutKeyboardManager.h" 00030 #include "MT_assert.h" 00031 00032 MEM_SmartPtr<GlutKeyboardManager> GlutKeyboardManager::m_s_instance = MEM_SmartPtr<GlutKeyboardManager>(); 00033 00034 GlutKeyboardManager * 00035 GlutKeyboardManager:: 00036 Instance( 00037 ){ 00038 if (m_s_instance == NULL) { 00039 m_s_instance = new GlutKeyboardManager(); 00040 } 00041 00042 return m_s_instance; 00043 } 00044 00045 00046 // this is the function you should pass to glut 00047 00048 void 00049 GlutKeyboardManager:: 00050 HandleKeyboard( 00051 GHOST_TKey key, 00052 int x, 00053 int y 00054 ){ 00055 GlutKeyboardManager *manager = GlutKeyboardManager::Instance(); 00056 00057 if (manager->m_handler != NULL) { 00058 manager->m_handler->HandleKeyboard(key,x,y); 00059 } 00060 } 00061 00062 void 00063 GlutKeyboardManager:: 00064 InstallHandler( 00065 GlutKeyboardHandler * handler 00066 ){ 00067 00068 MT_assert(m_handler == NULL); 00069 m_handler = handler; 00070 } 00071 00072 void 00073 GlutKeyboardManager:: 00074 ReleaseHandler( 00075 ){ 00076 m_handler = NULL; 00077 } 00078 00079 00080 GlutKeyboardManager:: 00081 ~GlutKeyboardManager( 00082 ){ 00083 00084 delete(m_handler); 00085 }