Elevate Engine 1
Loading...
Searching...
No Matches
Elevate::InputBuffer Class Reference

#include <InputBuffer.h>

Public Member Functions

bool IsKeyPressed (int keycode)
 Getter.
 
bool IsKeyDown (int keycode)
 
bool IsKeyUp (int keycode)
 
bool IsMouseButtonPressed (int mouseButtonCode)
 
bool IsMouseButtonDown (int mouseButtonCode)
 
bool IsMouseButtonUp (int mouseButtonCode)
 
void SetKeyPressed (int keycode, int repeatCount)
 Setter.
 
void SetKeyReleased (int keycode)
 
void SetMouseButtonPressed (int mouseButtonCode)
 
void SetMouseButtonReleased (int mouseButtonCode)
 
void ResetAllStates ()
 
void ManageMidSates ()
 

Detailed Description

Definition at line 7 of file InputBuffer.h.

Member Function Documentation

◆ IsKeyDown()

bool Elevate::InputBuffer::IsKeyDown ( int  keycode)

Definition at line 16 of file InputBuffer.cpp.

17 {
18 return GetKeyState(keycode) == EE_STATE_DOWN;
19 }
#define EE_STATE_DOWN
Definition Input.h:20

◆ IsKeyPressed()

bool Elevate::InputBuffer::IsKeyPressed ( int  keycode)

Getter.

Definition at line 12 of file InputBuffer.cpp.

13 {
14 return GetKeyState(keycode) == EE_STATE_PRESSED;
15 }
#define EE_STATE_PRESSED
Definition Input.h:21

◆ IsKeyUp()

bool Elevate::InputBuffer::IsKeyUp ( int  keycode)

Definition at line 20 of file InputBuffer.cpp.

21 {
22 return GetKeyState(keycode) == EE_STATE_UP;
23 }
#define EE_STATE_UP
Definition Input.h:22

◆ IsMouseButtonDown()

bool Elevate::InputBuffer::IsMouseButtonDown ( int  mouseButtonCode)

Definition at line 29 of file InputBuffer.cpp.

30 {
31 return GetMouseButtonState(mouseButtonCode) == EE_STATE_DOWN;
32 }

◆ IsMouseButtonPressed()

bool Elevate::InputBuffer::IsMouseButtonPressed ( int  mouseButtonCode)

Definition at line 25 of file InputBuffer.cpp.

26 {
27 return GetMouseButtonState(mouseButtonCode) == EE_STATE_PRESSED;
28 }

◆ IsMouseButtonUp()

bool Elevate::InputBuffer::IsMouseButtonUp ( int  mouseButtonCode)

Definition at line 33 of file InputBuffer.cpp.

34 {
35 return GetMouseButtonState(mouseButtonCode) == EE_STATE_UP;
36 }

◆ ManageMidSates()

void Elevate::InputBuffer::ManageMidSates ( )

Definition at line 89 of file InputBuffer.cpp.

90 {
91 // Keyboard
92 for (size_t i = 0; i < keyStates.size() / 2; i++)
93 {
94 uint8_t state = GetKeyState(i);
95 switch (state)
96 {
97 case EE_STATE_DOWN:
98 SetKeyState(i, EE_STATE_PRESSED);
99 break;
100 case EE_STATE_UP:
101 SetKeyState(i, EE_STATE_RELEASED);
102 break;
103 }
104 }
105
106 // Mouse
107 for (size_t i = 0; i < mouseButtonStates.size() / 2; i++)
108 {
109 uint8_t state = GetMouseButtonState(i);
110 switch (state)
111 {
112 case EE_STATE_DOWN:
113 SetMouseButtonState(i, EE_STATE_PRESSED);
114 break;
115 case EE_STATE_UP:
116 SetMouseButtonState(i, EE_STATE_RELEASED);
117 break;
118 }
119 }
120 }
#define EE_STATE_RELEASED
Definition Input.h:19

◆ ResetAllStates()

void Elevate::InputBuffer::ResetAllStates ( )

Definition at line 83 of file InputBuffer.cpp.

84 {
85 keyStates.reset();
86 mouseButtonStates.reset();
87 }

◆ SetKeyPressed()

void Elevate::InputBuffer::SetKeyPressed ( int  keycode,
int  repeatCount 
)

Setter.

Internal - State Machine.

Definition at line 40 of file InputBuffer.cpp.

41 {
42 // if key is not down and not repeating -> down
43 if (GetKeyState(keycode) != EE_STATE_DOWN && repeatCount == 0)
44 {
45 SetKeyState(keycode, EE_STATE_DOWN);
46 }
47 else // else -> pressed
48 {
49 SetKeyState(keycode, EE_STATE_PRESSED);
50 }
51 }

◆ SetKeyReleased()

void Elevate::InputBuffer::SetKeyReleased ( int  keycode)

Definition at line 52 of file InputBuffer.cpp.

53 {
54 // if key is down or pressed -> up
55 if (GetKeyState(keycode) == EE_STATE_DOWN || GetKeyState(keycode) == EE_STATE_PRESSED)
56 {
57 SetKeyState(keycode, EE_STATE_UP);
58 }
59 }

◆ SetMouseButtonPressed()

void Elevate::InputBuffer::SetMouseButtonPressed ( int  mouseButtonCode)

Definition at line 62 of file InputBuffer.cpp.

63 {
64 // if key is not down
65 if (GetMouseButtonState(mouseButtonCode) != EE_STATE_DOWN)
66 {
67 SetMouseButtonState(mouseButtonCode, EE_STATE_DOWN);
68 }
69 else // else -> pressed
70 {
71 SetMouseButtonState(mouseButtonCode, EE_STATE_PRESSED);
72 }
73 }

◆ SetMouseButtonReleased()

void Elevate::InputBuffer::SetMouseButtonReleased ( int  mouseButtonCode)

Definition at line 74 of file InputBuffer.cpp.

75 {
76 // if key is down or pressed -> up
77 if (GetMouseButtonState(mouseButtonCode) == EE_STATE_DOWN || GetMouseButtonState(mouseButtonCode) == EE_STATE_PRESSED)
78 {
79 SetMouseButtonState(mouseButtonCode, EE_STATE_UP);
80 }
81 }

The documentation for this class was generated from the following files: