From 71bb507172a2b9667e0e91d22ab08d36c0224313 Mon Sep 17 00:00:00 2001 From: Felipe Ferreira da Silva Date: Fri, 7 Apr 2017 23:57:24 -0300 Subject: [PATCH] Support for resize operation on Wayland This is an initial implementation and still isn't working. --- src/wl_window.c | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/src/wl_window.c b/src/wl_window.c index 7c672d7fb..d31586024 100644 --- a/src/wl_window.c +++ b/src/wl_window.c @@ -607,6 +607,37 @@ void _glfwPlatformFocusWindow(_GLFWwindow* window) void _glfwPlatformResizeWindow(_GLFWwindow* window, int border) { + int wlBorder; + switch (border) + { + case GLFW_WINDOW_LEFT: + wlBorder = WL_SHELL_SURFACE_RESIZE_LEFT; + break; + case GLFW_WINDOW_TOP: + wlBorder = WL_SHELL_SURFACE_RESIZE_TOP; + break; + case GLFW_WINDOW_RIGHT: + wlBorder = WL_SHELL_SURFACE_RESIZE_RIGHT; + break; + case GLFW_WINDOW_BOTTOM: + wlBorder = WL_SHELL_SURFACE_RESIZE_BOTTOM; + break; + case GLFW_WINDOW_TOPLEFT: + wlBorder = WL_SHELL_SURFACE_RESIZE_TOP_LEFT; + break; + case GLFW_WINDOW_TOPRIGHT: + wlBorder = WL_SHELL_SURFACE_RESIZE_TOP_RIGHT; + break; + case GLFW_WINDOW_BOTTOMLEFT: + wlBorder = WL_SHELL_SURFACE_RESIZE_BOTTOM_LEFT; + break; + case GLFW_WINDOW_BOTTOMRIGHT: + wlBorder = WL_SHELL_SURFACE_RESIZE_BOTTOM_RIGHT; + } + wl_shell_surface_resize(window->wl.shellSurface, + _glfw.wl.seat, + _glfw.wl.pointerSerial, + wlBorder); } void _glfwPlatformSetWindowMonitor(_GLFWwindow* window,