From b0822f6f57d3483272aeefbf181bacab5baae72b Mon Sep 17 00:00:00 2001 From: Gregory Wells Date: Fri, 13 Jun 2025 12:07:53 -0400 Subject: [PATCH] add X11 glfw util --- include/gryphn/utils/gryphn_glfw_util.h | 22 +++++++++++++--------- 1 file changed, 13 insertions(+), 9 deletions(-) diff --git a/include/gryphn/utils/gryphn_glfw_util.h b/include/gryphn/utils/gryphn_glfw_util.h index 2b228af..e6f1cee 100644 --- a/include/gryphn/utils/gryphn_glfw_util.h +++ b/include/gryphn/utils/gryphn_glfw_util.h @@ -13,7 +13,6 @@ #ifndef GLFW_EXPOSE_NATIVE_COCOA #error "Must define GLFW_EXPOSE_NATIVE_COCOA on macos" #endif - static gnReturnCode gnCreateGLFWWindowSurface(gnWindowSurfaceHandle* windowSurface, struct gnInstance_t* instance, GLFWwindow* window) { gnMacOSWindowSurfaceInfo surfaceCreateInfo = { .layer = gnCreateCAMetalLayer(glfwGetCocoaWindow(window)) @@ -21,12 +20,17 @@ static gnReturnCode gnCreateGLFWWindowSurface(gnWindowSurfaceHandle* windowSurfa return gnCreateMacOSWindowSurface(windowSurface, instance, surfaceCreateInfo); } - -// gnReturnCode gnCreateGLFWWindowSurface(struct gnWindowSurface_t* windowSurface, struct gnInstance_t* instance, GLFWwindow* window) { -// gnMetalWindowSurfaceInfo surfaceCreateInfo = { -// .layer = (CAMetalLayer*)glfwGetCocoaWindow(window).contentView.layer; -// }; -// return gnCreateMetalWindowSurface(windowSurface, instance, surfaceCreateInfo); -// } - +#endif +#ifdef GN_PLATFORM_LINUX +#ifndef GLFW_EXPOSE_NATIVE_X11 +#error "Must define GLFW_EXPOSE_NATIVE_X11 on linux" +#endif +static gnReturnCode gnCreateGLFWWindowSurface(gnWindowSurfaceHandle* windowSurface, struct gnInstance_t* instance, GLFWwindow* window) { + gnX11WindowSurfaceInfo surfaceCreateInfo = { + .window = glfwGetX11Window(window), + .display = glfwGetX11Display() + }; + + return gnCreateX11WindowSurface(windowSurface, instance, surfaceCreateInfo); +} #endif