48 lines
1.2 KiB
C++
48 lines
1.2 KiB
C++
// window.h
|
|
#pragma once
|
|
#ifndef WINDOW_H
|
|
#define WINDOW_H
|
|
#include <cstdint>
|
|
|
|
typedef struct window_t window_t;
|
|
|
|
#define KEY_RETURN 40
|
|
#define KEY_SPACE 44
|
|
#define KEY_ESCAPE 41
|
|
#define KEY_LSHIFT 42
|
|
#define KEY_RSHIFT 43
|
|
#define KEY_LCTRL 29
|
|
#define KEY_RCTRL 157
|
|
|
|
#define MOUSE_BUTTON_LEFT 1
|
|
#define MOUSE_BUTTON_MIDDLE 2
|
|
#define MOUSE_BUTTON_RIGHT 3
|
|
|
|
#define KEY_UP 82
|
|
#define KEY_DOWN 81
|
|
#define KEY_LEFT 80
|
|
#define KEY_RIGHT 79
|
|
#define KEY_BACKSPACE 42
|
|
|
|
#define KEY_F1 58
|
|
#define KEY_F2 59
|
|
|
|
#define KEY_A 4
|
|
#define KEY_D 7
|
|
#define KEY_W 26
|
|
#define KEY_S 22
|
|
#define KEY_1 30
|
|
#define KEY_0 39
|
|
|
|
extern "C" {
|
|
window_t* window_create(int width, int height, const char* title);
|
|
void window_destroy(window_t* s);
|
|
bool window_pollevent(window_t* s);
|
|
void window_blit(window_t* s, const uint32_t* framebuffer);
|
|
bool window_is_key_down(window_t* s, int key_scancode);
|
|
bool window_is_mouse_button_down(window_t* s, int button_index);
|
|
void window_get_mouse_position(window_t* s, int* x, int* y);
|
|
}
|
|
|
|
#endif // WINDOW_H
|