v2026.9.0
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;

GLGetVersionString # function

The GL_VERSION string of the current OpenGL context, e.g. "3.3.0 NVIDIA 560.94". Returns an empty string when no context is current. Worth checking right after GLCreateContext rather than trusting the attributes you asked for: a driver may hand back a different version than requested, and on macOS you silently get a legacy 2.1 context unless a core + forward-compatible profile was set before the window was created. Finding that out here is far cheaper than finding out at the first shader compile.

function : GLGetVersionString() ~ String

Return

TypeDescription
Stringthe GL version string, or "" if no context is current

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