sdl-sys

    Low-level MoonBit bindings for SDL C API

    sdl
    Download zip
    Author
    Version
    0.1.1
    License
    Apache-2.0
    Last updated
    8 days ago
    Downloads
    18

    #klaseca/sdl-sys

    Low-level MoonBit bindings to the SDL 3 C API.

    This module is the raw FFI layer used by klaseca/sdl. Most users should prefer the high-level klaseca/sdl module unless they need direct access to generated SDL functions, constants, opaque handles, or value structs.

    The generated API follows the SDL C API closely. It intentionally does less validation and owns fewer ergonomics than klaseca/sdl.

    #Native Configuration

    The module targets native builds and uses --moonbit-unstable-prebuild to emit compiler options and semantic link configuration.

    The prebuild script requires Node.js.

    A shared SDL installation is discovered from the first successful source in this order:

    • an explicit SDL3_INSTALL_PATH;
    • pkg-config sdl3;
    • a vcpkg installed tree selected through VCPKG_INSTALLED_DIR or VCPKG_ROOT;
    • prefixes listed in CMAKE_PREFIX_PATH;
    • compiler include and library path environment variables.

    SDL3_INSTALL_PATH is only needed for a development package installed outside the standard discovery mechanisms. It must be an absolute path to an installation containing matching headers and link libraries:

    SDL3_INSTALL_PATH/ ├── include/ │ └── SDL3/ │ └── SDL.h └── lib/ └── SDL3 link library

    On Windows, the current integration requires an MSVC-compatible ABI. Download the SDL3-devel-<version>-VC.zip development archive and point SDL3_INSTALL_PATH to the directory inside it that contains include and lib.

    When building SDL from source, create the same layout with CMake's install step:

    cmake -S path/to/SDL -B path/to/SDL/build cmake --build path/to/SDL/build --config Release cmake --install path/to/SDL/build --config Release --prefix path/to/SDL/out

    Then set SDL3_INSTALL_PATH to the absolute path of path/to/SDL/out.

    The prebuild script emits the resolved library search directory and the semantic SDL3 library name on every platform. It does not choose compiler-specific linker syntax; that translation belongs to MoonBit and the C compiler configured by the package.

    Set MOON_NATIVE_RESOLVE_DEBUG=1 to print the detected target, every attempted dependency source, and the reason rejected candidates were not used. Diagnostic messages are written to standard error and do not affect the prebuild JSON.

    The resolver uses the target information supplied by MoonBit when available. Current MoonBit versions do not provide it to prebuild scripts, so native dependency discovery falls back to the host operating system and architecture. Cross-compilation therefore requires future MoonBit target metadata or an explicit target when reusing the resolver directly.

    pkg-config results are accepted only when their linker inputs can be expressed as semantic library names and search paths. Unsupported options such as framework or raw linker flags reject that discovery result instead of being silently discarded. On Windows, use an MSVC-compatible vcpkg triplet such as x64-windows. Set VCPKG_TARGET_TRIPLET when more than one compatible triplet is installed or when the automatically selected triplet does not match the configured compiler.

    If linking SDL dynamically, the runtime library is not enough for linking but must be available when the built executable starts. Use the platform's normal loader mechanism: PATH or a DLL next to the executable on Windows, LD_LIBRARY_PATH/rpath/system install on Linux, and DYLD_LIBRARY_PATH/@rpath/application bundle packaging on macOS.

    #API Conventions

    Generated MoonBit names are lower snake case and remove the SDL prefix:

    SDL_CreateWindow -> create_window SDL_DestroyWindow -> destroy_window SDL_PollEvent -> poll_event

    C stub symbols keep the moonbit_sdl_ prefix:

    moonbit_sdl_create_window moonbit_sdl_poll_event_ffi

    Extern declarations in MoonBit refer to those C symbols directly.

    SDL value structs are represented as byte-backed MoonBit structs. For example:

    let rect = @sdl_sys.Rect(0, 0, 640, 480)
    let raw = rect.to_bytes()

    Event is also byte-backed and exposes generated field accessors:

    let event = @sdl_sys.Event()
    if @sdl_sys.poll_event(event) {
    let event_type = event.event_type()
    }

    SDL pointer resources are represented as opaque MoonBit types. Generated constructors return resource handles backed by MoonBit external objects. Owned handles have native finalizers, while APIs returning unmanaged SDL pointers are configured explicitly. Generated destroy functions remain available for deterministic cleanup with defer.

    let window = @sdl_sys.create_window(@utf8.encode("Example"), 640, 480, 0)
    if window.is_null() {
    // Read @sdl_sys.get_error() or let the high-level module handle errors.
    }
    @sdl_sys.destroy_window(window)

    The high-level klaseca/sdl module wraps these patterns with SdlError and destroy methods.

    #When To Use This Module

    Use klaseca/sdl-sys when:

    • a high-level wrapper does not exist yet;
    • you need direct access to an SDL constant or raw handle;
    • you are extending the high-level klaseca/sdl module.

    For application code, prefer klaseca/sdl.

    DisplayModeData

    #external
    pub type DisplayModeData

    DisplayModeData::is_null

    fn DisplayModeData::is_null(self : DisplayModeData) -> Bool

    DisplayModeData::to_pointer

    fn DisplayModeData::to_pointer(self : DisplayModeData) -> Pointer

    Event

    type Event

    Event::Event

    fn Event::Event() -> Event

    Event::button_button

    fn Event::button_button(self : Event) -> Byte

    Event::button_clicks

    fn Event::button_clicks(self : Event) -> Byte

    Event::button_mouse_id

    fn Event::button_mouse_id(self : Event) -> UInt

    Event::button_window_id

    fn Event::button_window_id(self : Event) -> UInt

    Event::button_x

    fn Event::button_x(self : Event) -> Float

    Event::button_y

    fn Event::button_y(self : Event) -> Float

    Event::event_type

    fn Event::event_type(self : Event) -> UInt

    Event::from_bytes

    fn Event::from_bytes(bytes : Bytes) -> Event

    Event::key_keyboard_id

    fn Event::key_keyboard_id(self : Event) -> UInt

    Event::key_keycode

    fn Event::key_keycode(self : Event) -> UInt

    Event::key_modifiers

    fn Event::key_modifiers(self : Event) -> UInt16

    Event::key_repeat

    fn Event::key_repeat(self : Event) -> Bool

    Event::key_scancode

    fn Event::key_scancode(self : Event) -> Int

    Event::key_window_id

    fn Event::key_window_id(self : Event) -> UInt

    Event::motion_mouse_id

    fn Event::motion_mouse_id(self : Event) -> UInt

    Event::motion_state

    fn Event::motion_state(self : Event) -> UInt

    Event::motion_window_id

    fn Event::motion_window_id(self : Event) -> UInt

    Event::motion_x

    fn Event::motion_x(self : Event) -> Float

    Event::motion_xrel

    fn Event::motion_xrel(self : Event) -> Float

    Event::motion_y

    fn Event::motion_y(self : Event) -> Float

    Event::motion_yrel

    fn Event::motion_yrel(self : Event) -> Float

    Event::text_text

    fn Event::text_text(self : Event) -> Bytes

    Event::to_bytes

    fn Event::to_bytes(self : Event) -> Bytes

    Event::window_data1

    fn Event::window_data1(self : Event) -> Int

    Event::window_data2

    fn Event::window_data2(self : Event) -> Int

    Event::window_window_id

    fn Event::window_window_id(self : Event) -> UInt

    EventWatch

    pub type EventWatch

    EventWatch::is_null

    fn EventWatch::is_null(self : EventWatch) -> Bool

    FRect

    type FRect

    FRect::FRect

    fn FRect::FRect(x : Float, y : Float, w : Float, h : Float) -> FRect

    FRect::h

    fn FRect::h(self : FRect) -> Float

    FRect::to_bytes

    fn FRect::to_bytes(self : FRect) -> Bytes

    FRect::w

    fn FRect::w(self : FRect) -> Float

    FRect::x

    fn FRect::x(self : FRect) -> Float

    FRect::y

    fn FRect::y(self : FRect) -> Float

    GPURenderState

    #external
    pub type GPURenderState

    GPURenderState::is_null

    fn GPURenderState::is_null(self : GPURenderState) -> Bool

    GPURenderState::to_pointer

    fn GPURenderState::to_pointer(self : GPURenderState) -> Pointer

    Pointer

    #external
    pub type Pointer

    Pointer::is_null

    fn Pointer::is_null(self : Pointer) -> Bool

    Pointer::null

    fn Pointer::null() -> Pointer

    Rect

    type Rect

    Rect::Rect

    fn Rect::Rect(x : Int, y : Int, w : Int, h : Int) -> Rect

    Rect::h

    fn Rect::h(self : Rect) -> Int

    Rect::to_bytes

    fn Rect::to_bytes(self : Rect) -> Bytes

    Rect::w

    fn Rect::w(self : Rect) -> Int

    Rect::x

    fn Rect::x(self : Rect) -> Int

    Rect::y

    fn Rect::y(self : Rect) -> Int

    Renderer

    pub type Renderer

    Renderer::is_null

    fn Renderer::is_null(self : Renderer) -> Bool

    Texture

    pub type Texture

    Texture::is_null

    fn Texture::is_null(self : Texture) -> Bool

    Tray

    pub type Tray

    Tray::is_null

    fn Tray::is_null(self : Tray) -> Bool

    TrayEntry

    #external
    pub type TrayEntry

    TrayEntry::is_null

    fn TrayEntry::is_null(self : TrayEntry) -> Bool

    TrayEntry::to_pointer

    fn TrayEntry::to_pointer(self : TrayEntry) -> Pointer

    TrayEntryCallback

    pub type TrayEntryCallback

    TrayMenu

    #external
    pub type TrayMenu

    TrayMenu::is_null

    fn TrayMenu::is_null(self : TrayMenu) -> Bool

    TrayMenu::to_pointer

    fn TrayMenu::to_pointer(self : TrayMenu) -> Pointer

    Window

    pub type Window

    Window::is_null

    fn Window::is_null(self : Window) -> Bool

    BLENDMODE_ADD

    let BLENDMODE_ADD : UInt

    BLENDMODE_ADD_PREMULTIPLIED

    let BLENDMODE_ADD_PREMULTIPLIED : UInt

    BLENDMODE_BLEND

    let BLENDMODE_BLEND : UInt

    BLENDMODE_BLEND_PREMULTIPLIED

    let BLENDMODE_BLEND_PREMULTIPLIED : UInt

    BLENDMODE_INVALID

    let BLENDMODE_INVALID : UInt

    BLENDMODE_MOD

    let BLENDMODE_MOD : UInt

    BLENDMODE_MUL

    let BLENDMODE_MUL : UInt

    BLENDMODE_NONE

    let BLENDMODE_NONE : UInt

    EVENT_AUDIO_DEVICE_ADDED

    let EVENT_AUDIO_DEVICE_ADDED : UInt

    EVENT_AUDIO_DEVICE_FORMAT_CHANGED

    let EVENT_AUDIO_DEVICE_FORMAT_CHANGED : UInt

    EVENT_AUDIO_DEVICE_REMOVED

    let EVENT_AUDIO_DEVICE_REMOVED : UInt

    EVENT_CAMERA_DEVICE_ADDED

    let EVENT_CAMERA_DEVICE_ADDED : UInt

    EVENT_CAMERA_DEVICE_APPROVED

    let EVENT_CAMERA_DEVICE_APPROVED : UInt

    EVENT_CAMERA_DEVICE_DENIED

    let EVENT_CAMERA_DEVICE_DENIED : UInt

    EVENT_CAMERA_DEVICE_REMOVED

    let EVENT_CAMERA_DEVICE_REMOVED : UInt

    EVENT_CLIPBOARD_UPDATE

    let EVENT_CLIPBOARD_UPDATE : UInt

    EVENT_DID_ENTER_BACKGROUND

    let EVENT_DID_ENTER_BACKGROUND : UInt

    EVENT_DID_ENTER_FOREGROUND

    let EVENT_DID_ENTER_FOREGROUND : UInt

    EVENT_DISPLAY_ADDED

    let EVENT_DISPLAY_ADDED : UInt

    EVENT_DISPLAY_CONTENT_SCALE_CHANGED

    let EVENT_DISPLAY_CONTENT_SCALE_CHANGED : UInt

    EVENT_DISPLAY_CURRENT_MODE_CHANGED

    let EVENT_DISPLAY_CURRENT_MODE_CHANGED : UInt

    EVENT_DISPLAY_DESKTOP_MODE_CHANGED

    let EVENT_DISPLAY_DESKTOP_MODE_CHANGED : UInt

    EVENT_DISPLAY_MOVED

    let EVENT_DISPLAY_MOVED : UInt

    EVENT_DISPLAY_ORIENTATION

    let EVENT_DISPLAY_ORIENTATION : UInt

    EVENT_DISPLAY_REMOVED

    let EVENT_DISPLAY_REMOVED : UInt

    EVENT_DISPLAY_USABLE_BOUNDS_CHANGED

    let EVENT_DISPLAY_USABLE_BOUNDS_CHANGED : UInt

    EVENT_DROP_BEGIN

    let EVENT_DROP_BEGIN : UInt

    EVENT_DROP_COMPLETE

    let EVENT_DROP_COMPLETE : UInt

    EVENT_DROP_FILE

    let EVENT_DROP_FILE : UInt

    EVENT_DROP_POSITION

    let EVENT_DROP_POSITION : UInt

    EVENT_DROP_TEXT

    let EVENT_DROP_TEXT : UInt

    EVENT_ENUM_PADDING

    let EVENT_ENUM_PADDING : UInt

    EVENT_FINGER_CANCELED

    let EVENT_FINGER_CANCELED : UInt

    EVENT_FINGER_DOWN

    let EVENT_FINGER_DOWN : UInt

    EVENT_FINGER_MOTION

    let EVENT_FINGER_MOTION : UInt

    EVENT_FINGER_UP

    let EVENT_FINGER_UP : UInt

    EVENT_FIRST

    let EVENT_FIRST : UInt

    EVENT_GAMEPAD_ADDED

    let EVENT_GAMEPAD_ADDED : UInt

    EVENT_GAMEPAD_AXIS_MOTION

    let EVENT_GAMEPAD_AXIS_MOTION : UInt

    EVENT_GAMEPAD_BUTTON_DOWN

    let EVENT_GAMEPAD_BUTTON_DOWN : UInt

    EVENT_GAMEPAD_BUTTON_UP

    let EVENT_GAMEPAD_BUTTON_UP : UInt

    EVENT_GAMEPAD_REMAPPED

    let EVENT_GAMEPAD_REMAPPED : UInt

    EVENT_GAMEPAD_REMOVED

    let EVENT_GAMEPAD_REMOVED : UInt

    EVENT_GAMEPAD_SENSOR_UPDATE

    let EVENT_GAMEPAD_SENSOR_UPDATE : UInt

    EVENT_GAMEPAD_STEAM_HANDLE_UPDATED

    let EVENT_GAMEPAD_STEAM_HANDLE_UPDATED : UInt

    EVENT_GAMEPAD_TOUCHPAD_DOWN

    let EVENT_GAMEPAD_TOUCHPAD_DOWN : UInt

    EVENT_GAMEPAD_TOUCHPAD_MOTION

    let EVENT_GAMEPAD_TOUCHPAD_MOTION : UInt

    EVENT_GAMEPAD_TOUCHPAD_UP

    let EVENT_GAMEPAD_TOUCHPAD_UP : UInt

    EVENT_GAMEPAD_UPDATE_COMPLETE

    let EVENT_GAMEPAD_UPDATE_COMPLETE : UInt

    EVENT_JOYSTICK_ADDED

    let EVENT_JOYSTICK_ADDED : UInt

    EVENT_JOYSTICK_AXIS_MOTION

    let EVENT_JOYSTICK_AXIS_MOTION : UInt

    EVENT_JOYSTICK_BALL_MOTION

    let EVENT_JOYSTICK_BALL_MOTION : UInt

    EVENT_JOYSTICK_BATTERY_UPDATED

    let EVENT_JOYSTICK_BATTERY_UPDATED : UInt

    EVENT_JOYSTICK_BUTTON_DOWN

    let EVENT_JOYSTICK_BUTTON_DOWN : UInt

    EVENT_JOYSTICK_BUTTON_UP

    let EVENT_JOYSTICK_BUTTON_UP : UInt

    EVENT_JOYSTICK_HAT_MOTION

    let EVENT_JOYSTICK_HAT_MOTION : UInt

    EVENT_JOYSTICK_REMOVED

    let EVENT_JOYSTICK_REMOVED : UInt

    EVENT_JOYSTICK_UPDATE_COMPLETE

    let EVENT_JOYSTICK_UPDATE_COMPLETE : UInt

    EVENT_KEYBOARD_ADDED

    let EVENT_KEYBOARD_ADDED : UInt

    EVENT_KEYBOARD_REMOVED

    let EVENT_KEYBOARD_REMOVED : UInt

    EVENT_KEYMAP_CHANGED

    let EVENT_KEYMAP_CHANGED : UInt

    EVENT_KEY_DOWN

    let EVENT_KEY_DOWN : UInt

    EVENT_KEY_UP

    let EVENT_KEY_UP : UInt

    EVENT_LAST

    let EVENT_LAST : UInt

    EVENT_LOCALE_CHANGED

    let EVENT_LOCALE_CHANGED : UInt

    EVENT_LOW_MEMORY

    let EVENT_LOW_MEMORY : UInt

    EVENT_MOUSE_ADDED

    let EVENT_MOUSE_ADDED : UInt

    EVENT_MOUSE_BUTTON_DOWN

    let EVENT_MOUSE_BUTTON_DOWN : UInt

    EVENT_MOUSE_BUTTON_UP

    let EVENT_MOUSE_BUTTON_UP : UInt

    EVENT_MOUSE_MOTION

    let EVENT_MOUSE_MOTION : UInt

    EVENT_MOUSE_REMOVED

    let EVENT_MOUSE_REMOVED : UInt

    EVENT_MOUSE_WHEEL

    let EVENT_MOUSE_WHEEL : UInt

    EVENT_PEN_AXIS

    let EVENT_PEN_AXIS : UInt

    EVENT_PEN_BUTTON_DOWN

    let EVENT_PEN_BUTTON_DOWN : UInt

    EVENT_PEN_BUTTON_UP

    let EVENT_PEN_BUTTON_UP : UInt

    EVENT_PEN_DOWN

    let EVENT_PEN_DOWN : UInt

    EVENT_PEN_MOTION

    let EVENT_PEN_MOTION : UInt

    EVENT_PEN_PROXIMITY_IN

    let EVENT_PEN_PROXIMITY_IN : UInt

    EVENT_PEN_PROXIMITY_OUT

    let EVENT_PEN_PROXIMITY_OUT : UInt

    EVENT_PEN_UP

    let EVENT_PEN_UP : UInt

    EVENT_PINCH_BEGIN

    let EVENT_PINCH_BEGIN : UInt

    EVENT_PINCH_END

    let EVENT_PINCH_END : UInt

    EVENT_PINCH_UPDATE

    let EVENT_PINCH_UPDATE : UInt

    EVENT_POLL_SENTINEL

    let EVENT_POLL_SENTINEL : UInt

    EVENT_PRIVATE0

    let EVENT_PRIVATE0 : UInt

    EVENT_PRIVATE1

    let EVENT_PRIVATE1 : UInt

    EVENT_PRIVATE2

    let EVENT_PRIVATE2 : UInt

    EVENT_PRIVATE3

    let EVENT_PRIVATE3 : UInt

    EVENT_QUIT

    let EVENT_QUIT : UInt

    EVENT_RENDER_DEVICE_LOST

    let EVENT_RENDER_DEVICE_LOST : UInt

    EVENT_RENDER_DEVICE_RESET

    let EVENT_RENDER_DEVICE_RESET : UInt

    EVENT_RENDER_TARGETS_RESET

    let EVENT_RENDER_TARGETS_RESET : UInt

    EVENT_SCREEN_KEYBOARD_HIDDEN

    let EVENT_SCREEN_KEYBOARD_HIDDEN : UInt

    EVENT_SCREEN_KEYBOARD_SHOWN

    let EVENT_SCREEN_KEYBOARD_SHOWN : UInt

    EVENT_SENSOR_UPDATE

    let EVENT_SENSOR_UPDATE : UInt

    EVENT_SYSTEM_THEME_CHANGED

    let EVENT_SYSTEM_THEME_CHANGED : UInt

    EVENT_TERMINATING

    let EVENT_TERMINATING : UInt

    EVENT_TEXT_EDITING

    let EVENT_TEXT_EDITING : UInt

    EVENT_TEXT_EDITING_CANDIDATES

    let EVENT_TEXT_EDITING_CANDIDATES : UInt

    EVENT_TEXT_INPUT

    let EVENT_TEXT_INPUT : UInt

    EVENT_USER

    let EVENT_USER : UInt

    EVENT_WILL_ENTER_BACKGROUND

    let EVENT_WILL_ENTER_BACKGROUND : UInt

    EVENT_WILL_ENTER_FOREGROUND

    let EVENT_WILL_ENTER_FOREGROUND : UInt

    EVENT_WINDOW_CLOSE_REQUESTED

    let EVENT_WINDOW_CLOSE_REQUESTED : UInt

    EVENT_WINDOW_DESTROYED

    let EVENT_WINDOW_DESTROYED : UInt

    EVENT_WINDOW_DISPLAY_CHANGED

    let EVENT_WINDOW_DISPLAY_CHANGED : UInt

    EVENT_WINDOW_DISPLAY_SCALE_CHANGED

    let EVENT_WINDOW_DISPLAY_SCALE_CHANGED : UInt

    EVENT_WINDOW_ENTER_FULLSCREEN

    let EVENT_WINDOW_ENTER_FULLSCREEN : UInt

    EVENT_WINDOW_EXPOSED

    let EVENT_WINDOW_EXPOSED : UInt

    EVENT_WINDOW_FOCUS_GAINED

    let EVENT_WINDOW_FOCUS_GAINED : UInt

    EVENT_WINDOW_FOCUS_LOST

    let EVENT_WINDOW_FOCUS_LOST : UInt

    EVENT_WINDOW_HDR_STATE_CHANGED

    let EVENT_WINDOW_HDR_STATE_CHANGED : UInt

    EVENT_WINDOW_HIDDEN

    let EVENT_WINDOW_HIDDEN : UInt

    EVENT_WINDOW_HIT_TEST

    let EVENT_WINDOW_HIT_TEST : UInt

    EVENT_WINDOW_ICCPROF_CHANGED

    let EVENT_WINDOW_ICCPROF_CHANGED : UInt

    EVENT_WINDOW_LEAVE_FULLSCREEN

    let EVENT_WINDOW_LEAVE_FULLSCREEN : UInt

    EVENT_WINDOW_MAXIMIZED

    let EVENT_WINDOW_MAXIMIZED : UInt

    EVENT_WINDOW_METAL_VIEW_RESIZED

    let EVENT_WINDOW_METAL_VIEW_RESIZED : UInt

    EVENT_WINDOW_MINIMIZED

    let EVENT_WINDOW_MINIMIZED : UInt

    EVENT_WINDOW_MOUSE_ENTER

    let EVENT_WINDOW_MOUSE_ENTER : UInt

    EVENT_WINDOW_MOUSE_LEAVE

    let EVENT_WINDOW_MOUSE_LEAVE : UInt

    EVENT_WINDOW_MOVED

    let EVENT_WINDOW_MOVED : UInt

    EVENT_WINDOW_OCCLUDED

    let EVENT_WINDOW_OCCLUDED : UInt

    EVENT_WINDOW_PIXEL_SIZE_CHANGED

    let EVENT_WINDOW_PIXEL_SIZE_CHANGED : UInt

    EVENT_WINDOW_RESIZED

    let EVENT_WINDOW_RESIZED : UInt

    EVENT_WINDOW_RESTORED

    let EVENT_WINDOW_RESTORED : UInt

    EVENT_WINDOW_SAFE_AREA_CHANGED

    let EVENT_WINDOW_SAFE_AREA_CHANGED : UInt

    EVENT_WINDOW_SHOWN

    let EVENT_WINDOW_SHOWN : UInt

    INIT_AUDIO

    let INIT_AUDIO : UInt

    INIT_CAMERA

    let INIT_CAMERA : UInt

    INIT_EVENTS

    let INIT_EVENTS : UInt

    INIT_GAMEPAD

    let INIT_GAMEPAD : UInt

    INIT_HAPTIC

    let INIT_HAPTIC : UInt

    INIT_JOYSTICK

    let INIT_JOYSTICK : UInt

    INIT_SENSOR

    let INIT_SENSOR : UInt

    INIT_VIDEO

    let INIT_VIDEO : UInt

    MESSAGEBOX_BUTTONS_LEFT_TO_RIGHT

    let MESSAGEBOX_BUTTONS_LEFT_TO_RIGHT : UInt

    MESSAGEBOX_BUTTONS_RIGHT_TO_LEFT

    let MESSAGEBOX_BUTTONS_RIGHT_TO_LEFT : UInt

    MESSAGEBOX_BUTTON_ESCAPEKEY_DEFAULT

    let MESSAGEBOX_BUTTON_ESCAPEKEY_DEFAULT : UInt

    MESSAGEBOX_BUTTON_RETURNKEY_DEFAULT

    let MESSAGEBOX_BUTTON_RETURNKEY_DEFAULT : UInt

    MESSAGEBOX_COLOR_BACKGROUND

    let MESSAGEBOX_COLOR_BACKGROUND : UInt

    MESSAGEBOX_COLOR_BUTTON_BACKGROUND

    let MESSAGEBOX_COLOR_BUTTON_BACKGROUND : UInt

    MESSAGEBOX_COLOR_BUTTON_BORDER

    let MESSAGEBOX_COLOR_BUTTON_BORDER : UInt

    MESSAGEBOX_COLOR_BUTTON_SELECTED

    let MESSAGEBOX_COLOR_BUTTON_SELECTED : UInt

    MESSAGEBOX_COLOR_COUNT

    let MESSAGEBOX_COLOR_COUNT : UInt

    MESSAGEBOX_COLOR_TEXT

    let MESSAGEBOX_COLOR_TEXT : UInt

    MESSAGEBOX_ERROR

    let MESSAGEBOX_ERROR : UInt

    MESSAGEBOX_INFORMATION

    let MESSAGEBOX_INFORMATION : UInt

    MESSAGEBOX_WARNING

    let MESSAGEBOX_WARNING : UInt

    PIXELFORMAT_ABGR128_FLOAT

    let PIXELFORMAT_ABGR128_FLOAT : UInt

    PIXELFORMAT_ABGR1555

    let PIXELFORMAT_ABGR1555 : UInt

    PIXELFORMAT_ABGR2101010

    let PIXELFORMAT_ABGR2101010 : UInt

    PIXELFORMAT_ABGR4444

    let PIXELFORMAT_ABGR4444 : UInt

    PIXELFORMAT_ABGR64

    let PIXELFORMAT_ABGR64 : UInt

    PIXELFORMAT_ABGR64_FLOAT

    let PIXELFORMAT_ABGR64_FLOAT : UInt

    PIXELFORMAT_ABGR8888

    let PIXELFORMAT_ABGR8888 : UInt

    PIXELFORMAT_ARGB128_FLOAT

    let PIXELFORMAT_ARGB128_FLOAT : UInt

    PIXELFORMAT_ARGB1555

    let PIXELFORMAT_ARGB1555 : UInt

    PIXELFORMAT_ARGB2101010

    let PIXELFORMAT_ARGB2101010 : UInt

    PIXELFORMAT_ARGB4444

    let PIXELFORMAT_ARGB4444 : UInt

    PIXELFORMAT_ARGB64

    let PIXELFORMAT_ARGB64 : UInt

    PIXELFORMAT_ARGB64_FLOAT

    let PIXELFORMAT_ARGB64_FLOAT : UInt

    PIXELFORMAT_ARGB8888

    let PIXELFORMAT_ARGB8888 : UInt

    PIXELFORMAT_BGR24

    let PIXELFORMAT_BGR24 : UInt

    PIXELFORMAT_BGR48

    let PIXELFORMAT_BGR48 : UInt

    PIXELFORMAT_BGR48_FLOAT

    let PIXELFORMAT_BGR48_FLOAT : UInt

    PIXELFORMAT_BGR565

    let PIXELFORMAT_BGR565 : UInt

    PIXELFORMAT_BGR96_FLOAT

    let PIXELFORMAT_BGR96_FLOAT : UInt

    PIXELFORMAT_BGRA128_FLOAT

    let PIXELFORMAT_BGRA128_FLOAT : UInt

    PIXELFORMAT_BGRA4444

    let PIXELFORMAT_BGRA4444 : UInt

    PIXELFORMAT_BGRA5551

    let PIXELFORMAT_BGRA5551 : UInt

    PIXELFORMAT_BGRA64

    let PIXELFORMAT_BGRA64 : UInt

    PIXELFORMAT_BGRA64_FLOAT

    let PIXELFORMAT_BGRA64_FLOAT : UInt

    PIXELFORMAT_BGRA8888

    let PIXELFORMAT_BGRA8888 : UInt

    PIXELFORMAT_BGRX8888

    let PIXELFORMAT_BGRX8888 : UInt

    PIXELFORMAT_EXTERNAL_OES

    let PIXELFORMAT_EXTERNAL_OES : UInt

    PIXELFORMAT_INDEX1LSB

    let PIXELFORMAT_INDEX1LSB : UInt

    PIXELFORMAT_INDEX1MSB

    let PIXELFORMAT_INDEX1MSB : UInt

    PIXELFORMAT_INDEX2LSB

    let PIXELFORMAT_INDEX2LSB : UInt

    PIXELFORMAT_INDEX2MSB

    let PIXELFORMAT_INDEX2MSB : UInt

    PIXELFORMAT_INDEX4LSB

    let PIXELFORMAT_INDEX4LSB : UInt

    PIXELFORMAT_INDEX4MSB

    let PIXELFORMAT_INDEX4MSB : UInt

    PIXELFORMAT_INDEX8

    let PIXELFORMAT_INDEX8 : UInt

    PIXELFORMAT_IYUV

    let PIXELFORMAT_IYUV : UInt

    PIXELFORMAT_MJPG

    let PIXELFORMAT_MJPG : UInt

    PIXELFORMAT_NV12

    let PIXELFORMAT_NV12 : UInt

    PIXELFORMAT_NV21

    let PIXELFORMAT_NV21 : UInt

    PIXELFORMAT_P010

    let PIXELFORMAT_P010 : UInt

    PIXELFORMAT_RGB24

    let PIXELFORMAT_RGB24 : UInt

    PIXELFORMAT_RGB332

    let PIXELFORMAT_RGB332 : UInt

    PIXELFORMAT_RGB48

    let PIXELFORMAT_RGB48 : UInt

    PIXELFORMAT_RGB48_FLOAT

    let PIXELFORMAT_RGB48_FLOAT : UInt

    PIXELFORMAT_RGB565

    let PIXELFORMAT_RGB565 : UInt

    PIXELFORMAT_RGB96_FLOAT

    let PIXELFORMAT_RGB96_FLOAT : UInt

    PIXELFORMAT_RGBA128_FLOAT

    let PIXELFORMAT_RGBA128_FLOAT : UInt

    PIXELFORMAT_RGBA4444

    let PIXELFORMAT_RGBA4444 : UInt

    PIXELFORMAT_RGBA5551

    let PIXELFORMAT_RGBA5551 : UInt

    PIXELFORMAT_RGBA64

    let PIXELFORMAT_RGBA64 : UInt

    PIXELFORMAT_RGBA64_FLOAT

    let PIXELFORMAT_RGBA64_FLOAT : UInt

    PIXELFORMAT_RGBA8888

    let PIXELFORMAT_RGBA8888 : UInt

    PIXELFORMAT_RGBX8888

    let PIXELFORMAT_RGBX8888 : UInt

    PIXELFORMAT_UNKNOWN

    let PIXELFORMAT_UNKNOWN : UInt

    PIXELFORMAT_UYVY

    let PIXELFORMAT_UYVY : UInt

    PIXELFORMAT_XBGR1555

    let PIXELFORMAT_XBGR1555 : UInt

    PIXELFORMAT_XBGR2101010

    let PIXELFORMAT_XBGR2101010 : UInt

    PIXELFORMAT_XBGR4444

    let PIXELFORMAT_XBGR4444 : UInt

    PIXELFORMAT_XBGR8888

    let PIXELFORMAT_XBGR8888 : UInt

    PIXELFORMAT_XRGB1555

    let PIXELFORMAT_XRGB1555 : UInt

    PIXELFORMAT_XRGB2101010

    let PIXELFORMAT_XRGB2101010 : UInt

    PIXELFORMAT_XRGB4444

    let PIXELFORMAT_XRGB4444 : UInt

    PIXELFORMAT_XRGB8888

    let PIXELFORMAT_XRGB8888 : UInt

    PIXELFORMAT_YUY2

    let PIXELFORMAT_YUY2 : UInt

    PIXELFORMAT_YV12

    let PIXELFORMAT_YV12 : UInt

    PIXELFORMAT_YVYU

    let PIXELFORMAT_YVYU : UInt

    let PROP_APP_METADATA_COPYRIGHT_STRING : Bytes

    PROP_APP_METADATA_CREATOR_STRING

    let PROP_APP_METADATA_CREATOR_STRING : Bytes

    PROP_APP_METADATA_IDENTIFIER_STRING

    let PROP_APP_METADATA_IDENTIFIER_STRING : Bytes

    PROP_APP_METADATA_NAME_STRING

    let PROP_APP_METADATA_NAME_STRING : Bytes

    PROP_APP_METADATA_TYPE_STRING

    let PROP_APP_METADATA_TYPE_STRING : Bytes

    PROP_APP_METADATA_URL_STRING

    let PROP_APP_METADATA_URL_STRING : Bytes

    PROP_APP_METADATA_VERSION_STRING

    let PROP_APP_METADATA_VERSION_STRING : Bytes

    PROP_DISPLAY_HDR_ENABLED_BOOLEAN

    let PROP_DISPLAY_HDR_ENABLED_BOOLEAN : Bytes

    PROP_DISPLAY_KMSDRM_PANEL_ORIENTATION_NUMBER

    let PROP_DISPLAY_KMSDRM_PANEL_ORIENTATION_NUMBER : Bytes

    PROP_DISPLAY_WAYLAND_WL_OUTPUT_POINTER

    let PROP_DISPLAY_WAYLAND_WL_OUTPUT_POINTER : Bytes

    PROP_DISPLAY_WINDOWS_HMONITOR_POINTER

    let PROP_DISPLAY_WINDOWS_HMONITOR_POINTER : Bytes

    PROP_GLOBAL_VIDEO_WAYLAND_WL_DISPLAY_POINTER

    let PROP_GLOBAL_VIDEO_WAYLAND_WL_DISPLAY_POINTER : Bytes

    PROP_NAME_STRING

    let PROP_NAME_STRING : Bytes

    PROP_RENDERER_CREATE_GPU_DEVICE_POINTER

    let PROP_RENDERER_CREATE_GPU_DEVICE_POINTER : Bytes

    PROP_RENDERER_CREATE_GPU_SHADERS_DXIL_BOOLEAN

    let PROP_RENDERER_CREATE_GPU_SHADERS_DXIL_BOOLEAN : Bytes

    PROP_RENDERER_CREATE_GPU_SHADERS_MSL_BOOLEAN

    let PROP_RENDERER_CREATE_GPU_SHADERS_MSL_BOOLEAN : Bytes

    PROP_RENDERER_CREATE_GPU_SHADERS_SPIRV_BOOLEAN

    let PROP_RENDERER_CREATE_GPU_SHADERS_SPIRV_BOOLEAN : Bytes

    PROP_RENDERER_CREATE_NAME_STRING

    let PROP_RENDERER_CREATE_NAME_STRING : Bytes

    PROP_RENDERER_CREATE_OUTPUT_COLORSPACE_NUMBER

    let PROP_RENDERER_CREATE_OUTPUT_COLORSPACE_NUMBER : Bytes

    PROP_RENDERER_CREATE_PRESENT_VSYNC_NUMBER

    let PROP_RENDERER_CREATE_PRESENT_VSYNC_NUMBER : Bytes

    PROP_RENDERER_CREATE_SURFACE_POINTER

    let PROP_RENDERER_CREATE_SURFACE_POINTER : Bytes

    PROP_RENDERER_CREATE_VULKAN_DEVICE_POINTER

    let PROP_RENDERER_CREATE_VULKAN_DEVICE_POINTER : Bytes

    PROP_RENDERER_CREATE_VULKAN_GRAPHICS_QUEUE_FAMILY_INDEX_NUMBER

    let PROP_RENDERER_CREATE_VULKAN_GRAPHICS_QUEUE_FAMILY_INDEX_NUMBER : Bytes

    PROP_RENDERER_CREATE_VULKAN_INSTANCE_POINTER

    let PROP_RENDERER_CREATE_VULKAN_INSTANCE_POINTER : Bytes

    PROP_RENDERER_CREATE_VULKAN_PHYSICAL_DEVICE_POINTER

    let PROP_RENDERER_CREATE_VULKAN_PHYSICAL_DEVICE_POINTER : Bytes

    PROP_RENDERER_CREATE_VULKAN_PRESENT_QUEUE_FAMILY_INDEX_NUMBER

    let PROP_RENDERER_CREATE_VULKAN_PRESENT_QUEUE_FAMILY_INDEX_NUMBER : Bytes

    PROP_RENDERER_CREATE_VULKAN_SURFACE_NUMBER

    let PROP_RENDERER_CREATE_VULKAN_SURFACE_NUMBER : Bytes

    PROP_RENDERER_CREATE_WINDOW_POINTER

    let PROP_RENDERER_CREATE_WINDOW_POINTER : Bytes

    PROP_RENDERER_D3D11_DEVICE_POINTER

    let PROP_RENDERER_D3D11_DEVICE_POINTER : Bytes

    PROP_RENDERER_D3D11_SWAPCHAIN_POINTER

    let PROP_RENDERER_D3D11_SWAPCHAIN_POINTER : Bytes

    PROP_RENDERER_D3D12_COMMAND_QUEUE_POINTER

    let PROP_RENDERER_D3D12_COMMAND_QUEUE_POINTER : Bytes

    PROP_RENDERER_D3D12_DEVICE_POINTER

    let PROP_RENDERER_D3D12_DEVICE_POINTER : Bytes

    PROP_RENDERER_D3D12_SWAPCHAIN_POINTER

    let PROP_RENDERER_D3D12_SWAPCHAIN_POINTER : Bytes

    PROP_RENDERER_D3D9_DEVICE_POINTER

    let PROP_RENDERER_D3D9_DEVICE_POINTER : Bytes

    PROP_RENDERER_GPU_DEVICE_POINTER

    let PROP_RENDERER_GPU_DEVICE_POINTER : Bytes

    PROP_RENDERER_HDR_ENABLED_BOOLEAN

    let PROP_RENDERER_HDR_ENABLED_BOOLEAN : Bytes

    PROP_RENDERER_HDR_HEADROOM_FLOAT

    let PROP_RENDERER_HDR_HEADROOM_FLOAT : Bytes

    PROP_RENDERER_MAX_TEXTURE_SIZE_NUMBER

    let PROP_RENDERER_MAX_TEXTURE_SIZE_NUMBER : Bytes

    PROP_RENDERER_NAME_STRING

    let PROP_RENDERER_NAME_STRING : Bytes

    PROP_RENDERER_OUTPUT_COLORSPACE_NUMBER

    let PROP_RENDERER_OUTPUT_COLORSPACE_NUMBER : Bytes

    PROP_RENDERER_SDR_WHITE_POINT_FLOAT

    let PROP_RENDERER_SDR_WHITE_POINT_FLOAT : Bytes

    PROP_RENDERER_SURFACE_POINTER

    let PROP_RENDERER_SURFACE_POINTER : Bytes

    PROP_RENDERER_TEXTURE_FORMATS_POINTER

    let PROP_RENDERER_TEXTURE_FORMATS_POINTER : Bytes

    PROP_RENDERER_TEXTURE_WRAPPING_BOOLEAN

    let PROP_RENDERER_TEXTURE_WRAPPING_BOOLEAN : Bytes

    PROP_RENDERER_VSYNC_NUMBER

    let PROP_RENDERER_VSYNC_NUMBER : Bytes

    PROP_RENDERER_VULKAN_DEVICE_POINTER

    let PROP_RENDERER_VULKAN_DEVICE_POINTER : Bytes

    PROP_RENDERER_VULKAN_GRAPHICS_QUEUE_FAMILY_INDEX_NUMBER

    let PROP_RENDERER_VULKAN_GRAPHICS_QUEUE_FAMILY_INDEX_NUMBER : Bytes

    PROP_RENDERER_VULKAN_INSTANCE_POINTER

    let PROP_RENDERER_VULKAN_INSTANCE_POINTER : Bytes

    PROP_RENDERER_VULKAN_PHYSICAL_DEVICE_POINTER

    let PROP_RENDERER_VULKAN_PHYSICAL_DEVICE_POINTER : Bytes

    PROP_RENDERER_VULKAN_PRESENT_QUEUE_FAMILY_INDEX_NUMBER

    let PROP_RENDERER_VULKAN_PRESENT_QUEUE_FAMILY_INDEX_NUMBER : Bytes

    PROP_RENDERER_VULKAN_SURFACE_NUMBER

    let PROP_RENDERER_VULKAN_SURFACE_NUMBER : Bytes

    PROP_RENDERER_VULKAN_SWAPCHAIN_IMAGE_COUNT_NUMBER

    let PROP_RENDERER_VULKAN_SWAPCHAIN_IMAGE_COUNT_NUMBER : Bytes

    PROP_RENDERER_WINDOW_POINTER

    let PROP_RENDERER_WINDOW_POINTER : Bytes

    PROP_TEXTINPUT_ANDROID_INPUTTYPE_NUMBER

    let PROP_TEXTINPUT_ANDROID_INPUTTYPE_NUMBER : Bytes

    PROP_TEXTINPUT_AUTOCORRECT_BOOLEAN

    let PROP_TEXTINPUT_AUTOCORRECT_BOOLEAN : Bytes

    PROP_TEXTINPUT_CAPITALIZATION_NUMBER

    let PROP_TEXTINPUT_CAPITALIZATION_NUMBER : Bytes

    PROP_TEXTINPUT_MULTILINE_BOOLEAN

    let PROP_TEXTINPUT_MULTILINE_BOOLEAN : Bytes

    PROP_TEXTINPUT_TYPE_NUMBER

    let PROP_TEXTINPUT_TYPE_NUMBER : Bytes

    PROP_TEXTURE_ACCESS_NUMBER

    let PROP_TEXTURE_ACCESS_NUMBER : Bytes

    PROP_TEXTURE_COLORSPACE_NUMBER

    let PROP_TEXTURE_COLORSPACE_NUMBER : Bytes

    PROP_TEXTURE_CREATE_ACCESS_NUMBER

    let PROP_TEXTURE_CREATE_ACCESS_NUMBER : Bytes

    PROP_TEXTURE_CREATE_COLORSPACE_NUMBER

    let PROP_TEXTURE_CREATE_COLORSPACE_NUMBER : Bytes

    PROP_TEXTURE_CREATE_D3D11_TEXTURE_POINTER

    let PROP_TEXTURE_CREATE_D3D11_TEXTURE_POINTER : Bytes

    PROP_TEXTURE_CREATE_D3D11_TEXTURE_U_POINTER

    let PROP_TEXTURE_CREATE_D3D11_TEXTURE_U_POINTER : Bytes

    PROP_TEXTURE_CREATE_D3D11_TEXTURE_V_POINTER

    let PROP_TEXTURE_CREATE_D3D11_TEXTURE_V_POINTER : Bytes

    PROP_TEXTURE_CREATE_D3D12_TEXTURE_POINTER

    let PROP_TEXTURE_CREATE_D3D12_TEXTURE_POINTER : Bytes

    PROP_TEXTURE_CREATE_D3D12_TEXTURE_U_POINTER

    let PROP_TEXTURE_CREATE_D3D12_TEXTURE_U_POINTER : Bytes

    PROP_TEXTURE_CREATE_D3D12_TEXTURE_V_POINTER

    let PROP_TEXTURE_CREATE_D3D12_TEXTURE_V_POINTER : Bytes

    PROP_TEXTURE_CREATE_FORMAT_NUMBER

    let PROP_TEXTURE_CREATE_FORMAT_NUMBER : Bytes

    PROP_TEXTURE_CREATE_GPU_TEXTURE_POINTER

    let PROP_TEXTURE_CREATE_GPU_TEXTURE_POINTER : Bytes

    PROP_TEXTURE_CREATE_GPU_TEXTURE_UV_POINTER

    let PROP_TEXTURE_CREATE_GPU_TEXTURE_UV_POINTER : Bytes

    PROP_TEXTURE_CREATE_GPU_TEXTURE_U_POINTER

    let PROP_TEXTURE_CREATE_GPU_TEXTURE_U_POINTER : Bytes

    PROP_TEXTURE_CREATE_GPU_TEXTURE_V_POINTER

    let PROP_TEXTURE_CREATE_GPU_TEXTURE_V_POINTER : Bytes

    PROP_TEXTURE_CREATE_HDR_HEADROOM_FLOAT

    let PROP_TEXTURE_CREATE_HDR_HEADROOM_FLOAT : Bytes

    PROP_TEXTURE_CREATE_HEIGHT_NUMBER

    let PROP_TEXTURE_CREATE_HEIGHT_NUMBER : Bytes

    PROP_TEXTURE_CREATE_METAL_PIXELBUFFER_POINTER

    let PROP_TEXTURE_CREATE_METAL_PIXELBUFFER_POINTER : Bytes

    PROP_TEXTURE_CREATE_OPENGLES2_TEXTURE_NUMBER

    let PROP_TEXTURE_CREATE_OPENGLES2_TEXTURE_NUMBER : Bytes

    PROP_TEXTURE_CREATE_OPENGLES2_TEXTURE_UV_NUMBER

    let PROP_TEXTURE_CREATE_OPENGLES2_TEXTURE_UV_NUMBER : Bytes

    PROP_TEXTURE_CREATE_OPENGLES2_TEXTURE_U_NUMBER

    let PROP_TEXTURE_CREATE_OPENGLES2_TEXTURE_U_NUMBER : Bytes

    PROP_TEXTURE_CREATE_OPENGLES2_TEXTURE_V_NUMBER

    let PROP_TEXTURE_CREATE_OPENGLES2_TEXTURE_V_NUMBER : Bytes

    PROP_TEXTURE_CREATE_OPENGL_TEXTURE_NUMBER

    let PROP_TEXTURE_CREATE_OPENGL_TEXTURE_NUMBER : Bytes

    PROP_TEXTURE_CREATE_OPENGL_TEXTURE_UV_NUMBER

    let PROP_TEXTURE_CREATE_OPENGL_TEXTURE_UV_NUMBER : Bytes

    PROP_TEXTURE_CREATE_OPENGL_TEXTURE_U_NUMBER

    let PROP_TEXTURE_CREATE_OPENGL_TEXTURE_U_NUMBER : Bytes

    PROP_TEXTURE_CREATE_OPENGL_TEXTURE_V_NUMBER

    let PROP_TEXTURE_CREATE_OPENGL_TEXTURE_V_NUMBER : Bytes

    PROP_TEXTURE_CREATE_PALETTE_POINTER

    let PROP_TEXTURE_CREATE_PALETTE_POINTER : Bytes

    PROP_TEXTURE_CREATE_SDR_WHITE_POINT_FLOAT

    let PROP_TEXTURE_CREATE_SDR_WHITE_POINT_FLOAT : Bytes

    PROP_TEXTURE_CREATE_VULKAN_LAYOUT_NUMBER

    let PROP_TEXTURE_CREATE_VULKAN_LAYOUT_NUMBER : Bytes

    PROP_TEXTURE_CREATE_VULKAN_TEXTURE_NUMBER

    let PROP_TEXTURE_CREATE_VULKAN_TEXTURE_NUMBER : Bytes

    PROP_TEXTURE_CREATE_WIDTH_NUMBER

    let PROP_TEXTURE_CREATE_WIDTH_NUMBER : Bytes

    PROP_TEXTURE_D3D11_TEXTURE_POINTER

    let PROP_TEXTURE_D3D11_TEXTURE_POINTER : Bytes

    PROP_TEXTURE_D3D11_TEXTURE_U_POINTER

    let PROP_TEXTURE_D3D11_TEXTURE_U_POINTER : Bytes

    PROP_TEXTURE_D3D11_TEXTURE_V_POINTER

    let PROP_TEXTURE_D3D11_TEXTURE_V_POINTER : Bytes

    PROP_TEXTURE_D3D12_TEXTURE_POINTER

    let PROP_TEXTURE_D3D12_TEXTURE_POINTER : Bytes

    PROP_TEXTURE_D3D12_TEXTURE_U_POINTER

    let PROP_TEXTURE_D3D12_TEXTURE_U_POINTER : Bytes

    PROP_TEXTURE_D3D12_TEXTURE_V_POINTER

    let PROP_TEXTURE_D3D12_TEXTURE_V_POINTER : Bytes

    PROP_TEXTURE_FORMAT_NUMBER

    let PROP_TEXTURE_FORMAT_NUMBER : Bytes

    PROP_TEXTURE_GPU_TEXTURE_POINTER

    let PROP_TEXTURE_GPU_TEXTURE_POINTER : Bytes

    PROP_TEXTURE_GPU_TEXTURE_UV_POINTER

    let PROP_TEXTURE_GPU_TEXTURE_UV_POINTER : Bytes

    PROP_TEXTURE_GPU_TEXTURE_U_POINTER

    let PROP_TEXTURE_GPU_TEXTURE_U_POINTER : Bytes

    PROP_TEXTURE_GPU_TEXTURE_V_POINTER

    let PROP_TEXTURE_GPU_TEXTURE_V_POINTER : Bytes

    PROP_TEXTURE_HDR_HEADROOM_FLOAT

    let PROP_TEXTURE_HDR_HEADROOM_FLOAT : Bytes

    PROP_TEXTURE_HEIGHT_NUMBER

    let PROP_TEXTURE_HEIGHT_NUMBER : Bytes

    PROP_TEXTURE_OPENGLES2_TEXTURE_NUMBER

    let PROP_TEXTURE_OPENGLES2_TEXTURE_NUMBER : Bytes

    PROP_TEXTURE_OPENGLES2_TEXTURE_TARGET_NUMBER

    let PROP_TEXTURE_OPENGLES2_TEXTURE_TARGET_NUMBER : Bytes

    PROP_TEXTURE_OPENGLES2_TEXTURE_UV_NUMBER

    let PROP_TEXTURE_OPENGLES2_TEXTURE_UV_NUMBER : Bytes

    PROP_TEXTURE_OPENGLES2_TEXTURE_U_NUMBER

    let PROP_TEXTURE_OPENGLES2_TEXTURE_U_NUMBER : Bytes

    PROP_TEXTURE_OPENGLES2_TEXTURE_V_NUMBER

    let PROP_TEXTURE_OPENGLES2_TEXTURE_V_NUMBER : Bytes

    PROP_TEXTURE_OPENGL_TEXTURE_NUMBER

    let PROP_TEXTURE_OPENGL_TEXTURE_NUMBER : Bytes

    PROP_TEXTURE_OPENGL_TEXTURE_TARGET_NUMBER

    let PROP_TEXTURE_OPENGL_TEXTURE_TARGET_NUMBER : Bytes

    PROP_TEXTURE_OPENGL_TEXTURE_UV_NUMBER

    let PROP_TEXTURE_OPENGL_TEXTURE_UV_NUMBER : Bytes

    PROP_TEXTURE_OPENGL_TEXTURE_U_NUMBER

    let PROP_TEXTURE_OPENGL_TEXTURE_U_NUMBER : Bytes

    PROP_TEXTURE_OPENGL_TEXTURE_V_NUMBER

    let PROP_TEXTURE_OPENGL_TEXTURE_V_NUMBER : Bytes

    PROP_TEXTURE_OPENGL_TEX_H_FLOAT

    let PROP_TEXTURE_OPENGL_TEX_H_FLOAT : Bytes

    PROP_TEXTURE_OPENGL_TEX_W_FLOAT

    let PROP_TEXTURE_OPENGL_TEX_W_FLOAT : Bytes

    PROP_TEXTURE_SDR_WHITE_POINT_FLOAT

    let PROP_TEXTURE_SDR_WHITE_POINT_FLOAT : Bytes

    PROP_TEXTURE_VULKAN_TEXTURE_NUMBER

    let PROP_TEXTURE_VULKAN_TEXTURE_NUMBER : Bytes

    PROP_TEXTURE_WIDTH_NUMBER

    let PROP_TEXTURE_WIDTH_NUMBER : Bytes

    PROP_WINDOW_ANDROID_SURFACE_POINTER

    let PROP_WINDOW_ANDROID_SURFACE_POINTER : Bytes

    PROP_WINDOW_ANDROID_WINDOW_POINTER

    let PROP_WINDOW_ANDROID_WINDOW_POINTER : Bytes

    PROP_WINDOW_COCOA_METAL_VIEW_TAG_NUMBER

    let PROP_WINDOW_COCOA_METAL_VIEW_TAG_NUMBER : Bytes

    PROP_WINDOW_COCOA_WINDOW_POINTER

    let PROP_WINDOW_COCOA_WINDOW_POINTER : Bytes

    PROP_WINDOW_CREATE_ALWAYS_ON_TOP_BOOLEAN

    let PROP_WINDOW_CREATE_ALWAYS_ON_TOP_BOOLEAN : Bytes

    PROP_WINDOW_CREATE_BORDERLESS_BOOLEAN

    let PROP_WINDOW_CREATE_BORDERLESS_BOOLEAN : Bytes

    PROP_WINDOW_CREATE_COCOA_VIEW_POINTER

    let PROP_WINDOW_CREATE_COCOA_VIEW_POINTER : Bytes

    PROP_WINDOW_CREATE_COCOA_WINDOW_POINTER

    let PROP_WINDOW_CREATE_COCOA_WINDOW_POINTER : Bytes

    PROP_WINDOW_CREATE_CONSTRAIN_POPUP_BOOLEAN

    let PROP_WINDOW_CREATE_CONSTRAIN_POPUP_BOOLEAN : Bytes

    PROP_WINDOW_CREATE_EMSCRIPTEN_CANVAS_ID_STRING

    let PROP_WINDOW_CREATE_EMSCRIPTEN_CANVAS_ID_STRING : Bytes

    PROP_WINDOW_CREATE_EMSCRIPTEN_KEYBOARD_ELEMENT_STRING

    let PROP_WINDOW_CREATE_EMSCRIPTEN_KEYBOARD_ELEMENT_STRING : Bytes

    PROP_WINDOW_CREATE_EXTERNAL_GRAPHICS_CONTEXT_BOOLEAN

    let PROP_WINDOW_CREATE_EXTERNAL_GRAPHICS_CONTEXT_BOOLEAN : Bytes

    PROP_WINDOW_CREATE_FLAGS_NUMBER

    let PROP_WINDOW_CREATE_FLAGS_NUMBER : Bytes

    PROP_WINDOW_CREATE_FOCUSABLE_BOOLEAN

    let PROP_WINDOW_CREATE_FOCUSABLE_BOOLEAN : Bytes

    PROP_WINDOW_CREATE_FULLSCREEN_BOOLEAN

    let PROP_WINDOW_CREATE_FULLSCREEN_BOOLEAN : Bytes

    PROP_WINDOW_CREATE_HEIGHT_NUMBER

    let PROP_WINDOW_CREATE_HEIGHT_NUMBER : Bytes

    PROP_WINDOW_CREATE_HIDDEN_BOOLEAN

    let PROP_WINDOW_CREATE_HIDDEN_BOOLEAN : Bytes

    PROP_WINDOW_CREATE_HIGH_PIXEL_DENSITY_BOOLEAN

    let PROP_WINDOW_CREATE_HIGH_PIXEL_DENSITY_BOOLEAN : Bytes

    PROP_WINDOW_CREATE_MAXIMIZED_BOOLEAN

    let PROP_WINDOW_CREATE_MAXIMIZED_BOOLEAN : Bytes

    PROP_WINDOW_CREATE_MENU_BOOLEAN

    let PROP_WINDOW_CREATE_MENU_BOOLEAN : Bytes

    PROP_WINDOW_CREATE_METAL_BOOLEAN

    let PROP_WINDOW_CREATE_METAL_BOOLEAN : Bytes

    PROP_WINDOW_CREATE_MINIMIZED_BOOLEAN

    let PROP_WINDOW_CREATE_MINIMIZED_BOOLEAN : Bytes

    PROP_WINDOW_CREATE_MODAL_BOOLEAN

    let PROP_WINDOW_CREATE_MODAL_BOOLEAN : Bytes

    PROP_WINDOW_CREATE_MOUSE_GRABBED_BOOLEAN

    let PROP_WINDOW_CREATE_MOUSE_GRABBED_BOOLEAN : Bytes

    PROP_WINDOW_CREATE_OPENGL_BOOLEAN

    let PROP_WINDOW_CREATE_OPENGL_BOOLEAN : Bytes

    PROP_WINDOW_CREATE_PARENT_POINTER

    let PROP_WINDOW_CREATE_PARENT_POINTER : Bytes

    PROP_WINDOW_CREATE_RESIZABLE_BOOLEAN

    let PROP_WINDOW_CREATE_RESIZABLE_BOOLEAN : Bytes

    PROP_WINDOW_CREATE_TITLE_STRING

    let PROP_WINDOW_CREATE_TITLE_STRING : Bytes

    PROP_WINDOW_CREATE_TOOLTIP_BOOLEAN

    let PROP_WINDOW_CREATE_TOOLTIP_BOOLEAN : Bytes

    PROP_WINDOW_CREATE_TRANSPARENT_BOOLEAN

    let PROP_WINDOW_CREATE_TRANSPARENT_BOOLEAN : Bytes

    PROP_WINDOW_CREATE_UTILITY_BOOLEAN

    let PROP_WINDOW_CREATE_UTILITY_BOOLEAN : Bytes

    PROP_WINDOW_CREATE_VULKAN_BOOLEAN

    let PROP_WINDOW_CREATE_VULKAN_BOOLEAN : Bytes

    PROP_WINDOW_CREATE_WAYLAND_CREATE_EGL_WINDOW_BOOLEAN

    let PROP_WINDOW_CREATE_WAYLAND_CREATE_EGL_WINDOW_BOOLEAN : Bytes

    PROP_WINDOW_CREATE_WAYLAND_SURFACE_ROLE_CUSTOM_BOOLEAN

    let PROP_WINDOW_CREATE_WAYLAND_SURFACE_ROLE_CUSTOM_BOOLEAN : Bytes

    PROP_WINDOW_CREATE_WAYLAND_WL_SURFACE_POINTER

    let PROP_WINDOW_CREATE_WAYLAND_WL_SURFACE_POINTER : Bytes

    PROP_WINDOW_CREATE_WIDTH_NUMBER

    let PROP_WINDOW_CREATE_WIDTH_NUMBER : Bytes

    PROP_WINDOW_CREATE_WIN32_HWND_POINTER

    let PROP_WINDOW_CREATE_WIN32_HWND_POINTER : Bytes

    PROP_WINDOW_CREATE_WIN32_PIXEL_FORMAT_HWND_POINTER

    let PROP_WINDOW_CREATE_WIN32_PIXEL_FORMAT_HWND_POINTER : Bytes

    PROP_WINDOW_CREATE_WINDOWSCENE_POINTER

    let PROP_WINDOW_CREATE_WINDOWSCENE_POINTER : Bytes

    PROP_WINDOW_CREATE_X11_WINDOW_NUMBER

    let PROP_WINDOW_CREATE_X11_WINDOW_NUMBER : Bytes

    PROP_WINDOW_CREATE_X_NUMBER

    let PROP_WINDOW_CREATE_X_NUMBER : Bytes

    PROP_WINDOW_CREATE_Y_NUMBER

    let PROP_WINDOW_CREATE_Y_NUMBER : Bytes

    PROP_WINDOW_EMSCRIPTEN_CANVAS_ID_STRING

    let PROP_WINDOW_EMSCRIPTEN_CANVAS_ID_STRING : Bytes

    PROP_WINDOW_EMSCRIPTEN_KEYBOARD_ELEMENT_STRING

    let PROP_WINDOW_EMSCRIPTEN_KEYBOARD_ELEMENT_STRING : Bytes

    PROP_WINDOW_HDR_ENABLED_BOOLEAN

    let PROP_WINDOW_HDR_ENABLED_BOOLEAN : Bytes

    PROP_WINDOW_HDR_HEADROOM_FLOAT

    let PROP_WINDOW_HDR_HEADROOM_FLOAT : Bytes

    PROP_WINDOW_KMSDRM_DEVICE_INDEX_NUMBER

    let PROP_WINDOW_KMSDRM_DEVICE_INDEX_NUMBER : Bytes

    PROP_WINDOW_KMSDRM_DRM_FD_NUMBER

    let PROP_WINDOW_KMSDRM_DRM_FD_NUMBER : Bytes

    PROP_WINDOW_KMSDRM_GBM_DEVICE_POINTER

    let PROP_WINDOW_KMSDRM_GBM_DEVICE_POINTER : Bytes

    PROP_WINDOW_OPENVR_OVERLAY_ID_NUMBER

    let PROP_WINDOW_OPENVR_OVERLAY_ID_NUMBER : Bytes

    PROP_WINDOW_SDR_WHITE_LEVEL_FLOAT

    let PROP_WINDOW_SDR_WHITE_LEVEL_FLOAT : Bytes

    PROP_WINDOW_SHAPE_POINTER

    let PROP_WINDOW_SHAPE_POINTER : Bytes

    PROP_WINDOW_UIKIT_METAL_VIEW_TAG_NUMBER

    let PROP_WINDOW_UIKIT_METAL_VIEW_TAG_NUMBER : Bytes

    PROP_WINDOW_UIKIT_OPENGL_FRAMEBUFFER_NUMBER

    let PROP_WINDOW_UIKIT_OPENGL_FRAMEBUFFER_NUMBER : Bytes

    PROP_WINDOW_UIKIT_OPENGL_RENDERBUFFER_NUMBER

    let PROP_WINDOW_UIKIT_OPENGL_RENDERBUFFER_NUMBER : Bytes

    PROP_WINDOW_UIKIT_OPENGL_RESOLVE_FRAMEBUFFER_NUMBER

    let PROP_WINDOW_UIKIT_OPENGL_RESOLVE_FRAMEBUFFER_NUMBER : Bytes

    PROP_WINDOW_UIKIT_WINDOW_POINTER

    let PROP_WINDOW_UIKIT_WINDOW_POINTER : Bytes

    PROP_WINDOW_VIVANTE_DISPLAY_POINTER

    let PROP_WINDOW_VIVANTE_DISPLAY_POINTER : Bytes

    PROP_WINDOW_VIVANTE_SURFACE_POINTER

    let PROP_WINDOW_VIVANTE_SURFACE_POINTER : Bytes

    PROP_WINDOW_VIVANTE_WINDOW_POINTER

    let PROP_WINDOW_VIVANTE_WINDOW_POINTER : Bytes

    PROP_WINDOW_WAYLAND_DISPLAY_POINTER

    let PROP_WINDOW_WAYLAND_DISPLAY_POINTER : Bytes

    PROP_WINDOW_WAYLAND_EGL_WINDOW_POINTER

    let PROP_WINDOW_WAYLAND_EGL_WINDOW_POINTER : Bytes

    PROP_WINDOW_WAYLAND_SURFACE_POINTER

    let PROP_WINDOW_WAYLAND_SURFACE_POINTER : Bytes

    PROP_WINDOW_WAYLAND_VIEWPORT_POINTER

    let PROP_WINDOW_WAYLAND_VIEWPORT_POINTER : Bytes

    PROP_WINDOW_WAYLAND_XDG_POPUP_POINTER

    let PROP_WINDOW_WAYLAND_XDG_POPUP_POINTER : Bytes

    PROP_WINDOW_WAYLAND_XDG_POSITIONER_POINTER

    let PROP_WINDOW_WAYLAND_XDG_POSITIONER_POINTER : Bytes

    PROP_WINDOW_WAYLAND_XDG_SURFACE_POINTER

    let PROP_WINDOW_WAYLAND_XDG_SURFACE_POINTER : Bytes

    PROP_WINDOW_WAYLAND_XDG_TOPLEVEL_EXPORT_HANDLE_STRING

    let PROP_WINDOW_WAYLAND_XDG_TOPLEVEL_EXPORT_HANDLE_STRING : Bytes

    PROP_WINDOW_WAYLAND_XDG_TOPLEVEL_POINTER

    let PROP_WINDOW_WAYLAND_XDG_TOPLEVEL_POINTER : Bytes

    PROP_WINDOW_WIN32_HDC_POINTER

    let PROP_WINDOW_WIN32_HDC_POINTER : Bytes

    PROP_WINDOW_WIN32_HWND_POINTER

    let PROP_WINDOW_WIN32_HWND_POINTER : Bytes

    PROP_WINDOW_WIN32_INSTANCE_POINTER

    let PROP_WINDOW_WIN32_INSTANCE_POINTER : Bytes

    PROP_WINDOW_X11_DISPLAY_POINTER

    let PROP_WINDOW_X11_DISPLAY_POINTER : Bytes

    PROP_WINDOW_X11_SCREEN_NUMBER

    let PROP_WINDOW_X11_SCREEN_NUMBER : Bytes

    PROP_WINDOW_X11_WINDOW_NUMBER

    let PROP_WINDOW_X11_WINDOW_NUMBER : Bytes

    TEXTUREACCESS_STATIC

    let TEXTUREACCESS_STATIC : UInt

    TEXTUREACCESS_STREAMING

    let TEXTUREACCESS_STREAMING : UInt

    TEXTUREACCESS_TARGET

    let TEXTUREACCESS_TARGET : UInt

    TRAYENTRY_BUTTON

    let TRAYENTRY_BUTTON : UInt

    TRAYENTRY_CHECKBOX

    let TRAYENTRY_CHECKBOX : UInt

    TRAYENTRY_CHECKED

    let TRAYENTRY_CHECKED : UInt

    TRAYENTRY_DISABLED

    let TRAYENTRY_DISABLED : UInt

    TRAYENTRY_SUBMENU

    let TRAYENTRY_SUBMENU : UInt

    WINDOW_ALWAYS_ON_TOP

    let WINDOW_ALWAYS_ON_TOP : UInt64

    WINDOW_BORDERLESS

    let WINDOW_BORDERLESS : UInt64

    WINDOW_EXTERNAL

    let WINDOW_EXTERNAL : UInt64

    WINDOW_FILL_DOCUMENT

    let WINDOW_FILL_DOCUMENT : UInt64

    WINDOW_FULLSCREEN

    let WINDOW_FULLSCREEN : UInt64

    WINDOW_HIDDEN

    let WINDOW_HIDDEN : UInt64

    WINDOW_HIGH_PIXEL_DENSITY

    let WINDOW_HIGH_PIXEL_DENSITY : UInt64

    WINDOW_INPUT_FOCUS

    let WINDOW_INPUT_FOCUS : UInt64

    WINDOW_KEYBOARD_GRABBED

    let WINDOW_KEYBOARD_GRABBED : UInt64

    WINDOW_MAXIMIZED

    let WINDOW_MAXIMIZED : UInt64

    WINDOW_METAL

    let WINDOW_METAL : UInt64

    WINDOW_MINIMIZED

    let WINDOW_MINIMIZED : UInt64

    WINDOW_MODAL

    let WINDOW_MODAL : UInt64

    WINDOW_MOUSE_CAPTURE

    let WINDOW_MOUSE_CAPTURE : UInt64

    WINDOW_MOUSE_FOCUS

    let WINDOW_MOUSE_FOCUS : UInt64

    WINDOW_MOUSE_GRABBED

    let WINDOW_MOUSE_GRABBED : UInt64

    WINDOW_MOUSE_RELATIVE_MODE

    let WINDOW_MOUSE_RELATIVE_MODE : UInt64

    WINDOW_NOT_FOCUSABLE

    let WINDOW_NOT_FOCUSABLE : UInt64

    WINDOW_OCCLUDED

    let WINDOW_OCCLUDED : UInt64

    WINDOW_OPENGL

    let WINDOW_OPENGL : UInt64

    WINDOW_POPUP_MENU

    let WINDOW_POPUP_MENU : UInt64

    WINDOW_RESIZABLE

    let WINDOW_RESIZABLE : UInt64

    WINDOW_SURFACE_VSYNC_ADAPTIVE

    let WINDOW_SURFACE_VSYNC_ADAPTIVE : Int

    WINDOW_SURFACE_VSYNC_DISABLED

    let WINDOW_SURFACE_VSYNC_DISABLED : UInt64

    WINDOW_TOOLTIP

    let WINDOW_TOOLTIP : UInt64

    WINDOW_TRANSPARENT

    let WINDOW_TRANSPARENT : UInt64

    WINDOW_UTILITY

    let WINDOW_UTILITY : UInt64

    WINDOW_VULKAN

    let WINDOW_VULKAN : UInt64

    add_event_watch

    fn add_event_watch(call_callback : FuncRef[((Bytes) -> Unit, Bytes) -> Unit], callback : (Bytes) -> Unit) -> EventWatch

    click_tray_entry

    fn click_tray_entry(entry : TrayEntry) -> Unit

    create_properties

    fn create_properties() -> UInt

    create_renderer

    fn create_renderer(window : Window, name : Bytes) -> Renderer

    create_texture

    fn create_texture(renderer : Renderer, format : UInt, access : UInt, w : Int, h : Int) -> Texture

    create_tray

    fn create_tray(tooltip : Bytes) -> Tray

    create_tray_menu

    fn create_tray_menu(tray : Tray) -> TrayMenu

    create_tray_submenu

    fn create_tray_submenu(entry : TrayEntry) -> TrayMenu

    create_window

    fn create_window(title : Bytes, w : Int, h : Int, flags : UInt64) -> Window

    create_window_with_properties

    fn create_window_with_properties(props : UInt) -> Window

    delay

    fn delay(ms : UInt) -> Unit

    destroy_properties

    fn destroy_properties(props : UInt) -> Unit

    destroy_renderer

    fn destroy_renderer(renderer : Renderer) -> Unit

    destroy_texture

    fn destroy_texture(texture : Texture) -> Unit

    destroy_tray

    fn destroy_tray(tray : Tray) -> Unit

    destroy_window

    fn destroy_window(window : Window) -> Unit

    get_boolean_property

    fn get_boolean_property(props : UInt, name : Bytes, default_value : Bool) -> Bool

    get_clipboard_text

    fn get_clipboard_text() -> Bytes

    get_current_render_output_size

    fn get_current_render_output_size(renderer : Renderer, w :
    Ref
    [Int], h :
    Ref
    [Int]) -> Bool

    get_error

    fn get_error() -> Bytes

    get_float_property

    fn get_float_property(props : UInt, name : Bytes, default_value : Float) -> Float

    get_number_property

    fn get_number_property(props : UInt, name : Bytes, default_value : Int64) -> Int64

    get_string_property

    fn get_string_property(props : UInt, name : Bytes, default_value : Bytes) -> Bytes

    get_texture_size

    fn get_texture_size(texture : Texture, w :
    Ref
    [Float], h :
    Ref
    [Float]) -> Bool

    get_tray_entry_checked

    fn get_tray_entry_checked(entry : TrayEntry) -> Bool

    get_tray_entry_enabled

    fn get_tray_entry_enabled(entry : TrayEntry) -> Bool

    get_tray_entry_label

    fn get_tray_entry_label(entry : TrayEntry) -> Bytes

    get_tray_menu

    fn get_tray_menu(tray : Tray) -> TrayMenu

    get_tray_submenu

    fn get_tray_submenu(entry : TrayEntry) -> TrayMenu

    get_window_flags

    fn get_window_flags(window : Window) -> UInt64

    get_window_from_id

    fn get_window_from_id(id : UInt) -> Window

    get_window_id

    fn get_window_id(window : Window) -> UInt

    get_window_keyboard_grab

    fn get_window_keyboard_grab(window : Window) -> Bool

    get_window_maximum_size

    fn get_window_maximum_size(window : Window, w :
    Ref
    [Int], h :
    Ref
    [Int]) -> Bool

    get_window_minimum_size

    fn get_window_minimum_size(window : Window, w :
    Ref
    [Int], h :
    Ref
    [Int]) -> Bool

    get_window_mouse_grab

    fn get_window_mouse_grab(window : Window) -> Bool

    get_window_opacity

    fn get_window_opacity(window : Window) -> Float

    get_window_position

    fn get_window_position(window : Window, x :
    Ref
    [Int], y :
    Ref
    [Int]) -> Bool

    get_window_properties

    fn get_window_properties(window : Window) -> UInt

    get_window_size

    fn get_window_size(window : Window, w :
    Ref
    [Int], h :
    Ref
    [Int]) -> Bool

    get_window_size_in_pixels

    fn get_window_size_in_pixels(window : Window, w :
    Ref
    [Int], h :
    Ref
    [Int]) -> Bool

    get_window_title

    fn get_window_title(window : Window) -> Bytes

    has_clipboard_text

    fn has_clipboard_text() -> Bool

    hide_window

    fn hide_window(window : Window) -> Bool

    init_lib

    fn init_lib(flags : UInt) -> Bool

    insert_tray_entry_at

    fn insert_tray_entry_at(menu : TrayMenu, pos : Int, label : Bytes, flags : UInt) -> TrayEntry

    lock_texture

    fn lock_texture(texture : Texture, rect : Rect, has_rect : Bool, pixels :
    Ref
    [Pointer], pitch :
    Ref
    [Int]) -> Bool

    make_tray_entry_callback

    fn make_tray_entry_callback(call_callback : FuncRef[(() -> Unit) -> Unit], callback : () -> Unit) -> TrayEntryCallback

    maximize_window

    fn maximize_window(window : Window) -> Bool

    minimize_window

    fn minimize_window(window : Window) -> Bool

    poll_event

    fn poll_event(event : Event) -> Bool

    quit

    fn quit() -> Unit

    raise_window

    fn raise_window(window : Window) -> Bool

    remove_event_watch

    fn remove_event_watch(watch : EventWatch) -> Unit

    remove_tray_entry

    fn remove_tray_entry(entry : TrayEntry) -> Unit

    render_clear

    fn render_clear(renderer : Renderer) -> Bool

    render_fill_rect

    fn render_fill_rect(renderer : Renderer, rect : FRect) -> Bool

    render_present

    fn render_present(renderer : Renderer) -> Bool

    render_texture

    fn render_texture(renderer : Renderer, texture : Texture, srcrect : FRect, dstrect : FRect) -> Bool

    restore_window

    fn restore_window(window : Window) -> Bool

    set_boolean_property

    fn set_boolean_property(props : UInt, name : Bytes, value : Bool) -> Bool

    set_clipboard_text

    fn set_clipboard_text(text : Bytes) -> Bool

    set_float_property

    fn set_float_property(props : UInt, name : Bytes, value : Float) -> Bool

    set_number_property

    fn set_number_property(props : UInt, name : Bytes, value : Int64) -> Bool

    set_render_draw_color

    fn set_render_draw_color(renderer : Renderer, r : Byte, g : Byte, b : Byte, a : Byte) -> Bool

    set_string_property

    fn set_string_property(props : UInt, name : Bytes, value : Bytes) -> Bool

    set_texture_alpha_mod

    fn set_texture_alpha_mod(texture : Texture, alpha : Byte) -> Bool

    set_texture_blend_mode

    fn set_texture_blend_mode(texture : Texture, blendMode : UInt) -> Bool

    set_texture_color_mod

    fn set_texture_color_mod(texture : Texture, r : Byte, g : Byte, b : Byte) -> Bool

    set_tray_entry_callback

    fn set_tray_entry_callback(entry : TrayEntry, callback : TrayEntryCallback) -> Unit

    set_tray_entry_checked

    fn set_tray_entry_checked(entry : TrayEntry, checked : Bool) -> Unit

    set_tray_entry_enabled

    fn set_tray_entry_enabled(entry : TrayEntry, enabled : Bool) -> Unit

    set_tray_entry_label

    fn set_tray_entry_label(entry : TrayEntry, label : Bytes) -> Unit

    set_tray_tooltip

    fn set_tray_tooltip(tray : Tray, tooltip : Bytes) -> Unit

    set_window_always_on_top

    fn set_window_always_on_top(window : Window, on_top : Bool) -> Bool

    set_window_bordered

    fn set_window_bordered(window : Window, bordered : Bool) -> Bool

    set_window_fullscreen

    fn set_window_fullscreen(window : Window, fullscreen : Bool) -> Bool

    set_window_keyboard_grab

    fn set_window_keyboard_grab(window : Window, grabbed : Bool) -> Bool

    set_window_maximum_size

    fn set_window_maximum_size(window : Window, max_w : Int, max_h : Int) -> Bool

    set_window_minimum_size

    fn set_window_minimum_size(window : Window, min_w : Int, min_h : Int) -> Bool

    set_window_mouse_grab

    fn set_window_mouse_grab(window : Window, grabbed : Bool) -> Bool

    set_window_opacity

    fn set_window_opacity(window : Window, opacity : Float) -> Bool

    set_window_position

    fn set_window_position(window : Window, x : Int, y : Int) -> Bool

    set_window_resizable

    fn set_window_resizable(window : Window, resizable : Bool) -> Bool

    set_window_size

    fn set_window_size(window : Window, w : Int, h : Int) -> Bool

    set_window_title

    fn set_window_title(window : Window, title : Bytes) -> Bool

    show_simple_message_box

    fn show_simple_message_box(flags : UInt, title : Bytes, message : Bytes, window : Window) -> Bool

    show_window

    fn show_window(window : Window) -> Bool

    show_window_system_menu

    fn show_window_system_menu(window : Window, x : Int, y : Int) -> Bool

    start_text_input

    fn start_text_input(window : Window) -> Bool

    stop_text_input

    fn stop_text_input(window : Window) -> Bool

    unlock_texture

    fn unlock_texture(texture : Texture) -> Unit

    update_texture

    fn update_texture(texture : Texture, rect : Rect, has_rect : Bool, pixels : Bytes, pitch : Int) -> Bool

    update_trays

    fn update_trays() -> Unit

    wait_event_timeout

    fn wait_event_timeout(event : Event, timeoutMS : Int) -> Bool