Main Page   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   File Members   Related Pages  

OgreMouseMotionTarget.cpp

Go to the documentation of this file.
00001 
00002 /*
00003 -----------------------------------------------------------------------------
00004 This source file is part of OGRE
00005     (Object-oriented Graphics Rendering Engine)
00006 For the latest info, see http://www.ogre3d.org/
00007 
00008 Copyright © 2000-2002 The OGRE Team
00009 Also see acknowledgements in Readme.html
00010 
00011 This program is free software you can redistribute it and/or modify it under
00012 the terms of the GNU Lesser General Public License as published by the Free Software
00013 Foundation either version 2 of the License, or (at your option) any later
00014 version.
00015 
00016 This program is distributed in the hope that it will be useful, but WITHOUT
00017 ANY WARRANTY without even the implied warranty of MERCHANTABILITY or FITNESS
00018 FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
00019 
00020 You should have received a copy of the GNU Lesser General Public License along with
00021 this program if not, write to the Free Software Foundation, Inc., 59 Temple
00022 Place - Suite 330, Boston, MA 02111-1307, USA, or go to
00023 http://www.gnu.org/copyleft/lesser.txt.
00024 -----------------------------------------------------------------------------
00025 */
00026 #include "OgreStableHeaders.h"
00027 
00028 #include "OgreMouseEvent.h"
00029 #include "OgreEventListeners.h"
00030 #include "OgreMouseMotionTarget.h"  // HACK move higher
00031 #include "OgreEventMulticaster.h"   
00032 
00033 
00034 
00035 namespace Ogre {
00036 
00037     MouseMotionTarget::MouseMotionTarget() 
00038     {
00039         mMouseMotionListener = 0;
00040     }
00041 
00042     //-----------------------------------------------------------------------
00043 
00044     void MouseMotionTarget::processMouseMotionEvent(MouseEvent* e) 
00045     {
00046         MouseMotionListener* listener = mMouseMotionListener;
00047         if (listener != NULL) 
00048         {
00049             int id = e->getID();
00050             switch(id) 
00051             {
00052             case MouseEvent::ME_MOUSE_MOVED:
00053                 listener->mouseMoved(e);
00054                 break;
00055             case MouseEvent::ME_MOUSE_DRAGGED:
00056                 listener->mouseDragged(e);
00057                 break;
00058             case MouseEvent::ME_MOUSE_DRAGMOVED:
00059                 listener->mouseDragMoved(e);
00060                 break;
00061             }
00062         }
00063     }
00064 
00065     void MouseMotionTarget::addMouseMotionListener(MouseMotionListener* l) 
00066     {
00067         if (l == NULL) 
00068         {
00069             return;
00070         }
00071         mMouseMotionListener = EventMulticaster::add(mMouseMotionListener,l);
00072     }
00073 
00074     void MouseMotionTarget::removeMouseMotionListener(MouseMotionListener* l) 
00075     {
00076         if (l == NULL) 
00077         {
00078             return;
00079         }
00080         mMouseMotionListener = EventMulticaster::remove(mMouseMotionListener,l);
00081     }
00082 }
00083 

Copyright © 2002-2003 by The OGRE Team
Last modified Wed Jan 21 00:10:19 2004