openscenegraph
Event
Go to the documentation of this file.
1/* -*-c++-*- OpenSceneGraph - Copyright (C) 1998-2013 Robert Osfield
2 *
3 * This library is open source and may be redistributed and/or modified under
4 * the terms of the OpenSceneGraph Public License (OSGPL) version 0.0 or
5 * (at your option) any later version. The full license is in LICENSE file
6 * included with this distribution, and on the openscenegraph.org website.
7 *
8 * This library is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * OpenSceneGraph Public License for more details.
12*/
13
14#ifndef OSGGA_EVENT
15#define OSGGA_EVENT 1
16
17#include <osgGA/Export>
18#include <osg/Object>
19
20namespace osgGA {
21
22// forward declare
23class GUIEventAdapter;
24
25/** Base Event class.*/
26class OSGGA_EXPORT Event : public osg::Object
27{
28public:
29 Event();
30
31 Event(const Event& rhs, const osg::CopyOp& copyop=osg::CopyOp::SHALLOW_COPY);
32
33 META_Object(osgGA, Event);
34
35 virtual GUIEventAdapter* asGUIEventAdapter() { return 0; }
36 virtual const GUIEventAdapter* asGUIEventAdapter() const { return 0; }
37
38
39 /** Set whether this event has been handled by an event handler or not.*/
40 void setHandled(bool handled) const { _handled = handled; }
41
42 /** Get whether this event has been handled by an event handler or not.*/
43 bool getHandled() const { return _handled; }
44
45
46 /** set time in seconds of event. */
47 void setTime(double time) { _time = time; }
48
49 /** get time in seconds of event. */
50 double getTime() const { return _time; }
51
52protected:
53 virtual ~Event() {}
54
55 mutable bool _handled;
56 double _time;
57};
58
59}
60
61#endif