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"
|
||||
|
||||
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.ext/src/main.c"
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user