|
@@ -7,6 +7,10 @@ import "core:c"
|
|
|
|
|
|
import win32 "core:sys/windows"
|
|
|
_ :: win32
|
|
|
+
|
|
|
+import "vendor:x11/xlib"
|
|
|
+_ :: xlib
|
|
|
+
|
|
|
when ODIN_OS == .Windows {
|
|
|
HINSTANCE :: win32.HINSTANCE
|
|
|
HWND :: win32.HWND
|
|
@@ -32,10 +36,19 @@ when ODIN_OS == .Windows {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+// We want to use `vendor:x11/xlib` types so we need to match their build constraints.
|
|
|
+when ODIN_OS == .Linux || ODIN_OS == .FreeBSD || ODIN_OS == .OpenBSD {
|
|
|
+ XlibDisplay :: xlib.Display
|
|
|
+ XlibWindow :: xlib.Window
|
|
|
+ XlibVisualID :: xlib.VisualID
|
|
|
+} else {
|
|
|
+ XlibDisplay :: struct {} // Opaque struct defined by Xlib
|
|
|
+ XlibWindow :: c.ulong
|
|
|
+ XlibVisualID :: c.ulong
|
|
|
+}
|
|
|
+
|
|
|
xcb_visualid_t :: u32
|
|
|
xcb_window_t :: u32
|
|
|
-XlibWindow :: uint
|
|
|
-XlibVisualID :: uint
|
|
|
CAMetalLayer :: struct {}
|
|
|
|
|
|
MTLBuffer_id :: rawptr
|
|
@@ -9776,7 +9789,6 @@ VideoEncodeH265ReferenceInfo :: struct {
|
|
|
wl_surface :: struct {} // Opaque struct defined by Wayland
|
|
|
wl_display :: struct {} // Opaque struct defined by Wayland
|
|
|
xcb_connection_t :: struct {} // Opaque struct defined by xcb
|
|
|
-XlibDisplay :: struct {} // Opaque struct defined by Xlib
|
|
|
IOSurfaceRef :: struct {} // Opaque struct defined by Apple’s CoreGraphics framework
|
|
|
// Aliases
|
|
|
PhysicalDeviceVariablePointerFeatures :: PhysicalDeviceVariablePointersFeatures
|