aboutsummaryrefslogtreecommitdiff
path: root/sdl2/gl.ha
diff options
context:
space:
mode:
authorVlad-Stefan Harbuz <vlad@vladh.net>2022-02-03 18:10:17 +0100
committerDrew DeVault <sir@cmpwn.com>2022-02-04 16:41:04 +0100
commit83582bc016d10700d7716a3f08c2a7dc7f263fac (patch)
treec8b4fe16086a15ff44f35013eb273522489d06e0 /sdl2/gl.ha
parentsdl2: add usage to README (diff)
downloadhare-chip8-83582bc016d10700d7716a3f08c2a7dc7f263fac.tar.gz
add gl.ha
Signed-off-by: Vlad-Stefan Harbuz <vlad@vladh.net>
Diffstat (limited to '')
-rw-r--r--sdl2/gl.ha45
1 files changed, 45 insertions, 0 deletions
diff --git a/sdl2/gl.ha b/sdl2/gl.ha
new file mode 100644
index 0000000..3edffa7
--- /dev/null
+++ b/sdl2/gl.ha
@@ -0,0 +1,45 @@
+export type glcontext = void;
+
+export type glprofile = enum int {
+ GL_CONTEXT_PROFILE_CORE = 0x0001,
+ GL_CONTEXT_PROFILE_COMPATIBILITY = 0x0002,
+ GL_CONTEXT_PROFILE_ES = 0x0004,
+};
+
+export type glattr = enum {
+ GL_RED_SIZE,
+ GL_GREEN_SIZE,
+ GL_BLUE_SIZE,
+ GL_ALPHA_SIZE,
+ GL_BUFFER_SIZE,
+ GL_DOUBLEBUFFER,
+ GL_DEPTH_SIZE,
+ GL_STENCIL_SIZE,
+ GL_ACCUM_RED_SIZE,
+ GL_ACCUM_GREEN_SIZE,
+ GL_ACCUM_BLUE_SIZE,
+ GL_ACCUM_ALPHA_SIZE,
+ GL_STEREO,
+ GL_MULTISAMPLEBUFFERS,
+ GL_MULTISAMPLESAMPLES,
+ GL_ACCELERATED_VISUAL,
+ GL_RETAINED_BACKING,
+ GL_CONTEXT_MAJOR_VERSION,
+ GL_CONTEXT_MINOR_VERSION,
+ GL_CONTEXT_EGL,
+ GL_CONTEXT_FLAGS,
+ GL_CONTEXT_PROFILE_MASK,
+ GL_SHARE_WITH_CURRENT_CONTEXT,
+ GL_FRAMEBUFFER_SRGB_CAPABLE,
+ GL_CONTEXT_RELEASE_BEHAVIOR,
+ GL_CONTEXT_RESET_NOTIFICATION,
+ GL_CONTEXT_NO_ERROR,
+};
+
+export @symbol("SDL_GL_CreateContext") fn gl_create_context(
+ window: *window) *glcontext;
+export @symbol("SDL_GL_GetProcAddress") fn gl_get_proc_address(
+ proc: *const char) *void;
+export @symbol("SDL_GL_SetAttribute") fn gl_set_attribute(
+ attr: glattr, value: int) *void;
+export @symbol("SDL_GL_SwapWindow") fn gl_swap_window(window: *window) void;