#ifndef ARC_CONSOLE_KEY_H_ #define ARC_CONSOLE_KEY_H_ #ifdef __cplusplus extern "C" { #endif #include "arc/std/bool.h" #include typedef struct ARC_ConsoleKeyType ARC_ConsoleKey; typedef enum ARC_ConsoleKey_Key { ARC_KEY_A, ARC_KEY_B, ARC_KEY_C, ARC_KEY_D, ARC_KEY_E, ARC_KEY_F, ARC_KEY_G, ARC_KEY_H, ARC_KEY_I, ARC_KEY_J, ARC_KEY_K, ARC_KEY_L, ARC_KEY_M, ARC_KEY_N, ARC_KEY_O, ARC_KEY_P, ARC_KEY_Q, ARC_KEY_R, ARC_KEY_S, ARC_KEY_T, ARC_KEY_U, ARC_KEY_V, ARC_KEY_W, ARC_KEY_X, ARC_KEY_Y, ARC_KEY_Z, ARC_KEY_0, ARC_KEY_1, ARC_KEY_2, ARC_KEY_3, ARC_KEY_4, ARC_KEY_5, ARC_KEY_6, ARC_KEY_7, ARC_KEY_8, ARC_KEY_9, ARC_KEY_LEFT, ARC_KEY_RIGHT, ARC_KEY_DOWN, ARC_KEY_UP, ARC_KEY_ESC } ARC_ConsoleKey_Key; void ARC_ConsoleKey_Create(ARC_ConsoleKey **consoleKey, ARC_ConsoleKey_Key *key); void ARC_ConsoleKey_Destroy(ARC_ConsoleKey *consoleKey); ARC_Bool ARC_ConsoleKey_Equals(ARC_ConsoleKey consoleKey, enum ARC_ConsoleKey_Key key); ARC_Bool ARC_ConsoleKey_EqualsPointer(ARC_ConsoleKey *consoleKey, enum ARC_ConsoleKey_Key key); ARC_ConsoleKey ARC_Keyboard_GetConsoleKey(enum ARC_ConsoleKey_Key key); uint8_t ARC_ConsoleKey_GetCharFromKey(ARC_ConsoleKey *consoleKey); #ifdef __cplusplus } #endif #endif // !ARC_CONSOLE_KEY_H_