source: GTP/trunk/App/Demos/Geom/OgreStuff/include/OgreMouseTarget.h @ 1812

Revision 1812, 2.5 KB checked in by gumbau, 18 years ago (diff)
Line 
1/*
2-----------------------------------------------------------------------------
3This source file is part of OGRE
4    (Object-oriented Graphics Rendering Engine)
5For the latest info, see http://www.ogre3d.org/
6
7Copyright (c) 2000-2005 The OGRE Team
8Also see acknowledgements in Readme.html
9
10This program is free software; you can redistribute it and/or modify it under
11the terms of the GNU Lesser General Public License as published by the Free Software
12Foundation; either version 2 of the License, or (at your option) any later
13version.
14
15This program is distributed in the hope that it will be useful, but WITHOUT
16ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
17FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
18
19You should have received a copy of the GNU Lesser General Public License along with
20this program; if not, write to the Free Software Foundation, Inc., 59 Temple
21Place - Suite 330, Boston, MA 02111-1307, USA, or go to
22http://www.gnu.org/copyleft/lesser.txt.
23-----------------------------------------------------------------------------
24*/
25/***************************************************************************
26OgreMouseTarget.h  - 
27        Handles the adding and removing of MouseListeners.
28
29        Components that process the Mouse Event should subclass this class
30        and call processMouseEvent when that event is identified.
31
32-------------------
33begin                : Nov 19 2002
34copyright            : (C) 2002 by Kenny Sabir
35email                : kenny@sparksuit.com
36***************************************************************************/
37
38#ifndef __MouseTarget_H__
39#define __MouseTarget_H__
40
41#include "OgrePrerequisites.h"
42#include "OgrePositionTarget.h"
43
44namespace Ogre {
45
46       
47        /** Handles the adding and removing of MouseListeners.
48        @remarks
49                Components that process the Mouse Event should subclass this class
50                and call processMouseEvent when that event is identified.
51        */
52        class _OgreExport MouseTarget : public PositionTarget
53    {
54    private:
55        std::set<MouseListener*> mRemovedListeners;
56   
57    protected:
58        std::set<MouseListener*> mMouseListeners;
59
60                // is mouse inside the object
61                bool mMouseWithin;
62
63    public:
64                MouseTarget();
65        virtual ~MouseTarget() { }
66
67                void processMouseEvent(MouseEvent* e) ;
68                void addMouseListener(MouseListener* l) ;
69                void removeMouseListener(MouseListener* l) ;
70                bool isMouseWithin() const;
71    };
72
73
74
75}
76
77
78#endif //__MouseTarget_H__
Note: See TracBrowser for help on using the repository browser.