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);
if (!_glfw.wl.viewporter)
if (!_glfw.wl.viewporter || !window->wl.decorations.top.surface)
return;
// Top decoration.
@ -443,6 +443,7 @@ static GLFWbool createSurface(_GLFWwindow* window,
if (!window->wl.transparent)
setOpaqueRegion(window);
if (window->decorated && !window->monitor)
createDecorations(window);
return GLFW_TRUE;
@ -937,6 +938,8 @@ void _glfwPlatformGetFramebufferSize(_GLFWwindow* window, int* width, int* heigh
void _glfwPlatformGetWindowFrameSize(_GLFWwindow* window,
int* left, int* top,
int* right, int* bottom)
{
if (window->decorated && !window->monitor)
{
if (top)
*top = _GLFW_DECORATION_TOP;
@ -947,6 +950,7 @@ void _glfwPlatformGetWindowFrameSize(_GLFWwindow* window,
if (bottom)
*bottom = _GLFW_DECORATION_WIDTH;
}
}
void _glfwPlatformGetWindowContentScale(_GLFWwindow* window,
float* xscale, float* yscale)
@ -1108,12 +1112,15 @@ void _glfwPlatformSetWindowResizable(_GLFWwindow* window, GLFWbool enabled)
}
void _glfwPlatformSetWindowDecorated(_GLFWwindow* window, GLFWbool enabled)
{
if (!window->monitor)
{
if (enabled)
createDecorations(window);
else
destroyDecorations(window);
}
}
void _glfwPlatformSetWindowFloating(_GLFWwindow* window, GLFWbool enabled)
{