Just™ Game Engine
key_events.hpp
Go to the documentation of this file.
1/*
2 * Copyright (C) 2021-2022 Konstanty Misiak
3 *
4 * SPDX-License-Identifier: MIT
5 */
6
7#pragma once
8#include "jng/core/event.hpp"
10
11namespace jng {
12
13 class KeyEvent :
14 public Event
15 {
16 public:
17 Key::Code getKeyCode() const { return m_keyCode; }
18 protected:
19 explicit KeyEvent(Key::Code keyCode) :
20 m_keyCode{ keyCode } {}
21
23 };
24
26 public KeyEvent
27 {
28 public:
30 KeyEvent{ keyCode },
31 m_isRepeat{ isRepeat } {}
32
33 bool isRepeat() const { return m_isRepeat; }
34
35 EVENT_CLASS_TYPE(KeyPress)
36 private:
37 bool m_isRepeat;
38 };
39
41 public KeyEvent
42 {
43 public:
44 explicit KeyReleaseEvent(Key::Code keyCode) :
45 KeyEvent{ keyCode } {}
46
47 EVENT_CLASS_TYPE(KeyRelease)
48 };
49
50} // namespace jng
Definition: event.hpp:24
Definition: key_events.hpp:15
KeyEvent(Key::Code keyCode)
Definition: key_events.hpp:19
Key::Code m_keyCode
Definition: key_events.hpp:22
Key::Code getKeyCode() const
Definition: key_events.hpp:17
Definition: key_events.hpp:27
KeyPressEvent(Key::Code keyCode, bool isRepeat)
Definition: key_events.hpp:29
bool isRepeat() const
Definition: key_events.hpp:33
Definition: key_events.hpp:42
KeyReleaseEvent(Key::Code keyCode)
Definition: key_events.hpp:44
#define EVENT_CLASS_TYPE(type)
Definition: event.hpp:61
u16 Code
Definition: key_codes.hpp:13
Definition: base.hpp:11