Blender  V2.59
GlutKeyboardManager.cpp
Go to the documentation of this file.
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 }