Remove decorations when fullscreen

This commit is contained in:
Emmanuel Gil Peyrot 2017-12-22 17:47:07 +01:00 committed by linkmauve
parent 58b21d336c
commit 31cea7fa24
1 changed files with 21 additions and 14 deletions

View File

@ -279,7 +279,7 @@ static void resizeWindow(_GLFWwindow* window, int width, int height)
{ {
wl_egl_window_resize(window->wl.native, width, height, 0, 0); wl_egl_window_resize(window->wl.native, width, height, 0, 0);
if (!_glfw.wl.viewporter) if (!_glfw.wl.viewporter || !window->wl.decorations.top.surface)
return; return;
// Top decoration. // Top decoration.
@ -443,6 +443,7 @@ static GLFWbool createSurface(_GLFWwindow* window,
if (!window->wl.transparent) if (!window->wl.transparent)
setOpaqueRegion(window); setOpaqueRegion(window);
if (window->decorated && !window->monitor)
createDecorations(window); createDecorations(window);
return GLFW_TRUE; return GLFW_TRUE;
@ -938,6 +939,8 @@ void _glfwPlatformGetWindowFrameSize(_GLFWwindow* window,
int* left, int* top, int* left, int* top,
int* right, int* bottom) int* right, int* bottom)
{ {
if (window->decorated && !window->monitor)
{
if (top) if (top)
*top = _GLFW_DECORATION_TOP; *top = _GLFW_DECORATION_TOP;
if (left) if (left)
@ -946,6 +949,7 @@ void _glfwPlatformGetWindowFrameSize(_GLFWwindow* window,
*right = _GLFW_DECORATION_WIDTH; *right = _GLFW_DECORATION_WIDTH;
if (bottom) if (bottom)
*bottom = _GLFW_DECORATION_WIDTH; *bottom = _GLFW_DECORATION_WIDTH;
}
} }
void _glfwPlatformGetWindowContentScale(_GLFWwindow* window, void _glfwPlatformGetWindowContentScale(_GLFWwindow* window,
@ -1109,10 +1113,13 @@ void _glfwPlatformSetWindowResizable(_GLFWwindow* window, GLFWbool enabled)
void _glfwPlatformSetWindowDecorated(_GLFWwindow* window, GLFWbool enabled) void _glfwPlatformSetWindowDecorated(_GLFWwindow* window, GLFWbool enabled)
{ {
if (!window->monitor)
{
if (enabled) if (enabled)
createDecorations(window); createDecorations(window);
else else
destroyDecorations(window); destroyDecorations(window);
}
} }
void _glfwPlatformSetWindowFloating(_GLFWwindow* window, GLFWbool enabled) void _glfwPlatformSetWindowFloating(_GLFWwindow* window, GLFWbool enabled)