NAP
windowevent.h
1 /* This Source Code Form is subject to the terms of the Mozilla Public
2  * License, v. 2.0. If a copy of the MPL was not distributed with this
3  * file, You can obtain one at https://mozilla.org/MPL/2.0/. */
4 
5 #pragma once
6 
7 // External Includes
8 #include <utility/dllexport.h>
9 #include <nap/event.h>
10 
11 namespace nap
12 {
16  class NAPAPI WindowEvent : public Event
17  {
18  public:
19  RTTI_ENABLE(Event)
20 
21  public:
22  WindowEvent(int window) : mWindow(window)
23  {}
24 
25  int mWindow;
26  };
27 
31  class NAPAPI ParameterizedWindowEvent : public WindowEvent
32  {
33  RTTI_ENABLE(WindowEvent)
34  public:
35  ParameterizedWindowEvent(int inX, int inY, int window) : WindowEvent(window),
36  mX(inX), mY(inY)
37  { }
38 
39  int mX;
40  int mY;
41  };
42 
44 
48  class NAPAPI WindowShownEvent : public WindowEvent
49  {
50  RTTI_ENABLE(WindowEvent)
51  public:
52  WindowShownEvent(int window) : WindowEvent(window) { }
53  };
54 
58  class NAPAPI WindowHiddenEvent : public WindowEvent
59  {
60  RTTI_ENABLE(WindowEvent)
61  public:
62  WindowHiddenEvent(int window) : WindowEvent(window) { }
63  };
64 
69  {
70  RTTI_ENABLE(ParameterizedWindowEvent)
71  public:
72  WindowMovedEvent(int x, int y, int window) : ParameterizedWindowEvent(x, y, window)
73  { }
74  };
75 
80  {
81  RTTI_ENABLE(ParameterizedWindowEvent)
82  public:
83  WindowResizedEvent(int width, int height, int window) :ParameterizedWindowEvent(width, height, window)
84  { }
85  };
86 
90  class NAPAPI WindowMinimizedEvent : public WindowEvent
91  {
92  RTTI_ENABLE(WindowEvent)
93  public:
94  WindowMinimizedEvent(int window) : WindowEvent(window) { }
95  };
96 
100  class NAPAPI WindowMaximizedEvent : public WindowEvent
101  {
102  RTTI_ENABLE(WindowEvent)
103  public:
104  WindowMaximizedEvent(int window) : WindowEvent(window) { }
105 
106  };
107 
111  class NAPAPI WindowRestoredEvent : public WindowEvent
112  {
113  RTTI_ENABLE(WindowEvent)
114  public:
115  WindowRestoredEvent(int window) : WindowEvent(window) { }
116  };
117 
121  class NAPAPI WindowEnterEvent : public WindowEvent
122  {
123  RTTI_ENABLE(WindowEvent)
124  public:
125  WindowEnterEvent(int window) : WindowEvent(window) { }
126  };
127 
131  class NAPAPI WindowLeaveEvent : public WindowEvent
132  {
133  RTTI_ENABLE(WindowEvent)
134  public:
135  WindowLeaveEvent(int window) : WindowEvent(window) { }
136  };
137 
141  class NAPAPI WindowFocusGainedEvent : public WindowEvent
142  {
143  RTTI_ENABLE(WindowEvent)
144  public:
145  WindowFocusGainedEvent(int window) : WindowEvent(window) { }
146  };
147 
151  class NAPAPI WindowFocusLostEvent : public WindowEvent
152  {
153  RTTI_ENABLE(WindowEvent)
154  public:
155  WindowFocusLostEvent(int window) : WindowEvent(window) { }
156  };
157 
161  class NAPAPI WindowCloseEvent : public WindowEvent
162  {
163  RTTI_ENABLE(WindowEvent)
164  public:
165  WindowCloseEvent(int window) : WindowEvent(window) { }
166  };
167 
171  class NAPAPI WindowExposedEvent : public WindowEvent
172  {
173  RTTI_ENABLE(WindowEvent)
174  public:
175  WindowExposedEvent(int window) : WindowEvent(window) { }
176  };
177 
181  class NAPAPI WindowTakeFocusEvent : public WindowEvent
182  {
183  RTTI_ENABLE(WindowEvent)
184  public:
185  WindowTakeFocusEvent(int window) : WindowEvent(window) { }
186  };
187 
188  using WindowEventPtr = std::unique_ptr<WindowEvent>;
189  using WindowEventPtrList = std::vector<WindowEventPtr>;
190 }
nap::ParameterizedWindowEvent::mX
int mX
Definition: windowevent.h:39
nap::WindowResizedEvent
Definition: windowevent.h:79
nap::WindowEnterEvent
Definition: windowevent.h:121
nap::WindowShownEvent
Definition: windowevent.h:48
nap::WindowTakeFocusEvent::WindowTakeFocusEvent
WindowTakeFocusEvent(int window)
Definition: windowevent.h:185
nap::WindowShownEvent::WindowShownEvent
WindowShownEvent(int window)
Definition: windowevent.h:52
nap::WindowExposedEvent
Definition: windowevent.h:171
nap::WindowTakeFocusEvent
Definition: windowevent.h:181
nap::WindowFocusGainedEvent::WindowFocusGainedEvent
WindowFocusGainedEvent(int window)
Definition: windowevent.h:145
nap::WindowHiddenEvent
Definition: windowevent.h:58
nap::Event
Definition: event.h:17
nap::WindowMinimizedEvent
Definition: windowevent.h:90
nap::WindowMaximizedEvent
Definition: windowevent.h:100
nap::ParameterizedWindowEvent::ParameterizedWindowEvent
ParameterizedWindowEvent(int inX, int inY, int window)
Definition: windowevent.h:35
nap::WindowEvent::mWindow
int mWindow
Definition: windowevent.h:25
nap::WindowLeaveEvent
Definition: windowevent.h:131
nap::WindowMaximizedEvent::WindowMaximizedEvent
WindowMaximizedEvent(int window)
Definition: windowevent.h:104
nap::WindowEventPtrList
std::vector< WindowEventPtr > WindowEventPtrList
Definition: windowevent.h:189
nap::WindowMovedEvent::WindowMovedEvent
WindowMovedEvent(int x, int y, int window)
Definition: windowevent.h:72
nap::WindowFocusLostEvent
Definition: windowevent.h:151
nap::WindowFocusGainedEvent
Definition: windowevent.h:141
nap::WindowMovedEvent
Definition: windowevent.h:68
nap::WindowEvent
Definition: windowevent.h:16
nap::WindowExposedEvent::WindowExposedEvent
WindowExposedEvent(int window)
Definition: windowevent.h:175
nap::WindowRestoredEvent
Definition: windowevent.h:111
nap::WindowRestoredEvent::WindowRestoredEvent
WindowRestoredEvent(int window)
Definition: windowevent.h:115
nap::WindowEventPtr
std::unique_ptr< WindowEvent > WindowEventPtr
Definition: windowevent.h:188
nap::WindowHiddenEvent::WindowHiddenEvent
WindowHiddenEvent(int window)
Definition: windowevent.h:62
nap::ParameterizedWindowEvent
Definition: windowevent.h:31
nap
Definition: templateapp.h:17
nap::WindowCloseEvent
Definition: windowevent.h:161
nap::WindowEnterEvent::WindowEnterEvent
WindowEnterEvent(int window)
Definition: windowevent.h:125
nap::WindowEvent::WindowEvent
WindowEvent(int window)
Definition: windowevent.h:22
nap::WindowFocusLostEvent::WindowFocusLostEvent
WindowFocusLostEvent(int window)
Definition: windowevent.h:155
nap::WindowResizedEvent::WindowResizedEvent
WindowResizedEvent(int width, int height, int window)
Definition: windowevent.h:83
nap::WindowMinimizedEvent::WindowMinimizedEvent
WindowMinimizedEvent(int window)
Definition: windowevent.h:94
nap::ParameterizedWindowEvent::mY
int mY
Definition: windowevent.h:40
nap::WindowLeaveEvent::WindowLeaveEvent
WindowLeaveEvent(int window)
Definition: windowevent.h:135
nap::WindowCloseEvent::WindowCloseEvent
WindowCloseEvent(int window)
Definition: windowevent.h:165