|
Blender
V2.59
|
00001 00029 #include "GlutMouseManager.h" 00030 #include "MT_assert.h" 00031 00032 MEM_SmartPtr<GlutMouseManager> GlutMouseManager::m_s_instance = MEM_SmartPtr<GlutMouseManager>(); 00033 00034 00035 GlutMouseManager * 00036 GlutMouseManager:: 00037 Instance( 00038 ){ 00039 if (m_s_instance == NULL) { 00040 m_s_instance = new GlutMouseManager(); 00041 } 00042 00043 return m_s_instance; 00044 } 00045 00046 // these are the functions you should pass to GLUT 00047 00048 void 00049 GlutMouseManager:: 00050 Mouse( 00051 int button, 00052 int state, 00053 int x, 00054 int y 00055 ){ 00056 GlutMouseManager *manager = GlutMouseManager::Instance(); 00057 00058 if (manager->m_handler != NULL) { 00059 manager->m_handler->Mouse(button,state,x,y); 00060 } 00061 } 00062 00063 void 00064 GlutMouseManager:: 00065 Motion( 00066 int x, 00067 int y 00068 ){ 00069 GlutMouseManager *manager = GlutMouseManager::Instance(); 00070 00071 if (manager->m_handler != NULL) { 00072 manager->m_handler->Motion(x,y); 00073 } 00074 } 00075 00076 void 00077 GlutMouseManager:: 00078 InstallHandler( 00079 GlutMouseHandler *handler 00080 ){ 00081 00082 MT_assert(m_handler == NULL); 00083 m_handler = handler; 00084 } 00085 00086 void 00087 GlutMouseManager:: 00088 ReleaseHandler( 00089 ){ 00090 m_handler = NULL; 00091 } 00092 00093 GlutMouseManager:: 00094 ~GlutMouseManager( 00095 ){ 00096 00097 delete(m_handler); 00098 } 00099 00100