v2026.5.3
All Bundles
Bundle SDL2 multimedia library for 2D graphics, input handling, audio playback, and window management. Core types: Window, Renderer, Texture, Surface, Event, and Mixer. Compile with -lib sdl2.

Core

SDL core operations

Operations

ClearError # function

Clear any previous error message

function : ClearError() ~ Nil

GLExtensionSupported # function

Check if an OpenGL extension is supported for the current context

function : GLExtensionSupported(extension:String) ~ Bool

Parameters

NameTypeDescription
extensionStringthe name of the extension to check

Return

TypeDescription
Booltrue if the extension is supported, false otherwise

GLGetAttribute # function

Get the actual value for an attribute from the current context

function : GLGetAttribute(attr:GLattr, value:IntRef) ~ Int

Parameters

NameTypeDescription
attrGLattrthe SDL_GLattr structure to query
valueIntRefpointer filled in with the current value of attr

Return

TypeDescription
Int0 on success or a negative error code on failure

GLGetCurrentWindow # function

Get the currently active OpenGL window

function : GLGetCurrentWindow() ~ Window

Return

TypeDescription
Windowactive window

GLGetSwapInterval # function

Get the swap interval for the current OpenGL context

function : GLGetSwapInterval() ~ Int

Return

TypeDescription
Int0 if there is no vertical retrace synchronization, 1 if the buffer swap is synchronized with the vertical retrace, and -1 if late swaps happen immediately instead of waiting for the next retrace;

GLLoadLibrary # function

dynamically load an OpenGL library

function : GLLoadLibrary(path:String) ~ Int

Parameters

NameTypeDescription
pathStringthe platform dependent OpenGL library name, or Nil to open the default OpenGL library

GLResetAttributes # function

Reset all previously set OpenGL context attributes to their default values

function : GLResetAttributes() ~ Nil

GLSetAttribute # function

Set an OpenGL window attribute before window creation

function : GLSetAttribute(attr:GLattr, value:Int) ~ Int

Parameters

NameTypeDescription
attrGLattrthe OpenGL attribute to set; see Remarks for details
valueIntthe desired value for the attribute

Return

TypeDescription
Int0 on success or a negative error code on failure

GLSetSwapInterval # function

Set the swap interval for the current OpenGL context

function : GLSetSwapInterval(interval:Int) ~ Int

Parameters

NameTypeDescription
intervalInt0 for immediate updates, 1 for updates synchronized with the vertical retrace, -1 for adaptive vsync

Return

TypeDescription
Int0 on success or -1 if setting the swap interval is not supported

GLUnloadLibrary # function

Unload the OpenGL library previously loaded

function : GLUnloadLibrary() ~ Nil

GetError # function

Retrieve a message about the last error that occurred

function : GetError() ~ String

Return

TypeDescription
Stringmessage with information about the specific error that occurred

Init # function

Initialize the SDL library. This must be called before using most other SDL functions.

function : Init(flags:Int) ~ Int

Parameters

NameTypeDescription
flagsIntsubsystem initialization flags

InitSubSystem # function

Initialize specific SDL subsystems

function : InitSubSystem(flags:Int) ~ Int

Parameters

NameTypeDescription
flagsIntsubsystem initialization flags

Quit # function

Clean up all initialized subsystems. You should call it upon all exit conditions.

function : Quit() ~ Nil

QuitSubSystem # function

Shut down specific SDL subsystems.

function : QuitSubSystem(flags:Int) ~ Nil

Parameters

NameTypeDescription
flagsIntsubsystem initialization flags

WasInit # function

Mask of the specified subsystems which have previously been initialized

function : WasInit(flags:Int) ~ Int

Parameters

NameTypeDescription
flagsIntsubsystem initialization flags