37 lines
1.6 KiB
Odin
37 lines
1.6 KiB
Odin
package imgui_glfw
|
|
|
|
|
|
when ODIN_OS == .Windows {
|
|
foreign import imgui_glfw "../lib/dcimgui_impl_glfw.lib"
|
|
}
|
|
else when ODIN_OS == .Linux {
|
|
foreign import imgui_glfw "../lib/linux/libdcimgui_impl_glfw.a"
|
|
}
|
|
else when ODIN_OS == .Darwin {
|
|
foreign import imgui_glfw "../lib/darwin/libdcimgui_impl_glfw_arm64.a"
|
|
}
|
|
|
|
import glfw "vendor:glfw"
|
|
|
|
@(default_calling_convention = "cdecl", link_prefix = "cImGui_ImplGlfw_")
|
|
foreign imgui_glfw {
|
|
InitForOpenGL :: proc(window: glfw.WindowHandle, install_callbacks: b32) -> b32 ---
|
|
InitForVulkan :: proc(window: glfw.WindowHandle, install_callbacks: b32) -> b32 ---
|
|
InitForOther :: proc(window: glfw.WindowHandle, install_callbacks: b32) -> b32 ---
|
|
Shutdown :: proc() ---
|
|
NewFrame :: proc() ---
|
|
InstallEmscriptenCallbacks :: proc(window: glfw.WindowHandle, canvas_selector: cstring) ---
|
|
InstallCallbacks :: proc(window: glfw.WindowHandle) ---
|
|
RestoreCallbacks :: proc(window: glfw.WindowHandle) ---
|
|
SetCallbacksChainForAllWindows :: proc(chain_for_all_windows: b32) ---
|
|
WindowFocusCallback :: proc(window: glfw.WindowHandle, focused: i32) ---
|
|
CursorEnterCallback :: proc(window: glfw.WindowHandle, entered: i32) ---
|
|
CursorPosCallback :: proc(window: glfw.WindowHandle, x: f64, y: f64) ---
|
|
MouseButtonCallback :: proc(window: glfw.WindowHandle, button: i32, action: i32, mods: i32) ---
|
|
ScrollCallback :: proc(window: glfw.WindowHandle, xoffset: f64, yoffset: f64) ---
|
|
KeyCallback :: proc(window: glfw.WindowHandle, key: i32, scancode: i32, action: i32, mods: i32) ---
|
|
CharCallback :: proc(window: glfw.WindowHandle, c: u32) ---
|
|
MonitorCallback :: proc(monitor: glfw.MonitorHandle, event: i32) ---
|
|
Sleep :: proc(milliseconds: i32) ---
|
|
}
|