aboutsummaryrefslogtreecommitdiff
path: root/sdl2/render.ha
diff options
context:
space:
mode:
Diffstat (limited to 'sdl2/render.ha')
-rw-r--r--sdl2/render.ha371
1 files changed, 0 insertions, 371 deletions
diff --git a/sdl2/render.ha b/sdl2/render.ha
deleted file mode 100644
index 192d608..0000000
--- a/sdl2/render.ha
+++ /dev/null
@@ -1,371 +0,0 @@
-// TODO: Flesh me out
-
-// A structure representing rendering state. (Opaque)
-export type SDL_Renderer = opaque;
-
-// An efficient driver-specific representation of pixel data. (Opaque)
-export type SDL_Texture = opaque;
-
-export type SDLPixelFormatValues = enum u32 {
- SDL_PIXELFORMAT_UNKNOWN,
- SDL_PIXELFORMAT_INDEX1LSB,
- SDL_PIXELFORMAT_INDEX1MSB,
- SDL_PIXELFORMAT_INDEX4LSB,
- SDL_PIXELFORMAT_INDEX4MSB,
- SDL_PIXELFORMAT_INDEX8,
- SDL_PIXELFORMAT_RGB332,
- SDL_PIXELFORMAT_RGB444,
- SDL_PIXELFORMAT_RGB555,
- SDL_PIXELFORMAT_BGR555,
- SDL_PIXELFORMAT_ARGB4444,
- SDL_PIXELFORMAT_RGBA4444,
- SDL_PIXELFORMAT_ABGR4444,
- SDL_PIXELFORMAT_BGRA4444,
- SDL_PIXELFORMAT_ARGB1555,
- SDL_PIXELFORMAT_RGBA5551,
- SDL_PIXELFORMAT_ABGR1555,
- SDL_PIXELFORMAT_BGRA5551,
- SDL_PIXELFORMAT_RGB565,
- SDL_PIXELFORMAT_BGR565,
- SDL_PIXELFORMAT_RGB24,
- SDL_PIXELFORMAT_BGR24,
- SDL_PIXELFORMAT_RGB888,
- SDL_PIXELFORMAT_RGBX8888,
- SDL_PIXELFORMAT_BGR888,
- SDL_PIXELFORMAT_BGRX8888,
- SDL_PIXELFORMAT_ARGB8888,
- SDL_PIXELFORMAT_RGBA8888,
- SDL_PIXELFORMAT_ABGR8888,
- SDL_PIXELFORMAT_BGRA8888,
-};
-
-// Flags used when creating a rendering context.
-export type SDL_RendererFlags = enum u32 {
- NONE = 0,
- SOFTWARE = 0x00000001,
- ACCELERATED = 0x00000002,
- PRESENTVSYNC = 0x00000004,
- TARGETTEXTURE = 0x00000008,
-};
-
-export type SDL_RendererFlip = enum u32 {
- SDL_FLIP_NONE,
- SDL_FLIP_HORIZONTAL,
- SDL_FLIP_VERTICAL,
- SDL_FLIP_BOTH,
-};
-
-export type SDL_TextureAccess = enum {
- SDL_TEXTUREACCESS_STATIC,
- SDL_TEXTUREACCESS_STREAMING,
- SDL_TEXTUREACCESS_TARGET,
-};
-
-@symbol("SDL_CreateWindowAndRenderer") fn _SDL_CreateWindowAndRenderer(
- width: int, height: int, SDL_WindowFlags: SDL_WindowFlags,
- window: nullable **SDL_Window, renderer: nullable **SDL_Renderer) int;
-
-// Create a window and default renderer.
-//
-// 'width' and 'height' set the width and height of the window, in screen
-// coordinates. 'SDL_WindowFlags' configure additional window parameters.
-//
-// 'window' and 'renderer' are out parameters, or null, which are filled in with
-// the created window and renderer respectively.
-export fn SDL_CreateWindowAndRenderer(
- width: int,
- height: int,
- SDL_WindowFlags: SDL_WindowFlags,
- window: nullable **SDL_Window,
- renderer: nullable **SDL_Renderer,
-) (void | error) = wrapvoid(_SDL_CreateWindowAndRenderer(width, height,
- SDL_WindowFlags, window, renderer));
-
-@symbol("SDL_CreateRenderer") fn _SDL_CreateRenderer(window: *SDL_Window,
- index: int, flags: SDL_RendererFlags) nullable *SDL_Renderer;
-
-// Create a 2D rendering context for a window.
-//
-// 'window' is the window where rendering is displayed. 'index' is the index of
-// the rendering driver to initialize, or -1 to initialize the first one
-// supporting the requested flags.
-//
-// See also: [[create_software_renderer]], [[get_renderer_info]],
-// [[SDL_DestroyRenderer]].
-export fn SDL_CreateRenderer(
- window: *SDL_Window,
- index: int,
- flags: SDL_RendererFlags,
-) (*SDL_Renderer | error) =
- wrapptr(_SDL_CreateRenderer(window, index, flags))?: *SDL_Renderer;
-
-// Destroy the rendering context for a window and free associated textures.
-//
-// See also: [[SDL_CreateRenderer]].
-export @symbol("SDL_DestroyRenderer") fn SDL_DestroyRenderer(renderer: *SDL_Renderer) void;
-
-@symbol("SDL_GetRendererOutputSize") fn _SDL_GetRendererOutputSize(renderer: *SDL_Renderer,
- w: *int, h: *int) int;
-
-// Get the output size in pixels of a rendering context.
-export fn SDL_GetRendererOutputSize(
- renderer: *SDL_Renderer,
- w: *int, h: *int,
-) (void | error) = wrapvoid(_SDL_GetRendererOutputSize(renderer, w, h));
-
-// Opaque value for the alpha channel (255).
-export def ALPHA_OPAQUE: u8 = 255;
-
-@symbol("SDL_SetRenderDrawColor") fn _SDL_SetRenderDrawColor(renderer: *SDL_Renderer,
- r: u8, g: u8, b: u8, a: u8) int;
-
-// Set the color used for drawing operations (Rect, Line and Clear).
-//
-// 'renderer' is the renderer for which drawing color should be set. 'r', 'g',
-// 'b', and 'a' respectively set the red, gree, blue, and alpha channels.
-export fn SDL_SetRenderDrawColor(
- renderer: *SDL_Renderer,
- r: u8, g: u8, b: u8, a: u8,
-) (void | error) = wrapvoid(_SDL_SetRenderDrawColor(renderer, r, g, b, a));
-
-@symbol("SDL_RenderClear") fn _SDL_RenderClear(renderer: *SDL_Renderer) int;
-
-// Clear the current rendering target with the drawing color
-//
-// This function clears the entire rendering target, ignoring the viewport and
-// the clip rectangle.
-export fn SDL_RenderClear(renderer: *SDL_Renderer) (void | error) = {
- return wrapvoid(_SDL_RenderClear(renderer));
-};
-
-// Update the screen with rendering performed.
-export @symbol("SDL_RenderPresent") fn SDL_RenderPresent(renderer: *SDL_Renderer) void;
-
-// Destroy the specified texture.
-export @symbol("SDL_DestroyTexture") fn SDL_DestroyTexture(texture: *SDL_Texture) void;
-
-@symbol("SDL_QueryTexture") fn _SDL_QueryTexture(texture: *SDL_Texture,
- format: nullable *u32, access: nullable *int,
- w: nullable *int, h: nullable *int) int;
-
-// Query the attributes of a texture
-export fn SDL_QueryTexture(
- texture: *SDL_Texture,
- format: nullable *u32,
- access: nullable *int,
- w: nullable *int, h: nullable *int,
-) (void | error) = {
- return wrapvoid(_SDL_QueryTexture(texture, format, access, w, h));
-};
-
-@symbol("SDL_SetTextureColorMod") fn _SDL_SetTextureColorMod(
- texture: *SDL_Texture, r: u8, g: u8, b: u8) int;
-
-// Set an additional color value multiplied into render copy operations.
-//
-// When this texture is rendered, during the copy operation each source color
-// channel is modulated by the appropriate color value according to the
-// following formula:
-//
-// srcC = srcC * (color / 255)
-//
-// Color modulation is not always supported by the renderer; it will return -1
-// if color modulation is not supported.
-export fn SDL_SetTextureColorMod(
- texture: *SDL_Texture,
- r: u8, g: u8, b: u8,
-) (void | error) = {
- return wrapvoid(_SDL_SetTextureColorMod(texture, r, g, b));
-};
-
-@symbol("SDL_SetTextureAlphaMod") fn _SDL_SetTextureAlphaMod(texture: *SDL_Texture, a: u8) int;
-
-// Set an additional alpha value multiplied into render copy operations.
-//
-// When this texture is rendered, during the copy operation the source alpha
-// value is modulated by this alpha value according to the following formula:
-//
-// `srcA = srcA * (alpha / 255)`
-//
-// Alpha modulation is not always supported by the renderer; it will return an
-// error if alpha modulation is not supported.
-export fn SDL_SetTextureAlphaMod(texture: *SDL_Texture, a: u8) (void | error) = {
- // TODO: Double check errors
- return wrapvoid(_SDL_SetTextureAlphaMod(texture, a));
-};
-
-@symbol("SDL_SetTextureBlendMode") fn _SDL_SetTextureBlendMode(
- texture: *SDL_Texture, mode: SDL_BlendMode) int;
-
-// Set the blend mode for a texture, used by SDL_RenderCopy().
-export fn SDL_SetTextureBlendMode(
- texture: *SDL_Texture,
- mode: SDL_BlendMode,
-) (void | error) = {
- return wrapvoid(_SDL_SetTextureBlendMode(texture, mode));
-};
-
-@symbol("SDL_SetRenderDrawBlendMode") fn _SDL_SetRenderDrawBlendMode(
- renderer: *SDL_Renderer, mode: SDL_BlendMode) int;
-
-// Set the blend mode used for drawing operations (fill and line).
-export fn SDL_SetRenderDrawBlendMode(
- renderer: *SDL_Renderer,
- mode: SDL_BlendMode,
-) (void | error) = {
- return wrapvoid(_SDL_SetRenderDrawBlendMode(renderer, mode));
-};
-
-@symbol("SDL_RenderDrawPoint") fn _SDL_RenderDrawPoint(
- renderer: *SDL_Renderer,
- x: int,
- y: int,
-) int;
-
-// Draws a point (pixel) at the given coordinates
-export fn SDL_RenderDrawPoint(
- renderer: *SDL_Renderer,
- x: int,
- y: int,
-) (void | error) = {
- return wrapvoid(_SDL_RenderDrawPoint(renderer, x, y));
-};
-
-@symbol("SDL_RenderCopy") fn _SDL_RenderCopy(renderer: *SDL_Renderer,
- texture: *SDL_Texture, srcrect: nullable *SDL_Rect, dstrect: nullable *SDL_Rect) int;
-
-// Copy a portion of the texture to the current rendering target.
-export fn SDL_RenderCopy(
- renderer: *SDL_Renderer,
- texture: *SDL_Texture,
- srcrect: nullable *SDL_Rect,
- dstrect: nullable *SDL_Rect,
-) (void | error) = {
- return wrapvoid(_SDL_RenderCopy(renderer, texture, srcrect, dstrect));
-};
-
-@symbol("SDL_RenderCopyEx") fn _SDL_RenderCopyEx(
- renderer: *SDL_Renderer,
- texture: *SDL_Texture,
- srcrect: nullable *SDL_Rect,
- dstrect: nullable *SDL_Rect,
- angle : f64,
- center: nullable *SDL_Point,
- flip: SDL_RendererFlip,
-) int;
-
-// Sets the rendering pixel scale
-export fn SDL_RenderCopyEx(
- renderer: *SDL_Renderer,
- texture: *SDL_Texture,
- srcrect: nullable *SDL_Rect,
- dstrect: nullable *SDL_Rect,
- angle : f64,
- center: nullable *SDL_Point,
- flip: SDL_RendererFlip,
-) (void | error) = {
- return wrapvoid(_SDL_RenderCopyEx(
- renderer, texture, srcrect, dstrect, angle, center, flip)
- );
-};
-
-@symbol("SDL_RenderDrawRect") fn _SDL_RenderDrawRect(
- renderer: *SDL_Renderer, rect: const nullable *SDL_Rect) int;
-
-// Draw a rectangle on the current rendering target.
-export fn SDL_RenderDrawRect(
- renderer: *SDL_Renderer,
- rect: const nullable *SDL_Rect,
-) (void | error) = {
- return wrapvoid(_SDL_RenderDrawRect(renderer, rect));
-};
-
-@symbol("SDL_RenderFillRect") fn _SDL_RenderFillRect(
- renderer: *SDL_Renderer, rect: const nullable *SDL_Rect) int;
-
-// Fills a rectangle on the current rendering target.
-export fn SDL_RenderFillRect(
- renderer: *SDL_Renderer,
- rect: const nullable *SDL_Rect,
-) (void | error) = {
- return wrapvoid(_SDL_RenderFillRect(renderer, rect));
-};
-
-@symbol("SDL_RenderSetLogicalSize") fn _SDL_RenderSetLogicalSize(
- renderer: *SDL_Renderer, w: int, h: int) int;
-
-// Sets the rendering pixel scale
-export fn SDL_RenderSetLogicalSize(
- renderer: *SDL_Renderer,
- w: int,
- h: int,
-) (void | error) = {
- return wrapvoid(_SDL_RenderSetLogicalSize(
- renderer, w, h)
- );
-};
-
-@symbol("SDL_CreateTexture") fn _SDL_CreateTexture(
- renderer: *SDL_Renderer,
- format: u32,
- access: int,
- w: int,
- h: int) nullable *SDL_Texture;
-
-export fn SDL_CreateTexture(
- renderer: *SDL_Renderer,
- format: u32,
- access: int,
- w: int,
- h: int
-) (*SDL_Texture | error) = {
- return wrapptr(_SDL_CreateTexture(
- renderer, format, access, w, h)
- )?: *SDL_Texture;
-};
-
-@symbol("SDL_CreateTextureFromSurface") fn _SDL_CreateTextureFromSurface(
- renderer: *SDL_Renderer,
- surface: *SDL_Surface) nullable *SDL_Texture;
-
-export fn SDL_CreateTextureFromSurface(
- renderer: *SDL_Renderer,
- surface: *SDL_Surface
-) (*SDL_Texture | error) = {
- return wrapptr(_SDL_CreateTextureFromSurface(renderer, surface))?: *SDL_Texture;
-};
-
-@symbol("SDL_UpdateTexture") fn _SDL_UpdateTexture(texture: *SDL_Texture,
- rect: const nullable *SDL_Rect, pixels: const nullable *opaque, pitch: int) int;
-
-// Update the given texture rectangle with new pixel data.
-export fn SDL_UpdateTexture(texture: *SDL_Texture,
- rect: const nullable *SDL_Rect, pixels: const nullable *opaque, pitch: int)
- (int | error) = {
- return wrapint(_SDL_UpdateTexture(texture, rect, pixels, pitch))?: int;
-};
-
-@symbol("SDL_LockTexture") fn _SDL_LockTexture(texture: *SDL_Texture,
- rect: const nullable *SDL_Rect, pixels: nullable * nullable *opaque, pitch: *int) int;
-
-// Lock a portion of the texture for write-only pixel access.
-export fn SDL_LockTexture(texture: *SDL_Texture,
- rect: const nullable *SDL_Rect, pixels: nullable * nullable *opaque, pitch: *int)
- (int | error) = {
- return wrapint(_SDL_LockTexture(texture, rect, pixels, pitch))?: int;
-};
-
-// Unlock a texture, uploading the changes to video memory, if needed.
-export @symbol("SDL_UnlockTexture") fn SDL_UnlockTexture(texture: *SDL_Texture) void;
-
-@symbol("SDL_RenderSetScale") fn _SDL_RenderSetScale(
- renderer: *SDL_Renderer, scaleX: f32, scaleY: f32) int;
-
-// Sets the rendering pixel scale
-export fn SDL_RenderSetScale(
- renderer: *SDL_Renderer,
- scaleX: f32,
- scaleY: f32,
-) (void | error) = {
- return wrapvoid(_SDL_RenderSetScale(renderer, scaleX, scaleY));
-};