UI WorkspaceWindows follow window resize

Fixed bug in restore window position.
This commit is contained in:
Bruno Herbelin
2022-01-06 14:58:35 +01:00
parent b894ea866a
commit d4f370c071
4 changed files with 139 additions and 120 deletions

View File

@@ -134,6 +134,10 @@ static void WindowRefreshCallback( GLFWwindow * )
static void WindowResizeCallback( GLFWwindow *w, int width, int height)
{
// UI manager tries to keep windows in the workspace
WorkspaceWindow::notifyWorkspaceSizeChanged(GLFW_window_[w]->previous_size.x, GLFW_window_[w]->previous_size.y, width, height);
GLFW_window_[w]->previous_size = glm::vec2(width, height);
int id = GLFW_window_[w]->index();
if (!Settings::application.windows[id].fullscreen) {
Settings::application.windows[id].w = width;
@@ -724,6 +728,8 @@ bool RenderingWindow::init(int index, GLFWwindow *share)
// ensure minimal window size
glfwSetWindowSizeLimits(window_, 800, 500, GLFW_DONT_CARE, GLFW_DONT_CARE);
previous_size = glm::vec2(winset.w, winset.h);
// set initial position
glfwSetWindowPos(window_, winset.x, winset.y);