1
0
Fork 0
mirror of https://github.com/gwm17/glfw.git synced 2024-11-23 02:38:52 -05:00

Wayland: Cleanup

Make Wayland code use 'native' in the same senses as the rest of GLFW.
This commit is contained in:
Camilla Löwy 2022-06-14 22:22:49 +02:00
parent 91f18fb576
commit 5002522f73
2 changed files with 16 additions and 13 deletions

View File

@ -233,9 +233,12 @@ typedef struct _GLFWwindowWayland
GLFWbool hovered; GLFWbool hovered;
GLFWbool transparent; GLFWbool transparent;
struct wl_surface* surface; struct wl_surface* surface;
struct wl_egl_window* native;
struct wl_callback* callback; struct wl_callback* callback;
struct {
struct wl_egl_window* window;
} egl;
struct { struct {
int width, height; int width, height;
} pending; } pending;

View File

@ -305,7 +305,7 @@ static void resizeWindow(_GLFWwindow* window)
int scale = window->wl.scale; int scale = window->wl.scale;
int scaledWidth = window->wl.width * scale; int scaledWidth = window->wl.width * scale;
int scaledHeight = window->wl.height * scale; int scaledHeight = window->wl.height * scale;
wl_egl_window_resize(window->wl.native, scaledWidth, scaledHeight, 0, 0); wl_egl_window_resize(window->wl.egl.window, scaledWidth, scaledHeight, 0, 0);
if (!window->wl.transparent) if (!window->wl.transparent)
setOpaqueRegion(window); setOpaqueRegion(window);
_glfwInputFramebufferSize(window, scaledWidth, scaledHeight); _glfwInputFramebufferSize(window, scaledWidth, scaledHeight);
@ -666,7 +666,7 @@ static GLFWbool createXdgSurface(_GLFWwindow* window)
return GLFW_TRUE; return GLFW_TRUE;
} }
static GLFWbool createSurface(_GLFWwindow* window, static GLFWbool createNativeSurface(_GLFWwindow* window,
const _GLFWwndconfig* wndconfig, const _GLFWwndconfig* wndconfig,
const _GLFWfbconfig* fbconfig) const _GLFWfbconfig* fbconfig)
{ {
@ -680,10 +680,10 @@ static GLFWbool createSurface(_GLFWwindow* window,
wl_surface_set_user_data(window->wl.surface, window); wl_surface_set_user_data(window->wl.surface, window);
window->wl.native = wl_egl_window_create(window->wl.surface, window->wl.egl.window = wl_egl_window_create(window->wl.surface,
wndconfig->width, wndconfig->width,
wndconfig->height); wndconfig->height);
if (!window->wl.native) if (!window->wl.egl.window)
return GLFW_FALSE; return GLFW_FALSE;
window->wl.width = wndconfig->width; window->wl.width = wndconfig->width;
@ -1759,7 +1759,7 @@ GLFWbool _glfwCreateWindowWayland(_GLFWwindow* window,
const _GLFWctxconfig* ctxconfig, const _GLFWctxconfig* ctxconfig,
const _GLFWfbconfig* fbconfig) const _GLFWfbconfig* fbconfig)
{ {
if (!createSurface(window, wndconfig, fbconfig)) if (!createNativeSurface(window, wndconfig, fbconfig))
return GLFW_FALSE; return GLFW_FALSE;
if (ctxconfig->client != GLFW_NO_API) if (ctxconfig->client != GLFW_NO_API)
@ -1816,8 +1816,8 @@ void _glfwDestroyWindowWayland(_GLFWwindow* window)
if (window->wl.decorations.buffer) if (window->wl.decorations.buffer)
wl_buffer_destroy(window->wl.decorations.buffer); wl_buffer_destroy(window->wl.decorations.buffer);
if (window->wl.native) if (window->wl.egl.window)
wl_egl_window_destroy(window->wl.native); wl_egl_window_destroy(window->wl.egl.window);
if (window->wl.xdg.toplevel) if (window->wl.xdg.toplevel)
xdg_toplevel_destroy(window->wl.xdg.toplevel); xdg_toplevel_destroy(window->wl.xdg.toplevel);
@ -2707,7 +2707,7 @@ EGLNativeDisplayType _glfwGetEGLNativeDisplayWayland(void)
EGLNativeWindowType _glfwGetEGLNativeWindowWayland(_GLFWwindow* window) EGLNativeWindowType _glfwGetEGLNativeWindowWayland(_GLFWwindow* window)
{ {
return window->wl.native; return window->wl.egl.window;
} }
void _glfwGetRequiredInstanceExtensionsWayland(char** extensions) void _glfwGetRequiredInstanceExtensionsWayland(char** extensions)