package vendor:glfw

⌘K
Ctrl+K
or
/

    Overview

    Bindings for GLFW

    Packages 1

    bindings

    External Examples 1 ¶

    The programs in odin-lang/examples about this package, and how many of its declarations each uses.

    Index

    Constants (333)
    Variables (0)

    This section is empty.

    Procedures (130)
    Procedure Groups (1)
    `#config` values (1)

    Types

    Allocator ¶

    Allocator :: glfw_bindings.Allocator

    CharProc ¶

    CharProc :: glfw_bindings.CharProc

    DropProc ¶

    DropProc :: glfw_bindings.DropProc

    ErrorProc ¶

    ErrorProc :: glfw_bindings.ErrorProc

    GammaRamp ¶

    GammaRamp :: glfw_bindings.GammaRamp

    Image ¶

    Image :: glfw_bindings.Image

    KeyProc ¶

    KeyProc :: glfw_bindings.KeyProc

    VidMode ¶

    VidMode :: glfw_bindings.VidMode

    Constants

    ACCUM_ALPHA_BITS ¶

    ACCUM_ALPHA_BITS :: 0x0002100A

    ACCUM_BLUE_BITS ¶

    ACCUM_BLUE_BITS :: 0x00021009

    ACCUM_GREEN_BITS ¶

    ACCUM_GREEN_BITS :: 0x00021008

    ACCUM_RED_BITS ¶

    ACCUM_RED_BITS :: 0x00021007

    ANGLE_PLATFORM_TYPE ¶

    ANGLE_PLATFORM_TYPE :: 0x00050002

    ANGLE_PLATFORM_TYPE_D3D11 ¶

    ANGLE_PLATFORM_TYPE_D3D11 :: 0x00037005

    ANGLE_PLATFORM_TYPE_D3D9 ¶

    ANGLE_PLATFORM_TYPE_D3D9 :: 0x00037004

    ANGLE_PLATFORM_TYPE_METAL ¶

    ANGLE_PLATFORM_TYPE_METAL :: 0x00037008

    ANGLE_PLATFORM_TYPE_NONE ¶

    ANGLE_PLATFORM_TYPE_NONE :: 0x00037001

    ANGLE_PLATFORM_TYPE_OPENGL ¶

    ANGLE_PLATFORM_TYPE_OPENGL :: 0x00037002

    ANGLE_PLATFORM_TYPE_OPENGLES ¶

    ANGLE_PLATFORM_TYPE_OPENGLES :: 0x00037003

    ANGLE_PLATFORM_TYPE_VULKAN ¶

    ANGLE_PLATFORM_TYPE_VULKAN :: 0x00037007

    ANY_RELEASE_BEHAVIOR ¶

    ANY_RELEASE_BEHAVIOR :: 0
     

    Behavior?

    API_UNAVAILABLE ¶

    API_UNAVAILABLE :: 0x00010006

    ARROW_CURSOR ¶

    ARROW_CURSOR :: 0x00036001
     

    Types of cursors

    CENTER_CURSOR ¶

    CENTER_CURSOR :: 0x00020009

    CLIENT_API ¶

    CLIENT_API :: 0x00022001
     

    Context window attributes

    COCOA_CHDIR_RESOURCES ¶

    COCOA_CHDIR_RESOURCES :: 0x00051001
     

    Platform specific init hints.

    COCOA_FRAME_NAME ¶

    COCOA_FRAME_NAME :: 0x00023002

    COCOA_GRAPHICS_SWITCHING ¶

    COCOA_GRAPHICS_SWITCHING :: 0x00023003

    COCOA_MENUBAR ¶

    COCOA_MENUBAR :: 0x00051002

    COCOA_RETINA_FRAMEBUFFER ¶

    COCOA_RETINA_FRAMEBUFFER :: 0x00023001
     

    Cross platform attributes

    CONNECTED ¶

    CONNECTED :: 0x00040001
     

    Joystick?

    CONTEXT_CREATION_API ¶

    CONTEXT_CREATION_API :: 0x0002200B

    CONTEXT_DEBUG ¶

    CONTEXT_DEBUG :: 0x00022007

    CONTEXT_NO_ERROR ¶

    CONTEXT_NO_ERROR :: 0x0002200A

    CONTEXT_RELEASE_BEHAVIOR ¶

    CONTEXT_RELEASE_BEHAVIOR :: 0x00022009

    CONTEXT_REVISION ¶

    CONTEXT_REVISION :: 0x00022004

    CONTEXT_ROBUSTNESS ¶

    CONTEXT_ROBUSTNESS :: 0x00022005

    CONTEXT_VERSION_MAJOR ¶

    CONTEXT_VERSION_MAJOR :: 0x00022002

    CONTEXT_VERSION_MINOR ¶

    CONTEXT_VERSION_MINOR :: 0x00022003

    CROSSHAIR_CURSOR ¶

    CROSSHAIR_CURSOR :: 0x00036003

    CURSOR ¶

    CURSOR :: 0x00033001
     

    Cursor draw state and whether keys are sticky

    CURSOR_CAPTURED ¶

    CURSOR_CAPTURED :: 0x00034004

    CURSOR_DISABLED ¶

    CURSOR_DISABLED :: 0x00034003

    CURSOR_HIDDEN ¶

    CURSOR_HIDDEN :: 0x00034002

    CURSOR_NORMAL ¶

    CURSOR_NORMAL :: 0x00034001
     

    Cursor draw state

    CURSOR_UNAVAILABLE ¶

    CURSOR_UNAVAILABLE :: 0x0001000B

    EGL_CONTEXT_API ¶

    EGL_CONTEXT_API :: 0x00036002

    FEATURE_UNAVAILABLE ¶

    FEATURE_UNAVAILABLE :: 0x0001000C

    FEATURE_UNIMPLEMENTED ¶

    FEATURE_UNIMPLEMENTED :: 0x0001000D

    FOCUSED ¶

    FOCUSED :: 0x00020001
     

    Window attributes

    FOCUS_ON_SHOW ¶

    FOCUS_ON_SHOW :: 0x0002000C

    FORMAT_UNAVAILABLE ¶

    FORMAT_UNAVAILABLE :: 0x00010009

    GAMEPAD_AXIS_LAST ¶

    GAMEPAD_AXIS_LAST :: GAMEPAD_AXIS_RIGHT_TRIGGER

    GAMEPAD_AXIS_LEFT_X ¶

    GAMEPAD_AXIS_LEFT_X :: 0
     

    Gamepad axes

    GAMEPAD_BUTTON_A ¶

    GAMEPAD_BUTTON_A :: 0
     

    Gamepad buttons

    GAMEPAD_BUTTON_CIRCLE ¶

    GAMEPAD_BUTTON_CIRCLE :: GAMEPAD_BUTTON_B

    GAMEPAD_BUTTON_CROSS ¶

    GAMEPAD_BUTTON_CROSS :: GAMEPAD_BUTTON_A

    GAMEPAD_BUTTON_LAST ¶

    GAMEPAD_BUTTON_LAST :: GAMEPAD_BUTTON_DPAD_LEFT

    GAMEPAD_BUTTON_SQUARE ¶

    GAMEPAD_BUTTON_SQUARE :: GAMEPAD_BUTTON_X

    GAMEPAD_BUTTON_TRIANGLE ¶

    GAMEPAD_BUTTON_TRIANGLE :: GAMEPAD_BUTTON_Y

    GLFW_SHARED ¶

    GLFW_SHARED :: #config(GLFW_SHARED, false)
    -define:GLFW_SHARED=false
     

    Config

    HAND_CURSOR ¶

    HAND_CURSOR :: POINTING_HAND_CURSOR

    HAT_CENTERED ¶

    HAT_CENTERED :: 0
     

    Joystick hat states.

    HAT_LEFT_DOWN ¶

    HAT_LEFT_DOWN :: HAT_LEFT | HAT_DOWN

    HAT_LEFT_UP ¶

    HAT_LEFT_UP :: HAT_LEFT | HAT_UP

    HAT_RIGHT_DOWN ¶

    HAT_RIGHT_DOWN :: HAT_RIGHT | HAT_DOWN

    HAT_RIGHT_UP ¶

    HAT_RIGHT_UP :: HAT_RIGHT | HAT_UP

    HRESIZE_CURSOR ¶

    HRESIZE_CURSOR :: RESIZE_EW_CURSOR
     

    Backwards compatibility cursors.

    INVALID_VALUE ¶

    INVALID_VALUE :: 0x00010004

    JOYSTICK_1 ¶

    JOYSTICK_1 :: 0
     

    Joystick buttons

    JOYSTICK_HAT_BUTTONS ¶

    JOYSTICK_HAT_BUTTONS :: 0x00050001

    JOYSTICK_LAST ¶

    JOYSTICK_LAST :: JOYSTICK_16

    KEY_0 ¶

    KEY_0 :: 48
     

    Alphanumeric characters

    KEY_ESCAPE ¶

    KEY_ESCAPE :: 256
     

    Named non-printable keys

    KEY_F1 ¶

    KEY_F1 :: 290
     

    Function keys

    KEY_KP_0 ¶

    KEY_KP_0 :: 320
     

    Keypad numbers

    KEY_KP_DECIMAL ¶

    KEY_KP_DECIMAL :: 330
     

    Keypad named function keys

    KEY_LEFT_SHIFT ¶

    KEY_LEFT_SHIFT :: 340
     

    Modifier keys

    KEY_SPACE ¶

    KEY_SPACE :: 32
     

    Named printable keys

    KEY_UNKNOWN ¶

    KEY_UNKNOWN :: -1
     

    The unknown key

    KEY_WORLD_1 ¶

    KEY_WORLD_1 :: 161
     

    non-US #1

    KEY_WORLD_2 ¶

    KEY_WORLD_2 :: 162
     

    non-US #2

    LOCK_KEY_MODS ¶

    LOCK_KEY_MODS :: 0x00033004

    LOSE_CONTEXT_ON_RESET ¶

    LOSE_CONTEXT_ON_RESET :: 0x00031002

    MOD_SHIFT ¶

    MOD_SHIFT :: 0x0001
     

    Bitmask for modifier keys

    MOUSE_BUTTON_1 ¶

    MOUSE_BUTTON_1 :: 0
     

    Mouse buttons

    MOUSE_BUTTON_LAST ¶

    MOUSE_BUTTON_LAST :: MOUSE_BUTTON_8
     

    Mousebutton aliases

    MOUSE_BUTTON_LEFT ¶

    MOUSE_BUTTON_LEFT :: MOUSE_BUTTON_1

    MOUSE_BUTTON_MIDDLE ¶

    MOUSE_BUTTON_MIDDLE :: MOUSE_BUTTON_3

    MOUSE_BUTTON_RIGHT ¶

    MOUSE_BUTTON_RIGHT :: MOUSE_BUTTON_2

    MOUSE_PASSTHROUGH ¶

    MOUSE_PASSTHROUGH :: 0x0002000D

    NATIVE_CONTEXT_API ¶

    NATIVE_CONTEXT_API :: 0x00036001
     

    Context API ?

    NOT_ALLOWED_CURSOR ¶

    NOT_ALLOWED_CURSOR :: 0x0003600A

    NOT_INITIALIZED ¶

    NOT_INITIALIZED :: 0x00010001

    NO_CURRENT_CONTEXT ¶

    NO_CURRENT_CONTEXT :: 0x00010002

    NO_ERROR ¶

    NO_ERROR :: 0x00000000
     

    Error constants

    NO_RESET_NOTIFICATION ¶

    NO_RESET_NOTIFICATION :: 0x00031001

    NO_ROBUSTNESS ¶

    NO_ROBUSTNESS :: 0
     

    Robustness?

    NO_WINDOW_CONTEXT ¶

    NO_WINDOW_CONTEXT :: 0x0001000A

    OPENGL_ANY_PROFILE ¶

    OPENGL_ANY_PROFILE :: 0
     

    OpenGL Profiles

    OPENGL_COMPAT_PROFILE ¶

    OPENGL_COMPAT_PROFILE :: 0x00032002

    OPENGL_CORE_PROFILE ¶

    OPENGL_CORE_PROFILE :: 0x00032001

    OPENGL_DEBUG_CONTEXT ¶

    OPENGL_DEBUG_CONTEXT :: CONTEXT_DEBUG
     

    Backwards compatibility

    OPENGL_ES_API ¶

    OPENGL_ES_API :: 0x00030002

    OPENGL_FORWARD_COMPAT ¶

    OPENGL_FORWARD_COMPAT :: 0x00022006

    OPENGL_PROFILE ¶

    OPENGL_PROFILE :: 0x00022008

    OSMESA_CONTEXT_API ¶

    OSMESA_CONTEXT_API :: 0x00036003

    OUT_OF_MEMORY ¶

    OUT_OF_MEMORY :: 0x00010005

    PLATFORM_COCOA ¶

    PLATFORM_COCOA :: 0x00060002

    PLATFORM_ERROR ¶

    PLATFORM_ERROR :: 0x00010008

    PLATFORM_NULL ¶

    PLATFORM_NULL :: 0x00060005

    PLATFORM_UNAVAILABLE ¶

    PLATFORM_UNAVAILABLE :: 0x0001000E

    PLATFORM_WAYLAND ¶

    PLATFORM_WAYLAND :: 0x00060003

    PLATFORM_WIN32 ¶

    PLATFORM_WIN32 :: 0x00060001

    POINTING_HAND_CURSOR ¶

    POINTING_HAND_CURSOR :: 0x00036004

    RAW_MOUSE_MOTION ¶

    RAW_MOUSE_MOTION :: 0x00033005
     

    Mouse motion

    RED_BITS ¶

    RED_BITS :: 0x00021001
     

    Pixel window attributes

    RELEASE ¶

    RELEASE :: 0
     

    Button/Key states

    RELEASE_BEHAVIOR_FLUSH ¶

    RELEASE_BEHAVIOR_FLUSH :: 0x00035001

    RELEASE_BEHAVIOR_NONE ¶

    RELEASE_BEHAVIOR_NONE :: 0x00035002

    RESIZE_ALL_CURSOR ¶

    RESIZE_ALL_CURSOR :: 0x00036009

    RESIZE_EW_CURSOR ¶

    RESIZE_EW_CURSOR :: 0x00036005

    RESIZE_NESW_CURSOR ¶

    RESIZE_NESW_CURSOR :: 0x00036008

    RESIZE_NS_CURSOR ¶

    RESIZE_NS_CURSOR :: 0x00036006

    RESIZE_NWSE_CURSOR ¶

    RESIZE_NWSE_CURSOR :: 0x00036007

    SCALE_FRAMEBUFFER ¶

    SCALE_FRAMEBUFFER :: 0x0002200D

    SCALE_TO_MONITOR ¶

    SCALE_TO_MONITOR :: 0x0002200C

    STICKY_MOUSE_BUTTONS ¶

    STICKY_MOUSE_BUTTONS :: 0x00033003

    TRANSPARENT_FRAMEBUFFER ¶

    TRANSPARENT_FRAMEBUFFER :: 0x0002000A

    TRUE ¶

    TRUE :: true
     

    Booleans

    VERSION_MAJOR ¶

    VERSION_MAJOR :: 3
     

    Versions

    VERSION_UNAVAILABLE ¶

    VERSION_UNAVAILABLE :: 0x00010007

    VRESIZE_CURSOR ¶

    VRESIZE_CURSOR :: RESIZE_NS_CURSOR

    WAYLAND_APP_ID ¶

    WAYLAND_APP_ID :: 0x00026001

    WAYLAND_DISABLE_LIBDECOR ¶

    WAYLAND_DISABLE_LIBDECOR :: 0x00038002

    WAYLAND_LIBDECOR ¶

    WAYLAND_LIBDECOR :: 0x00053001

    WAYLAND_PREFER_LIBDECOR ¶

    WAYLAND_PREFER_LIBDECOR :: 0x00038001

    WIN32_KEYBOARD_MENU ¶

    WIN32_KEYBOARD_MENU :: 0x00025001

    WIN32_SHOWDEFAULT ¶

    WIN32_SHOWDEFAULT :: 0x00025002

    X11_CLASS_NAME ¶

    X11_CLASS_NAME :: 0x00024001

    X11_INSTANCE_NAME ¶

    X11_INSTANCE_NAME :: 0x00024002

    X11_XCB_VULKAN_SURFACE ¶

    X11_XCB_VULKAN_SURFACE :: 0x00052001

    Variables

    This section is empty.

    Procedures

    CreateWindow ¶

    CreateWindow :: glfw_bindings.CreateWindow
    External examples glfw/window

    DestroyWindow ¶

    DestroyWindow :: glfw_bindings.DestroyWindow
    External examples glfw/window

    GetClipboardString ¶

    GetClipboardString :: proc "c" (window: glfw_bindings.WindowHandle) -> string {…}

    GetCursorPos ¶

    GetCursorPos :: proc "c" (window: glfw_bindings.WindowHandle) -> (xpos, ypos: f64) {…}

    GetError ¶

    GetError :: proc "c" () -> (description: string, code: i32) {…}

    GetFramebufferSize ¶

    GetFramebufferSize :: proc "c" (window: glfw_bindings.WindowHandle) -> (width, height: i32) {…}

    GetGamepadName ¶

    GetGamepadName :: proc "c" (jid: i32) -> string {…}

    GetJoystickAxes ¶

    GetJoystickAxes :: proc "c" (joy: i32) -> []f32 {…}

    GetJoystickButtons ¶

    GetJoystickButtons :: proc "c" (joy: i32) -> []u8 {…}

    GetJoystickGUID ¶

    GetJoystickGUID :: proc "c" (jid: i32) -> string {…}

    GetJoystickHats ¶

    GetJoystickHats :: proc "c" (jid: i32) -> []u8 {…}

    GetJoystickName ¶

    GetJoystickName :: proc "c" (joy: i32) -> string {…}

    GetKeyName ¶

    GetKeyName :: proc "c" (key, scancode: i32) -> string {…}

    GetMonitorContentScale ¶

    GetMonitorContentScale :: proc "c" (monitor: glfw_bindings.MonitorHandle) -> (xscale, yscale: f32) {…}

    GetMonitorName ¶

    GetMonitorName :: proc "c" (monitor: glfw_bindings.MonitorHandle) -> string {…}

    GetMonitorPhysicalSize ¶

    GetMonitorPhysicalSize :: proc "c" (monitor: glfw_bindings.MonitorHandle) -> (widthMM, heightMM: i32) {…}

    GetMonitorPos ¶

    GetMonitorPos :: proc "c" (monitor: glfw_bindings.MonitorHandle) -> (xpos, ypos: i32) {…}

    GetMonitorWorkarea ¶

    GetMonitorWorkarea :: proc "c" (monitor: glfw_bindings.MonitorHandle) -> (xpos, ypos, width, height: i32) {…}

    GetMonitors ¶

    GetMonitors :: proc "c" () -> []glfw_bindings.MonitorHandle {…}

    GetRequiredInstanceExtensions ¶

    GetRequiredInstanceExtensions :: proc "c" () -> []cstring {…}

    GetVersion ¶

    GetVersion :: proc "c" () -> (major, minor, rev: i32) {…}

    GetVersionString ¶

    GetVersionString :: proc "c" () -> string {…}

    GetVideoModes ¶

    GetVideoModes :: proc "c" (monitor: glfw_bindings.MonitorHandle) -> []glfw_bindings.VidMode {…}

    GetWGLContext ¶
    C · glfwGetWGLContextSource · native_windows.odin:12

    GetWGLContext :: proc "c" (window: glfw_bindings.WindowHandle) -> rawptr ---

    GetWin32Adapter ¶
    C · glfwGetWin32AdapterSource · native_windows.odin:9

    GetWin32Adapter :: proc "c" (monitor: glfw_bindings.MonitorHandle) -> cstring ---

    GetWin32Monitor ¶
    C · glfwGetWin32MonitorSource · native_windows.odin:10

    GetWin32Monitor :: proc "c" (monitor: glfw_bindings.MonitorHandle) -> cstring ---

    GetWin32Window ¶
    C · glfwGetWin32WindowSource · native_windows.odin:11

    GetWin32Window :: proc "c" (window: glfw_bindings.WindowHandle) -> sys_windows.HWND ---

    GetWindowContentScale ¶

    GetWindowContentScale :: proc "c" (window: glfw_bindings.WindowHandle) -> (xscale, yscale: f32) {…}

    GetWindowFrameSize ¶

    GetWindowFrameSize :: proc "c" (window: glfw_bindings.WindowHandle) -> (left, top, right, bottom: i32) {…}

    GetWindowPos ¶

    GetWindowPos :: proc "c" (window: glfw_bindings.WindowHandle) -> (xpos, ypos: i32) {…}

    GetWindowSize ¶

    GetWindowSize :: proc "c" (window: glfw_bindings.WindowHandle) -> (width, height: i32) {…}

    Init ¶

    Init :: glfw_bindings.Init
    External examples glfw/window

    MakeContextCurrent ¶

    MakeContextCurrent :: glfw_bindings.MakeContextCurrent
    External examples glfw/window

    PollEvents ¶

    PollEvents :: glfw_bindings.PollEvents
    External examples glfw/window

    SetWindowIcon ¶

    SetWindowIcon :: proc "c" (window: glfw_bindings.WindowHandle, images: []glfw_bindings.Image) {…}

    SwapBuffers ¶

    SwapBuffers :: glfw_bindings.SwapBuffers
    External examples glfw/window

    Terminate ¶

    Terminate :: glfw_bindings.Terminate
    External examples glfw/window

    WindowHint_bool ¶

    WindowHint_bool :: proc "contextless" (hint: i32, value: b32) {…}

    WindowHint_int ¶

    WindowHint_int :: proc "contextless" (hint, value: i32) {…}

    WindowShouldClose ¶

    WindowShouldClose :: glfw_bindings.WindowShouldClose
    External examples glfw/window

    gl_set_proc_address ¶

    gl_set_proc_address :: proc(p: rawptr, name: cstring) {…}
     

    Used by vendor:OpenGL

    External examples glfw/window

    Procedure Groups

    `#config` values

    Source Files

    Generation Information

    Generated with odin version dev-2026-10 (vendor "odin") Windows_amd64 @ 2026-10-08 00:39:44.566002900 +0000 UTC