ClangFormat: apply to source, most of intern
[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
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  * Base class for events received the operating system.
32  */
33 class GHOST_Event : public GHOST_IEvent {
34  public:
35   /**
36    * Constructor.
37    * \param msec  The time this event was generated.
38    * \param type  The type of this event.
39    * \param window The generating window (or NULL if system event).
40    */
41   GHOST_Event(GHOST_TUns64 msec, GHOST_TEventType type, GHOST_IWindow *window)
42       : m_type(type), m_time(msec), m_window(window), m_data(NULL)
43   {
44   }
45
46   /**
47    * Returns the event type.
48    * \return The event type.
49    */
50   GHOST_TEventType getType()
51   {
52     return m_type;
53   }
54
55   /**
56    * Returns the time this event was generated.
57    * \return The event generation time.
58    */
59   GHOST_TUns64 getTime()
60   {
61     return m_time;
62   }
63
64   /**
65    * Returns the window this event was generated on,
66    * or NULL if it is a 'system' event.
67    * \return The generating window.
68    */
69   GHOST_IWindow *getWindow()
70   {
71     return m_window;
72   }
73
74   /**
75    * Returns the event data.
76    * \return The event data.
77    */
78   GHOST_TEventDataPtr getData()
79   {
80     return m_data;
81   }
82
83  protected:
84   /** Type of this event. */
85   GHOST_TEventType m_type;
86   /** The time this event was generated. */
87   GHOST_TUns64 m_time;
88   /** Pointer to the generating window. */
89   GHOST_IWindow *m_window;
90   /** Pointer to the event data. */
91   GHOST_TEventDataPtr m_data;
92 };
93
94 #endif  // __GHOST_EVENT_H__