Gamedev Framework (gf) 1.2.0
A C++17 framework for 2D games
Control.h
1/*
2 * Gamedev Framework (gf)
3 * Copyright (C) 2016-2022 Julien Bernard
4 *
5 * This software is provided 'as-is', without any express or implied
6 * warranty. In no event will the authors be held liable for any damages
7 * arising from the use of this software.
8 *
9 * Permission is granted to anyone to use this software for any purpose,
10 * including commercial applications, and to alter it and redistribute it
11 * freely, subject to the following restrictions:
12 *
13 * 1. The origin of this software must not be misrepresented; you must not
14 * claim that you wrote the original software. If you use this software
15 * in a product, an acknowledgment in the product documentation would be
16 * appreciated but is not required.
17 * 2. Altered source versions must be plainly marked as such, and must not be
18 * misrepresented as being the original software.
19 * 3. This notice may not be removed or altered from any source distribution.
20 */
21#ifndef GF_CONTROL_H
22#define GF_CONTROL_H
23
24#include "GraphicsApi.h"
25
26namespace gf {
27#ifndef DOXYGEN_SHOULD_SKIP_THIS
28inline namespace v1 {
29#endif
30
31 struct Event;
32
38 class GF_GRAPHICS_API Control {
39 public:
45 : m_active(false)
46 {
47 }
48
52 virtual ~Control();
53
61 bool isActive() const {
62 return m_active;
63 }
64
70 void setActive(bool active = true) {
71 m_active = active;
72 }
73
81 void reset() {
82 m_active = false;
83 }
84
92 virtual void processEvent(const Event& event) = 0;
93
94 private:
95 bool m_active;
96 };
97
98#ifndef DOXYGEN_SHOULD_SKIP_THIS
99}
100#endif
101}
102
103#endif // GF_CONTROL_H
A physical control.
Definition: Control.h:38
void reset()
Desactivate the control.
Definition: Control.h:81
void setActive(bool active=true)
Change the active state of the control.
Definition: Control.h:70
virtual ~Control()
Destroy the control.
bool isActive() const
Check if the control is active.
Definition: Control.h:61
virtual void processEvent(const Event &event)=0
Update the state of the control thanks to an event.
Control()
Construct a control.
Definition: Control.h:44
@ Event
An event is pending on the sockets.
The namespace for gf classes.
Defines a system event and its parameters.
Definition: Event.h:224