#ifndef ARC_GRAPHICS_KEYBOARD_H_ #define ARC_GRAPHICS_KEYBOARD_H_ #ifdef __cplusplus extern "C" { #endif #include typedef struct ARC_Keyboard ARC_Keyboard; typedef struct ARC_KeyboardInfo ARC_KeyboardInfo; typedef enum ARC_KeyboardState { ARC_KEY_NONE, ARC_KEY_PRESSED, ARC_KEY_RELEASED } ARC_KeyboardState; #define ARC_KEYBOARD_BUTTON_NUM 239 void ARC_Keyboard_Create(ARC_Keyboard **keyboard, ARC_KeyboardInfo *info); void ARC_Keyboard_Destroy(ARC_Keyboard *keyboard); void ARC_Keyboard_Update(ARC_Keyboard *keyboard); ARC_KeyboardState ARC_Keyboard_GetState(ARC_Keyboard *keyboard, uint8_t keys); #ifdef __cplusplus } #endif #endif // !ARC_GRAPHICS_KEYBOARD_H_