DoukutsuNikki/src/Backends/Misc.h

112 lines
2.9 KiB
C++

#pragma once
#include <string>
#include "../Attributes.h"
enum
{
// Based on US QWERTY
BACKEND_KEYBOARD_A,
BACKEND_KEYBOARD_B,
BACKEND_KEYBOARD_C,
BACKEND_KEYBOARD_D,
BACKEND_KEYBOARD_E,
BACKEND_KEYBOARD_F,
BACKEND_KEYBOARD_G,
BACKEND_KEYBOARD_H,
BACKEND_KEYBOARD_I,
BACKEND_KEYBOARD_J,
BACKEND_KEYBOARD_K,
BACKEND_KEYBOARD_L,
BACKEND_KEYBOARD_M,
BACKEND_KEYBOARD_N,
BACKEND_KEYBOARD_O,
BACKEND_KEYBOARD_P,
BACKEND_KEYBOARD_Q,
BACKEND_KEYBOARD_R,
BACKEND_KEYBOARD_S,
BACKEND_KEYBOARD_T,
BACKEND_KEYBOARD_U,
BACKEND_KEYBOARD_V,
BACKEND_KEYBOARD_W,
BACKEND_KEYBOARD_X,
BACKEND_KEYBOARD_Y,
BACKEND_KEYBOARD_Z,
BACKEND_KEYBOARD_0,
BACKEND_KEYBOARD_1,
BACKEND_KEYBOARD_2,
BACKEND_KEYBOARD_3,
BACKEND_KEYBOARD_4,
BACKEND_KEYBOARD_5,
BACKEND_KEYBOARD_6,
BACKEND_KEYBOARD_7,
BACKEND_KEYBOARD_8,
BACKEND_KEYBOARD_9,
BACKEND_KEYBOARD_F1,
BACKEND_KEYBOARD_F2,
BACKEND_KEYBOARD_F3,
BACKEND_KEYBOARD_F4,
BACKEND_KEYBOARD_F5,
BACKEND_KEYBOARD_F6,
BACKEND_KEYBOARD_F7,
BACKEND_KEYBOARD_F8,
BACKEND_KEYBOARD_F9,
BACKEND_KEYBOARD_F10,
BACKEND_KEYBOARD_F11,
BACKEND_KEYBOARD_F12,
BACKEND_KEYBOARD_UP,
BACKEND_KEYBOARD_DOWN,
BACKEND_KEYBOARD_LEFT,
BACKEND_KEYBOARD_RIGHT,
BACKEND_KEYBOARD_ESCAPE,
BACKEND_KEYBOARD_BACK_QUOTE,
BACKEND_KEYBOARD_TAB,
BACKEND_KEYBOARD_CAPS_LOCK,
BACKEND_KEYBOARD_LEFT_SHIFT,
BACKEND_KEYBOARD_LEFT_CTRL,
BACKEND_KEYBOARD_LEFT_ALT,
BACKEND_KEYBOARD_SPACE,
BACKEND_KEYBOARD_RIGHT_ALT,
BACKEND_KEYBOARD_RIGHT_CTRL,
BACKEND_KEYBOARD_RIGHT_SHIFT,
BACKEND_KEYBOARD_ENTER,
BACKEND_KEYBOARD_BACKSPACE,
BACKEND_KEYBOARD_MINUS,
BACKEND_KEYBOARD_EQUALS,
BACKEND_KEYBOARD_LEFT_BRACKET,
BACKEND_KEYBOARD_RIGHT_BRACKET,
BACKEND_KEYBOARD_BACK_SLASH,
BACKEND_KEYBOARD_SEMICOLON,
BACKEND_KEYBOARD_APOSTROPHE,
BACKEND_KEYBOARD_COMMA,
BACKEND_KEYBOARD_PERIOD,
BACKEND_KEYBOARD_FORWARD_SLASH,
BACKEND_KEYBOARD_TOTAL
};
typedef struct Backend_DisplayMode
{
unsigned int width;
unsigned int height;
unsigned int refresh_rate;
} Backend_DisplayMode;
bool Backend_Init(void);
void Backend_Deinit(void);
void Backend_PostWindowCreation(void);
bool Backend_GetBasePath(std::string *string_buffer);
void Backend_HideMouse(void);
void Backend_SetWindowIcon(const unsigned char *rgb_pixels, unsigned int width, unsigned int height);
void Backend_SetCursor(const unsigned char *rgba_pixels, unsigned int width, unsigned int height);
void PlaybackBackend_EnableDragAndDrop(void);
bool Backend_SystemTask(bool active);
void Backend_GetKeyboardState(bool *keyboard_state);
void Backend_ShowMessageBox(const char *title, const char *message);
ATTRIBUTE_FORMAT_PRINTF(1, 2) void Backend_PrintError(const char *format, ...);
ATTRIBUTE_FORMAT_PRINTF(1, 2) void Backend_PrintInfo(const char *format, ...);
unsigned long Backend_GetTicks(void);
void Backend_Delay(unsigned int ticks);
void Backend_GetDisplayMode(Backend_DisplayMode *display_mode);
bool Backend_IsConsole(void);