Cleanup: remove contributors for CMake files
[blender.git] / intern / ghost / intern / GHOST_Event.h
1 /*
2  * This program is free software; you can redistribute it and/or
3  * modify it under the terms of the GNU General Public License
4  * as published by the Free Software Foundation; either version 2
5  * of the License, or (at your option) any later version.
6  *
7  * This program is distributed in the hope that it will be useful,
8  * but WITHOUT ANY WARRANTY; without even the implied warranty of
9  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
10  * GNU General Public License for more details.
11  *
12  * You should have received a copy of the GNU General Public License
13  * along with this program; if not, write to the Free Software Foundation,
14  * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
15  *
16  * The Original Code is Copyright (C) 2001-2002 by NaN Holding BV.
17  * All rights reserved.
18  */
19
20 /** \file ghost/intern/GHOST_Event.h
21  *  \ingroup GHOST
22  * Declaration of GHOST_Event class.
23  */
24
25 #ifndef __GHOST_EVENT_H__
26 #define __GHOST_EVENT_H__
27
28 #include "GHOST_IEvent.h"
29
30
31 /**
32  * Base class for events received the operating system.
33  */
34 class GHOST_Event : public GHOST_IEvent
35 {
36 public:
37         /**
38          * Constructor.
39          * \param msec  The time this event was generated.
40          * \param type  The type of this event.
41          * \param window The generating window (or NULL if system event).
42          */
43         GHOST_Event(GHOST_TUns64 msec, GHOST_TEventType type, GHOST_IWindow *window)
44                 : m_type(type), m_time(msec), m_window(window), m_data(NULL)
45         {
46         }
47
48         /**
49          * Returns the event type.
50          * \return The event type.
51          */
52         GHOST_TEventType getType()
53         {
54                 return m_type;
55         }
56
57         /**
58          * Returns the time this event was generated.
59          * \return The event generation time.
60          */
61         GHOST_TUns64 getTime()
62         {
63                 return m_time;
64         }
65
66         /**
67          * Returns the window this event was generated on,
68          * or NULL if it is a 'system' event.
69          * \return The generating window.
70          */
71         GHOST_IWindow *getWindow()
72         {
73                 return m_window;
74         }
75
76         /**
77          * Returns the event data.
78          * \return The event data.
79          */
80         GHOST_TEventDataPtr getData()
81         {
82                 return m_data;
83         }
84
85 protected:
86         /** Type of this event. */
87         GHOST_TEventType m_type;
88         /** The time this event was generated. */
89         GHOST_TUns64 m_time;
90         /** Pointer to the generating window. */
91         GHOST_IWindow *m_window;
92         /** Pointer to the event data. */
93         GHOST_TEventDataPtr m_data;
94 };
95
96 #endif // __GHOST_EVENT_H__