Move unigi.headers to unigi, also separate headers for SWIG
This commit is contained in:
parent
34aa7f0a1c
commit
c242cbc054
23
src/main.h
Normal file
23
src/main.h
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
#ifndef unigi_header_main
|
||||||
|
#define unigi_header_main
|
||||||
|
#include "types.h"
|
||||||
|
#include "structs.h"
|
||||||
|
|
||||||
|
// MAIN
|
||||||
|
unigi_type_error unigi_init();
|
||||||
|
|
||||||
|
// GRAPHICS
|
||||||
|
unigi_type_error unigi_graphics_init();
|
||||||
|
unigi_type_resolution_range * unigi_resolutions;
|
||||||
|
static inline void unigi_graphics_draw(unigi_type_resolution_1d_coord index, unigi_type_color color);
|
||||||
|
static inline void unigi_graphics_blit(unigi_type_resolution_1d_coord index, unigi_type_color * pixels, unigi_type_resolution_1d_coord length);
|
||||||
|
static inline void unigi_graphics_flush();
|
||||||
|
|
||||||
|
unigi_type_error unigi_window_create(unigi_type_resolution resolution, char * title);
|
||||||
|
unigi_type_time_span unigi_time_get();
|
||||||
|
|
||||||
|
// TIME
|
||||||
|
#define unigi_time_clocks_per_s 1000000
|
||||||
|
void unigi_time_sleep(unigi_type_time_span ms);
|
||||||
|
void unigi_event_get(unigi_type_event * event);
|
||||||
|
#endif
|
13
src/main.i
Normal file
13
src/main.i
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
%module unigi
|
||||||
|
%{
|
||||||
|
#include <stdint.h>
|
||||||
|
#include "types.h"
|
||||||
|
#include "structs.h"
|
||||||
|
#include "main.h"
|
||||||
|
%}
|
||||||
|
%include <typemaps.i>
|
||||||
|
%include <stdint.i>
|
||||||
|
%rename("%(strip:[unigi_])s") "";
|
||||||
|
%include "types.h"
|
||||||
|
%include "structs.h"
|
||||||
|
%include "main.h"
|
126
src/structs.h
Normal file
126
src/structs.h
Normal file
@ -0,0 +1,126 @@
|
|||||||
|
#ifndef unigi_header_structs
|
||||||
|
#define unigi_header_structs
|
||||||
|
// * EVENTS
|
||||||
|
struct unigi_type_event_none {
|
||||||
|
uint8_t none;
|
||||||
|
};
|
||||||
|
typedef struct unigi_type_event_none unigi_type_event_none;
|
||||||
|
const unigi_type_event_enum unigi_enum_event_none = 0;
|
||||||
|
|
||||||
|
struct unigi_type_event_unknown {
|
||||||
|
uint8_t none;
|
||||||
|
};
|
||||||
|
typedef struct unigi_type_event_unknown unigi_type_event_unknown;
|
||||||
|
const unigi_type_event_enum unigi_enum_event_unknown = 1;
|
||||||
|
|
||||||
|
const unigi_type_event_enum unigi_enum_event_window_quit = 2;
|
||||||
|
struct unigi_type_event_window_quit {
|
||||||
|
uint8_t none;
|
||||||
|
};
|
||||||
|
typedef struct unigi_type_event_window_quit unigi_type_event_window_quit;
|
||||||
|
|
||||||
|
const unigi_type_event_enum unigi_enum_event_window_focus = 4;
|
||||||
|
struct unigi_type_event_window_focus {
|
||||||
|
uint8_t focused;
|
||||||
|
};
|
||||||
|
typedef struct unigi_type_event_window_focus unigi_type_event_window_focus;
|
||||||
|
|
||||||
|
const unigi_type_event_enum unigi_enum_event_window_activate = 5;
|
||||||
|
struct unigi_type_event_window_activate {
|
||||||
|
uint8_t active;
|
||||||
|
};
|
||||||
|
typedef struct unigi_type_event_window_activate unigi_type_event_window_activate;
|
||||||
|
|
||||||
|
// Keyboard
|
||||||
|
const unigi_type_event_enum unigi_enum_event_input_keyboard = 6;
|
||||||
|
struct unigi_type_event_input_keyboard {
|
||||||
|
unigi_type_input_device device;
|
||||||
|
unigi_type_input_keyboard_button button;
|
||||||
|
unigi_type_input_button_state down;
|
||||||
|
};
|
||||||
|
typedef struct unigi_type_event_input_keyboard unigi_type_event_input_keyboard;
|
||||||
|
|
||||||
|
// Mouse
|
||||||
|
const unigi_type_event_enum unigi_enum_event_input_mouse_button = 7;
|
||||||
|
struct unigi_type_event_input_mouse_button {
|
||||||
|
unigi_type_input_device device;
|
||||||
|
unigi_type_input_mouse_button button;
|
||||||
|
unigi_type_input_button_state down;
|
||||||
|
};
|
||||||
|
typedef struct unigi_type_event_input_mouse_button unigi_type_event_input_mouse_button;
|
||||||
|
|
||||||
|
const unigi_type_event_enum unigi_enum_event_input_mouse_move = 8;
|
||||||
|
struct unigi_type_event_input_mouse_move {
|
||||||
|
unigi_type_input_device device;
|
||||||
|
unigi_type_input_mouse_coord_relative rel_x;
|
||||||
|
unigi_type_input_mouse_coord_relative rel_y;
|
||||||
|
unigi_type_input_mouse_coord_absolute abs_x;
|
||||||
|
unigi_type_input_mouse_coord_absolute abs_y;
|
||||||
|
};
|
||||||
|
typedef struct unigi_type_event_input_mouse_move unigi_type_event_input_mouse_move;
|
||||||
|
|
||||||
|
const unigi_type_event_enum unigi_enum_event_input_mouse_scroll = 9;
|
||||||
|
struct unigi_type_event_input_mouse_scroll {
|
||||||
|
unigi_type_input_device device;
|
||||||
|
unigi_type_input_mouse_coord_scroll scroll_x;
|
||||||
|
unigi_type_input_mouse_coord_scroll scroll_y;
|
||||||
|
};
|
||||||
|
typedef struct unigi_type_event_input_mouse_scroll unigi_type_event_input_mouse_scroll;
|
||||||
|
|
||||||
|
// Joypad
|
||||||
|
const unigi_type_event_enum unigi_enum_event_input_joypad_button = 10;
|
||||||
|
struct unigi_type_event_input_joypad_button {
|
||||||
|
unigi_type_input_device device;
|
||||||
|
unigi_type_input_mouse_button button;
|
||||||
|
unigi_type_input_button_state down;
|
||||||
|
};
|
||||||
|
typedef struct unigi_type_event_input_joypad_button unigi_type_event_input_joypad_button;
|
||||||
|
|
||||||
|
const unigi_type_event_enum unigi_enum_event_input_joypad_analog = 11;
|
||||||
|
struct unigi_type_event_input_joypad_analog {
|
||||||
|
unigi_type_input_device device;
|
||||||
|
unigi_type_input_joypad_button axis;
|
||||||
|
unigi_type_input_joypad_analog x;
|
||||||
|
unigi_type_input_joypad_analog y;
|
||||||
|
};
|
||||||
|
typedef struct unigi_type_event_input_joypad_analog unigi_type_event_input_joypad_analog;
|
||||||
|
|
||||||
|
// * GRAPHICS
|
||||||
|
struct unigi_type_resolution {
|
||||||
|
unigi_type_resolution_2d_coord width;
|
||||||
|
unigi_type_resolution_2d_coord height;
|
||||||
|
unigi_type_resolution_depth depth;
|
||||||
|
};
|
||||||
|
typedef struct unigi_type_resolution unigi_type_resolution;
|
||||||
|
|
||||||
|
struct unigi_type_resolution_range {
|
||||||
|
unigi_type_resolution_2d_coord width_min;
|
||||||
|
unigi_type_resolution_2d_coord height_min;
|
||||||
|
unigi_type_resolution_2d_coord width_max;
|
||||||
|
unigi_type_resolution_2d_coord height_max;
|
||||||
|
unigi_type_resolution_depth depth_min;
|
||||||
|
unigi_type_resolution_depth depth_max;
|
||||||
|
};
|
||||||
|
typedef struct unigi_type_resolution_range unigi_type_resolution_range;
|
||||||
|
|
||||||
|
union unigi_type_event_union {
|
||||||
|
unigi_type_event_none none;
|
||||||
|
unigi_type_event_unknown unknown;
|
||||||
|
unigi_type_event_window_quit window_quit;
|
||||||
|
unigi_type_event_window_activate window_activate;
|
||||||
|
unigi_type_event_window_focus window_focus;
|
||||||
|
unigi_type_event_input_keyboard input_keyboard;
|
||||||
|
unigi_type_event_input_mouse_button input_mouse_button;
|
||||||
|
unigi_type_event_input_mouse_move input_mouse_move;
|
||||||
|
unigi_type_event_input_mouse_scroll input_mouse_scroll;
|
||||||
|
unigi_type_event_input_joypad_button input_joypad_button;
|
||||||
|
unigi_type_event_input_joypad_analog input_joypad_analog;
|
||||||
|
};
|
||||||
|
typedef union unigi_type_event_union unigi_type_event_union;
|
||||||
|
|
||||||
|
struct unigi_type_event {
|
||||||
|
unigi_type_event_enum type;
|
||||||
|
unigi_type_event_union data;
|
||||||
|
};
|
||||||
|
typedef struct unigi_type_event unigi_type_event;
|
||||||
|
#endif
|
27
src/types.h
Normal file
27
src/types.h
Normal file
@ -0,0 +1,27 @@
|
|||||||
|
#ifndef unigi_header_types
|
||||||
|
#define unigi_header_types
|
||||||
|
#include <stdint.h>
|
||||||
|
// Events
|
||||||
|
typedef uint8_t unigi_type_error;
|
||||||
|
typedef uint8_t unigi_type_event_enum;
|
||||||
|
|
||||||
|
// Graphics
|
||||||
|
typedef uint16_t unigi_type_resolution_2d_coord;
|
||||||
|
typedef uint32_t unigi_type_resolution_1d_coord;
|
||||||
|
typedef uint8_t unigi_type_resolution_depth;
|
||||||
|
typedef uint16_t unigi_type_color;
|
||||||
|
|
||||||
|
// Input
|
||||||
|
typedef uint8_t unigi_type_input_device;
|
||||||
|
typedef uint8_t unigi_type_input_button_state;
|
||||||
|
typedef uint8_t unigi_type_input_keyboard_button;
|
||||||
|
typedef uint8_t unigi_type_input_mouse_button;
|
||||||
|
typedef int32_t unigi_type_input_mouse_coord_relative;
|
||||||
|
typedef uint16_t unigi_type_input_mouse_coord_absolute;
|
||||||
|
typedef uint8_t unigi_type_input_mouse_coord_scroll;
|
||||||
|
typedef uint8_t unigi_type_input_joypad_button;
|
||||||
|
typedef int16_t unigi_type_input_joypad_analog;
|
||||||
|
|
||||||
|
// Time
|
||||||
|
typedef uint32_t unigi_type_time_span;
|
||||||
|
#endif
|
@ -1,4 +1,4 @@
|
|||||||
#include "../../unigi.headers/src/main.h"
|
#include "../src/main.h"
|
||||||
#include "../../unigi.platform.sdl1/src/main.c"
|
#include "../../unigi.platform.sdl1/src/main.c"
|
||||||
|
|
||||||
uint32_t seed = 1337;
|
uint32_t seed = 1337;
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
#include "../../unigi.headers/src/main.h"
|
#include "../src/main.h"
|
||||||
#include "../../unigi.platform.sdl1/src/main.c"
|
#include "../../unigi.platform.sdl1/src/main.c"
|
||||||
#include "../../unigi.ext/src/main.c"
|
#include "../../unigi.ext/src/main.c"
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user