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 
40  int mX;
41  int mY;
42  };
43 
45 
49  class NAPAPI WindowShownEvent : public WindowEvent
50  {
51  RTTI_ENABLE(WindowEvent)
52  public:
53  WindowShownEvent(int window) : WindowEvent(window) { }
54  };
55 
59  class NAPAPI WindowHiddenEvent : public WindowEvent
60  {
61  RTTI_ENABLE(WindowEvent)
62  public:
63  WindowHiddenEvent(int window) : WindowEvent(window) { }
64  };
65 
70  {
71  RTTI_ENABLE(ParameterizedWindowEvent)
72  public:
73  WindowMovedEvent(int x, int y, int window) : ParameterizedWindowEvent(x, y, window)
74  { }
75  };
76 
81  {
82  RTTI_ENABLE(ParameterizedWindowEvent)
83  public:
84  WindowResizedEvent(int width, int height, int window) :ParameterizedWindowEvent(width, height, window)
85  { }
86  };
87 
91  class NAPAPI WindowMinimizedEvent : public WindowEvent
92  {
93  RTTI_ENABLE(WindowEvent)
94  public:
95  WindowMinimizedEvent(int window) : WindowEvent(window) { }
96  };
97 
101  class NAPAPI WindowMaximizedEvent : public WindowEvent
102  {
103  RTTI_ENABLE(WindowEvent)
104  public:
105  WindowMaximizedEvent(int window) : WindowEvent(window) { }
106 
107  };
108 
112  class NAPAPI WindowRestoredEvent : public WindowEvent
113  {
114  RTTI_ENABLE(WindowEvent)
115  public:
116  WindowRestoredEvent(int window) : WindowEvent(window) { }
117  };
118 
122  class NAPAPI WindowEnterEvent : public WindowEvent
123  {
124  RTTI_ENABLE(WindowEvent)
125  public:
126  WindowEnterEvent(int window) : WindowEvent(window) { }
127  };
128 
132  class NAPAPI WindowLeaveEvent : public WindowEvent
133  {
134  RTTI_ENABLE(WindowEvent)
135  public:
136  WindowLeaveEvent(int window) : WindowEvent(window) { }
137  };
138 
142  class NAPAPI WindowFocusGainedEvent : public WindowEvent
143  {
144  RTTI_ENABLE(WindowEvent)
145  public:
146  WindowFocusGainedEvent(int window) : WindowEvent(window) { }
147  };
148 
152  class NAPAPI WindowFocusLostEvent : public WindowEvent
153  {
154  RTTI_ENABLE(WindowEvent)
155  public:
156  WindowFocusLostEvent(int window) : WindowEvent(window) { }
157  };
158 
162  class NAPAPI WindowCloseEvent : public WindowEvent
163  {
164  RTTI_ENABLE(WindowEvent)
165  public:
166  WindowCloseEvent(int window) : WindowEvent(window) { }
167  };
168 
172  class NAPAPI WindowExposedEvent : public WindowEvent
173  {
174  RTTI_ENABLE(WindowEvent)
175  public:
176  WindowExposedEvent(int window) : WindowEvent(window) { }
177  };
178 
182  class NAPAPI WindowTakeFocusEvent : public WindowEvent
183  {
184  RTTI_ENABLE(WindowEvent)
185  public:
186  WindowTakeFocusEvent(int window) : WindowEvent(window) { }
187  };
188 
189  using WindowEventPtr = std::unique_ptr<WindowEvent>;
190  using WindowEventPtrList = std::vector<WindowEventPtr>;
191 }
nap::ParameterizedWindowEvent::mX
int mX
Definition: windowevent.h:40
nap::WindowResizedEvent
Definition: windowevent.h:80
nap::WindowEnterEvent
Definition: windowevent.h:122
nap::WindowShownEvent
Definition: windowevent.h:49
nap::WindowTakeFocusEvent::WindowTakeFocusEvent
WindowTakeFocusEvent(int window)
Definition: windowevent.h:186
nap::WindowShownEvent::WindowShownEvent
WindowShownEvent(int window)
Definition: windowevent.h:53
nap::WindowExposedEvent
Definition: windowevent.h:172
nap::WindowTakeFocusEvent
Definition: windowevent.h:182
nap::WindowFocusGainedEvent::WindowFocusGainedEvent
WindowFocusGainedEvent(int window)
Definition: windowevent.h:146
nap::WindowHiddenEvent
Definition: windowevent.h:59
nap::Event
Definition: event.h:17
nap::WindowMinimizedEvent
Definition: windowevent.h:91
nap::WindowMaximizedEvent
Definition: windowevent.h:101
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:132
nap::WindowMaximizedEvent::WindowMaximizedEvent
WindowMaximizedEvent(int window)
Definition: windowevent.h:105
nap::WindowEventPtrList
std::vector< WindowEventPtr > WindowEventPtrList
Definition: windowevent.h:190
nap::WindowMovedEvent::WindowMovedEvent
WindowMovedEvent(int x, int y, int window)
Definition: windowevent.h:73
nap::WindowFocusLostEvent
Definition: windowevent.h:152
nap::WindowFocusGainedEvent
Definition: windowevent.h:142
nap::WindowMovedEvent
Definition: windowevent.h:69
nap::WindowEvent
Definition: windowevent.h:16
nap::WindowExposedEvent::WindowExposedEvent
WindowExposedEvent(int window)
Definition: windowevent.h:176
nap::WindowRestoredEvent
Definition: windowevent.h:112
nap::WindowRestoredEvent::WindowRestoredEvent
WindowRestoredEvent(int window)
Definition: windowevent.h:116
nap::WindowEventPtr
std::unique_ptr< WindowEvent > WindowEventPtr
Definition: windowevent.h:189
nap::WindowHiddenEvent::WindowHiddenEvent
WindowHiddenEvent(int window)
Definition: windowevent.h:63
nap::ParameterizedWindowEvent
Definition: windowevent.h:31
nap
Definition: templateapp.h:17
nap::WindowCloseEvent
Definition: windowevent.h:162
nap::WindowEnterEvent::WindowEnterEvent
WindowEnterEvent(int window)
Definition: windowevent.h:126
nap::WindowEvent::WindowEvent
WindowEvent(int window)
Definition: windowevent.h:22
nap::WindowFocusLostEvent::WindowFocusLostEvent
WindowFocusLostEvent(int window)
Definition: windowevent.h:156
nap::WindowResizedEvent::WindowResizedEvent
WindowResizedEvent(int width, int height, int window)
Definition: windowevent.h:84
nap::WindowMinimizedEvent::WindowMinimizedEvent
WindowMinimizedEvent(int window)
Definition: windowevent.h:95
nap::ParameterizedWindowEvent::mY
int mY
Definition: windowevent.h:41
nap::WindowLeaveEvent::WindowLeaveEvent
WindowLeaveEvent(int window)
Definition: windowevent.h:136
nap::WindowCloseEvent::WindowCloseEvent
WindowCloseEvent(int window)
Definition: windowevent.h:166