LkEngine
0.1.2
Loading...
Searching...
No Matches
KeyEvent.h
1
#pragma once
2
3
#include "LkEngine/Core/Event/Event.h"
4
#include "LkEngine/Core/Input/Keyboard.h"
5
6
7
namespace
LkEngine
{
8
12
class
LKeyPressedEvent
:
public
LEvent
13
{
14
public
:
15
LKeyPressedEvent
() =
delete
;
16
LKeyPressedEvent
(
const
EKey
InKey,
const
int
InRepeatCount)
17
: Key(InKey)
18
, RepeatCount(InRepeatCount)
19
{
20
}
21
22
FORCEINLINE
EKey
GetKey()
const
{
return
Key; }
23
FORCEINLINE
int
GetRepeatCount()
const
{
return
RepeatCount; }
24
25
FORCEINLINE std::string ToString()
const override
26
{
27
return
LK_FMT_LIB::format(
"{}: {} (repeat: {})"
, GetName(), Enum::ToString(Key), RepeatCount);
28
}
29
30
private
:
31
EKey
Key = EKey::None;
32
int
RepeatCount = 0;
33
34
LEVENT(
LKeyPressedEvent
, KeyPressed);
35
};
36
40
class
LKeyReleasedEvent
:
public
LEvent
41
{
42
public
:
43
LKeyReleasedEvent
() =
delete
;
44
LKeyReleasedEvent
(
const
EKey
InKey) : Key(InKey) {}
45
46
FORCEINLINE std::string ToString()
const override
47
{
48
return
LK_FMT_LIB::format(
"{}: {}"
, GetName(), Enum::ToString(Key));
49
}
50
51
private
:
52
EKey
Key = EKey::None;
53
54
LEVENT(
LKeyReleasedEvent
, KeyReleased);
55
};
56
57
}
LkEngine::LEvent
Definition
Event.h:71
LkEngine::LKeyPressedEvent
Definition
KeyEvent.h:13
LkEngine::LKeyReleasedEvent
Definition
KeyEvent.h:41
LkEngine
Definition
Asset.h:11
LkEngine::EKey
EKey
Definition
Keycodes.h:17
LkEngine
Source
LkEngine
Core
Event
KeyEvent.h
Generated by
1.12.0