aboutsummaryrefslogtreecommitdiff
path: root/sdl2/video.ha
diff options
context:
space:
mode:
Diffstat (limited to 'sdl2/video.ha')
-rw-r--r--sdl2/video.ha117
1 files changed, 0 insertions, 117 deletions
diff --git a/sdl2/video.ha b/sdl2/video.ha
deleted file mode 100644
index 72ed96f..0000000
--- a/sdl2/video.ha
+++ /dev/null
@@ -1,117 +0,0 @@
-// TODO: Flesh me out
-use types::c;
-
-// The type used to identify a window. (Opaque)
-export type SDL_Window = opaque;
-
-// The flags on a window
-export type SDL_WindowFlags = enum u32 {
- NONE = 0,
- FULLSCREEN = 0x00000001,
- OPENGL = 0x00000002,
- SHOWN = 0x00000004,
- HIDDEN = 0x00000008,
- BORDERLESS = 0x00000010,
- RESIZABLE = 0x00000020,
- MINIMIZED = 0x00000040,
- MAXIMIZED = 0x00000080,
- INPUT_GRABBED = 0x00000100,
- INPUT_FOCUS = 0x00000200,
- MOUSE_FOCUS = 0x00000400,
- FULLSCREEN_DESKTOP = 0x00001001,
- FOREIGN = 0x00000800,
- ALLOW_HIGHDPI = 0x00002000,
- MOUSE_CAPTURE = 0x00004000,
- ALWAYS_ON_TOP = 0x00008000,
- SKIP_TASKBAR = 0x00010000,
- UTILITY = 0x00020000,
- TOOLTIP = 0x00040000,
- POPUP_MENU = 0x00080000,
- VULKAN = 0x10000000
-};
-
-export def SDL_WINDOWPOS_UNDEFINED: int = 0x1FFF0000;
-export def SDL_WINDOWPOS_CENTERED: int = 0x2FFF0000;
-
-@symbol("SDL_CreateWindow") fn _SDL_CreateWindow(title: const *c::char,
- x: int, y: int, w: int, h: int, flags: SDL_WindowFlags) nullable *SDL_Window;
-
-// Create a window with the specified position, dimensions, and flags.
-//
-// 'title' is the title of the window, in UTF-8 encoding. See [[types::c::fromstr]]
-// to prepare a suitable string.
-//
-// 'x' and 'y' set the position of the window, or use [[SDL_WINDOWPOS_CENTERED]] or
-// [[SDL_WINDOWPOS_UNDEFINED]].
-//
-// 'w' and 'h' set the width and height of the window, in screen coordinates.
-//
-// 'flags' configure additional window parameters.
-//
-// Returns the created window, or null if window creation failed.
-//
-// If the window is created with the SDL_WINDOW_ALLOW_HIGHDPI flag, its size
-// in pixels may differ from its size in screen coordinates on platforms with
-// high-DPI support (e.g. iOS and Mac OS X). Use SDL_GetWindowSize() to query
-// the client area's size in screen coordinates, and SDL_GL_GetDrawableSize(),
-// SDL_Vulkan_GetDrawableSize(), or SDL_GetRendererOutputSize() to query the
-// drawable size in pixels.
-//
-// If the window is created with any of the SDL_WINDOW_OPENGL or
-// SDL_WINDOW_VULKAN flags, then the corresponding LoadLibrary function
-// (SDL_GL_LoadLibrary or SDL_Vulkan_LoadLibrary) is called and the
-// corresponding UnloadLibrary function is called by SDL_DestroyWindow().
-//
-// If SDL_WINDOW_VULKAN is specified and there isn't a working Vulkan driver,
-// SDL_CreateWindow() will fail because SDL_Vulkan_LoadLibrary() will fail.
-//
-// Note: On non-Apple devices, SDL requires you to either not link to the
-// Vulkan loader or link to a dynamic library version. This limitation may be
-// removed in a future version of SDL.
-//
-// See also: [[SDL_DestroyWindow]] [[gl_loadlibrary]], [[vulkan_loadlibrary]].
-export fn SDL_CreateWindow(
- title: str,
- x: int,
- y: int,
- w: int,
- h: int,
- flags: SDL_WindowFlags,
-) (*SDL_Window | error) = {
- let title = c::fromstr(title)!;
- defer free(title);
- return wrapptr(_SDL_CreateWindow(title, x, y, w, h, flags))?: *SDL_Window;
-};
-
-// Destroy a window.
-export @symbol("SDL_DestroyWindow") fn SDL_DestroyWindow(window: *SDL_Window) void;
-
-// Get the size of a window's client area.
-//
-// Null may safely be passed as the 'w' or 'h' parameter if the width or
-// height value is not desired.
-//
-// The window size in screen coordinates may differ from the size in pixels, if
-// the window was created with `ALLOW_HIGHDPI` on a platform with high-dpi
-// support (e.g. iOS or macOS). Use [[gl_getdrawablesize]],
-// [[vulkan_getdrawablesize]], or [[getrendereroutputsize]] to get the real
-// client area size in pixels.
-export @symbol("SDL_GetWindowSize") fn SDL_GetWindowSize(window: *SDL_Window,
- w: nullable *int, h: nullable *int) void;
-
-@symbol("SDL_GetWindowSurface") fn _SDL_GetWindowSurface(window: *SDL_Window)
- *SDL_Surface;
-
-// Get the SDL surface associated with the window.
-export fn SDL_GetWindowSurface(window: *SDL_Window) (*SDL_Surface | error) = {
- return wrapptr(_SDL_GetWindowSurface(window))?: *SDL_Surface;
-};
-
-// Copy the window surface to the screen.
-@symbol("SDL_UpdateWindowSurface") fn _SDL_UpdateWindowSurface(window: *SDL_Window)
- int;
-
-export fn SDL_UpdateWindowSurface(window: *SDL_Window) (void | error) = {
- return wrapvoid(_SDL_UpdateWindowSurface(window));
-};
-