aboutsummaryrefslogtreecommitdiff
path: root/sdl2/prototypes.ha
diff options
context:
space:
mode:
authorDrew DeVault <sir@cmpwn.com>2021-12-09 12:03:25 +0100
committerDrew DeVault <sir@cmpwn.com>2021-12-09 12:03:25 +0100
commita1f6500c822e46594e635170ae08de8de107a876 (patch)
tree0ab5d1422df45b1900c3dd171ad342b9594593e9 /sdl2/prototypes.ha
downloadhare-chip8-a1f6500c822e46594e635170ae08de8de107a876.tar.gz
Initial commit
Diffstat (limited to 'sdl2/prototypes.ha')
-rw-r--r--sdl2/prototypes.ha21
1 files changed, 21 insertions, 0 deletions
diff --git a/sdl2/prototypes.ha b/sdl2/prototypes.ha
new file mode 100644
index 0000000..b71c890
--- /dev/null
+++ b/sdl2/prototypes.ha
@@ -0,0 +1,21 @@
+// These are the flags which may be passed to [[init]]. You should specify the
+// subsystems which you will be using in your application.
+export type init_flags = enum uint {
+ TIMER = 0x00000001u,
+ AUDIO = 0x00000010u,
+ VIDEO = 0x00000020u,
+ JOYSTICK = 0x00000200u,
+ HAPTIC = 0x00001000u,
+ GAMECONTROLLER = 0x00002000u,
+ EVENTS = 0x00004000u,
+ SENSOR = 0x00008000u,
+ NOPARACHUTE = 0x00100000u,
+ EVERYTHING = TIMER | AUDIO | VIDEO | EVENTS | JOYSTICK | HAPTIC | GAMECONTROLLER | SENSOR,
+};
+
+// This function initializes the subsystems specified by 'flags'.
+export @symbol("SDL_Init") fn init(flags: init_flags) void;
+
+// This function cleans up all initialized subsystems. You should call it upon
+// all exit conditions.
+export @symbol("SDL_Quit") fn quit() void;