00001 00002 #include "MouseEvent.h" 00003 #include "MouseInterface.h" 00004 00005 namespace RenderTools{ 00006 00007 MouseEvent::MouseEvent( Type type, const Vec2 & location, int button ): 00008 m_type( type ), 00009 m_button( button ), 00010 m_state( type == MOUSE_DOWN ), 00011 m_location( location ){ 00012 00013 switch( m_type ){ 00014 case MOUSE_UP: 00015 switch( m_button ){ 00016 case 0: 00017 MouseInterface::s_leftButton = false; 00018 break; 00019 case 1: 00020 MouseInterface::s_middleButton = false; 00021 break; 00022 case 2: 00023 MouseInterface::s_rightButton = false; 00024 break; 00025 } 00026 break; 00027 case MOUSE_DOWN: 00028 switch( m_button ){ 00029 case 0: 00030 MouseInterface::s_leftButton = true; 00031 break; 00032 case 1: 00033 MouseInterface::s_middleButton = true; 00034 break; 00035 case 2: 00036 MouseInterface::s_rightButton = true; 00037 break; 00038 } 00039 break; 00040 case MOUSE_MOVE: 00041 MouseInterface::s_mouseBefore = MouseInterface::s_mouseNow; 00042 MouseInterface::s_mouseNow = m_location; 00043 break; 00044 } 00045 } 00046 00047 MouseEvent::Type MouseEvent::getType( void ) const { 00048 return( m_type ); 00049 } 00050 00051 int MouseEvent::getButton( void ) const { 00052 return( m_button ); 00053 } 00054 00055 bool MouseEvent::getState( void ) const { 00056 return( m_state ); 00057 } 00058 00059 const Vec2 & MouseEvent::getLocation( void ) const{ 00060 return( m_location ); 00061 } 00062 00063 }; 00064 00065