Wayland: Rename fallback decoration functions

We are soon going to have three kinds of decorations; XDG, libdecor and
our last resort fallback ones.
This commit is contained in:
Camilla Löwy 2022-06-20 00:27:04 +02:00
parent 0cd1916de3
commit eb9c3bee71

View File

@ -192,11 +192,11 @@ static struct wl_buffer* createShmBuffer(const GLFWimage* image)
return buffer; return buffer;
} }
static void createDecoration(_GLFWdecorationWayland* decoration, static void createFallbackDecoration(_GLFWdecorationWayland* decoration,
struct wl_surface* parent, struct wl_surface* parent,
struct wl_buffer* buffer, struct wl_buffer* buffer,
int x, int y, int x, int y,
int width, int height) int width, int height)
{ {
decoration->surface = wl_compositor_create_surface(_glfw.wl.compositor); decoration->surface = wl_compositor_create_surface(_glfw.wl.compositor);
decoration->subsurface = decoration->subsurface =
@ -215,7 +215,7 @@ static void createDecoration(_GLFWdecorationWayland* decoration,
wl_region_destroy(region); wl_region_destroy(region);
} }
static void createDecorations(_GLFWwindow* window) static void createFallbackDecorations(_GLFWwindow* window)
{ {
unsigned char data[] = { 224, 224, 224, 255 }; unsigned char data[] = { 224, 224, 224, 255 };
const GLFWimage image = { 1, 1, data }; const GLFWimage image = { 1, 1, data };
@ -228,25 +228,25 @@ static void createDecorations(_GLFWwindow* window)
if (!window->wl.decorations.buffer) if (!window->wl.decorations.buffer)
return; return;
createDecoration(&window->wl.decorations.top, window->wl.surface, createFallbackDecoration(&window->wl.decorations.top, window->wl.surface,
window->wl.decorations.buffer, window->wl.decorations.buffer,
0, -GLFW_CAPTION_HEIGHT, 0, -GLFW_CAPTION_HEIGHT,
window->wl.width, GLFW_CAPTION_HEIGHT); window->wl.width, GLFW_CAPTION_HEIGHT);
createDecoration(&window->wl.decorations.left, window->wl.surface, createFallbackDecoration(&window->wl.decorations.left, window->wl.surface,
window->wl.decorations.buffer, window->wl.decorations.buffer,
-GLFW_BORDER_SIZE, -GLFW_CAPTION_HEIGHT, -GLFW_BORDER_SIZE, -GLFW_CAPTION_HEIGHT,
GLFW_BORDER_SIZE, window->wl.height + GLFW_CAPTION_HEIGHT); GLFW_BORDER_SIZE, window->wl.height + GLFW_CAPTION_HEIGHT);
createDecoration(&window->wl.decorations.right, window->wl.surface, createFallbackDecoration(&window->wl.decorations.right, window->wl.surface,
window->wl.decorations.buffer, window->wl.decorations.buffer,
window->wl.width, -GLFW_CAPTION_HEIGHT, window->wl.width, -GLFW_CAPTION_HEIGHT,
GLFW_BORDER_SIZE, window->wl.height + GLFW_CAPTION_HEIGHT); GLFW_BORDER_SIZE, window->wl.height + GLFW_CAPTION_HEIGHT);
createDecoration(&window->wl.decorations.bottom, window->wl.surface, createFallbackDecoration(&window->wl.decorations.bottom, window->wl.surface,
window->wl.decorations.buffer, window->wl.decorations.buffer,
-GLFW_BORDER_SIZE, window->wl.height, -GLFW_BORDER_SIZE, window->wl.height,
window->wl.width + GLFW_BORDER_SIZE * 2, GLFW_BORDER_SIZE); window->wl.width + GLFW_BORDER_SIZE * 2, GLFW_BORDER_SIZE);
} }
static void destroyDecoration(_GLFWdecorationWayland* decoration) static void destroyFallbackDecoration(_GLFWdecorationWayland* decoration)
{ {
if (decoration->subsurface) if (decoration->subsurface)
wl_subsurface_destroy(decoration->subsurface); wl_subsurface_destroy(decoration->subsurface);
@ -259,12 +259,12 @@ static void destroyDecoration(_GLFWdecorationWayland* decoration)
decoration->viewport = NULL; decoration->viewport = NULL;
} }
static void destroyDecorations(_GLFWwindow* window) static void destroyFallbackDecorations(_GLFWwindow* window)
{ {
destroyDecoration(&window->wl.decorations.top); destroyFallbackDecoration(&window->wl.decorations.top);
destroyDecoration(&window->wl.decorations.left); destroyFallbackDecoration(&window->wl.decorations.left);
destroyDecoration(&window->wl.decorations.right); destroyFallbackDecoration(&window->wl.decorations.right);
destroyDecoration(&window->wl.decorations.bottom); destroyFallbackDecoration(&window->wl.decorations.bottom);
} }
static void xdgDecorationHandleConfigure(void* userData, static void xdgDecorationHandleConfigure(void* userData,
@ -276,7 +276,7 @@ static void xdgDecorationHandleConfigure(void* userData,
window->wl.decorations.serverSide = (mode == ZXDG_TOPLEVEL_DECORATION_V1_MODE_SERVER_SIDE); window->wl.decorations.serverSide = (mode == ZXDG_TOPLEVEL_DECORATION_V1_MODE_SERVER_SIDE);
if (!window->wl.decorations.serverSide) if (!window->wl.decorations.serverSide)
createDecorations(window); createFallbackDecorations(window);
} }
static const struct zxdg_toplevel_decoration_v1_listener xdgDecorationListener = static const struct zxdg_toplevel_decoration_v1_listener xdgDecorationListener =
@ -432,7 +432,7 @@ static void acquireMonitor(_GLFWwindow* window)
setIdleInhibitor(window, GLFW_TRUE); setIdleInhibitor(window, GLFW_TRUE);
if (!window->wl.decorations.serverSide) if (!window->wl.decorations.serverSide)
destroyDecorations(window); destroyFallbackDecorations(window);
} }
// Remove the window and restore the original video mode // Remove the window and restore the original video mode
@ -445,7 +445,7 @@ static void releaseMonitor(_GLFWwindow* window)
setIdleInhibitor(window, GLFW_FALSE); setIdleInhibitor(window, GLFW_FALSE);
if (!_glfw.wl.decorationManager) if (!_glfw.wl.decorationManager)
createDecorations(window); createFallbackDecorations(window);
} }
static void xdgToplevelHandleConfigure(void* userData, static void xdgToplevelHandleConfigure(void* userData,
@ -629,7 +629,7 @@ static GLFWbool createXdgSurface(_GLFWwindow* window)
else else
{ {
window->wl.decorations.serverSide = GLFW_FALSE; window->wl.decorations.serverSide = GLFW_FALSE;
createDecorations(window); createFallbackDecorations(window);
} }
} }
@ -1818,7 +1818,7 @@ void _glfwDestroyWindowWayland(_GLFWwindow* window)
if (window->context.destroy) if (window->context.destroy)
window->context.destroy(window); window->context.destroy(window);
destroyDecorations(window); destroyFallbackDecorations(window);
if (window->wl.xdg.decoration) if (window->wl.xdg.decoration)
zxdg_toplevel_decoration_v1_destroy(window->wl.xdg.decoration); zxdg_toplevel_decoration_v1_destroy(window->wl.xdg.decoration);
@ -2136,9 +2136,9 @@ void _glfwSetWindowDecoratedWayland(_GLFWwindow* window, GLFWbool enabled)
else else
{ {
if (enabled) if (enabled)
createDecorations(window); createFallbackDecorations(window);
else else
destroyDecorations(window); destroyFallbackDecorations(window);
} }
} }