diff --git a/vendor/glfw/native.odin b/vendor/glfw/native.odin deleted file mode 100644 index 8ed439a94..000000000 --- a/vendor/glfw/native.odin +++ /dev/null @@ -1,33 +0,0 @@ -package glfw - -when ODIN_OS == .Windows { - import win32 "core:sys/windows" - - foreign import glfw { "lib/glfw3_mt.lib", "system:user32.lib", "system:gdi32.lib", "system:shell32.lib" } - - @(default_calling_convention="c", link_prefix="glfw") - foreign glfw { - GetWin32Adapter :: proc(monitor: MonitorHandle) -> cstring --- - GetWin32Monitor :: proc(monitor: MonitorHandle) -> cstring --- - GetWin32Window :: proc(window: WindowHandle) -> win32.HWND --- - GetWGLContext :: proc(window: WindowHandle) -> rawptr --- - } -} else when ODIN_OS == .Linux { - // TODO: Native Linux - // Display* glfwGetX11Display(void); - // RRCrtc glfwGetX11Adapter(GLFWmonitor* monitor); - // RROutput glfwGetX11Monitor(GLFWmonitor* monitor); - // Window glfwGetX11Window(GLFWwindow* window); - // void glfwSetX11SelectionString(const char* string); - // const char* glfwGetX11SelectionString(void); - - // struct wl_display* glfwGetWaylandDisplay(void); - // struct wl_output* glfwGetWaylandMonitor(GLFWmonitor* monitor); - // struct wl_surface* glfwGetWaylandWindow(GLFWwindow* window); -} else when ODIN_OS == .Darwin { - // TODO: Native Darwin - // CGDirectDisplayID glfwGetCocoaMonitor(GLFWmonitor* monitor); - // id glfwGetCocoaWindow(GLFWwindow* window); - // id glfwGetNSGLContext(GLFWwindow* window); -} - diff --git a/vendor/glfw/native_darwin.odin b/vendor/glfw/native_darwin.odin new file mode 100644 index 000000000..696645249 --- /dev/null +++ b/vendor/glfw/native_darwin.odin @@ -0,0 +1,16 @@ +//+build darwin + +package glfw + +import NS "vendor:darwin/foundation" + +foreign import glfw { "lib/darwin/libglfw3.a" } + +@(default_calling_convention="c", link_prefix="glfw") +foreign glfw { + GetCocoaWindow :: proc(window: WindowHandle) -> ^NS.Window --- +} + +// TODO: +// CGDirectDisplayID glfwGetCocoaMonitor(GLFWmonitor* monitor); +// id glfwGetNSGLContext(GLFWwindow* window); diff --git a/vendor/glfw/native_linux.odin b/vendor/glfw/native_linux.odin new file mode 100644 index 000000000..9b9e14790 --- /dev/null +++ b/vendor/glfw/native_linux.odin @@ -0,0 +1,15 @@ +//+build linux + +package glfw + +// TODO: Native Linux +// Display* glfwGetX11Display(void); +// RRCrtc glfwGetX11Adapter(GLFWmonitor* monitor); +// RROutput glfwGetX11Monitor(GLFWmonitor* monitor); +// Window glfwGetX11Window(GLFWwindow* window); +// void glfwSetX11SelectionString(const char* string); +// const char* glfwGetX11SelectionString(void); + +// struct wl_display* glfwGetWaylandDisplay(void); +// struct wl_output* glfwGetWaylandMonitor(GLFWmonitor* monitor); +// struct wl_surface* glfwGetWaylandWindow(GLFWwindow* window); diff --git a/vendor/glfw/native_windows.odin b/vendor/glfw/native_windows.odin new file mode 100644 index 000000000..1d9c3af86 --- /dev/null +++ b/vendor/glfw/native_windows.odin @@ -0,0 +1,15 @@ +//+build windows + +package glfw + +import win32 "core:sys/windows" + +foreign import glfw { "lib/glfw3_mt.lib", "system:user32.lib", "system:gdi32.lib", "system:shell32.lib" } + +@(default_calling_convention="c", link_prefix="glfw") +foreign glfw { + GetWin32Adapter :: proc(monitor: MonitorHandle) -> cstring --- + GetWin32Monitor :: proc(monitor: MonitorHandle) -> cstring --- + GetWin32Window :: proc(window: WindowHandle) -> win32.HWND --- + GetWGLContext :: proc(window: WindowHandle) -> rawptr --- +}