shithub: cstory

ref: 659f89ea85658e789eafb66d1447617d691d925f
dir: /src/Backends/Platform.h/

View raw version
#pragma once

#include "../WindowsWrapper.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
};

extern BOOL bActive;
extern BOOL backend_keyboard_state[BACKEND_KEYBOARD_TOTAL];
extern BOOL backend_previous_keyboard_state[BACKEND_KEYBOARD_TOTAL];

void PlatformBackend_Init(void);
void PlatformBackend_Deinit(void);
void PlatformBackend_PostWindowCreation(void);
BOOL PlatformBackend_GetBasePath(char *string_buffer);
void PlatformBackend_HideMouse(void);
void PlatformBackend_SetWindowIcon(const unsigned char *rgb_pixels, unsigned int width, unsigned int height);
void PlatformBackend_SetCursor(const unsigned char *rgb_pixels, unsigned int width, unsigned int height);
void PlaybackBackend_EnableDragAndDrop(void);
BOOL PlatformBackend_SystemTask(void);
void PlatformBackend_ShowMessageBox(const char *title, const char *message);
unsigned long PlatformBackend_GetTicks(void);
void PlatformBackend_Delay(unsigned int ticks);