# OgreMouseTarget.h

Go to the documentation of this file.

    00001 /*
    00002 -----------------------------------------------------------------------------
    00003 This source file is part of OGRE
    00004     (Object-oriented Graphics Rendering Engine)
    00005 For the latest info, see http://www.ogre3d.org/
    00006
    00007 Copyright (c) 2000-2005 The OGRE Team
    00008 Also see acknowledgements in Readme.html
    00009
    00010 This program is free software; you can redistribute it and/or modify it under
    00011 the terms of the GNU Lesser General Public License as published by the Free Software
    00012 Foundation; either version 2 of the License, or (at your option) any later
    00013 version.
    00014
    00015 This program is distributed in the hope that it will be useful, but WITHOUT
    00016 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
    00017 FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
    00018
    00019 You should have received a copy of the GNU Lesser General Public License along with
    00020 this program; if not, write to the Free Software Foundation, Inc., 59 Temple
    00021 Place - Suite 330, Boston, MA 02111-1307, USA, or go to
    00022 http://www.gnu.org/copyleft/lesser.txt.
    00023 -----------------------------------------------------------------------------
    00024 */
    00025 /***************************************************************************
    00026 OgreMouseTarget.h  -
    00027     Handles the adding and removing of MouseListeners.
    00028
    00029     Components that process the Mouse Event should subclass this class
    00030     and call processMouseEvent when that event is identified.
    00031
    00032 -------------------
    00033 begin                : Nov 19 2002
    00034 copyright            : (C) 2002 by Kenny Sabir
    00035 email                : kenny@sparksuit.com
    00036 ***************************************************************************/
    00037
    00038 #ifndef __MouseTarget_H__
    00039 #define __MouseTarget_H__
    00040
    00041 #include "OgrePrerequisites.h"
    00042 #include "OgrePositionTarget.h"
    00043
    00044 namespace Ogre {
    00045
    00046
    00052     class _OgreExport MouseTarget : public PositionTarget
    00053     {
    00054     private:
    00055         std::set<MouseListener*> mRemovedListeners;
    00056
    00057     protected:
    00058         std::set<MouseListener*> mMouseListeners;
    00059
    00060         // is mouse inside the object
    00061         bool mMouseWithin;
    00062
    00063     public:
    00064         MouseTarget();
    00065         virtual ~MouseTarget() { }
    00066
    00067         void processMouseEvent(MouseEvent* e) ;
    00068         void addMouseListener(MouseListener* l) ;
    00069         void removeMouseListener(MouseListener* l) ;
    00070         bool isMouseWithin() const;
    00071     };
    00072
    00073
    00074
    00075 }
    00076
    00077
    00078 #endif //__MouseTarget_H__

Copyright © 2000-2005 by The OGRE Team
Last modified Sun Nov 20 12:36:02 2005