From 6887ea7e53ae2c7cafbb5d30c7f97d8fe078e946 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Luk=C3=A1=C5=A1=20Dvo=C5=99=C3=A1k?= Date: Mon, 30 Oct 2023 13:46:19 +0100 Subject: [PATCH 1/2] fix window-padding-balance in combination with explicit padding --- src/renderer/Metal.zig | 2 +- src/renderer/OpenGL.zig | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/renderer/Metal.zig b/src/renderer/Metal.zig index d212c0163..b6a982f19 100644 --- a/src/renderer/Metal.zig +++ b/src/renderer/Metal.zig @@ -1019,7 +1019,7 @@ pub fn setScreenSize( // the leftover amounts on the right/bottom that don't fit a full grid cell // and we split them equal across all boundaries. const padding = self.padding.explicit.add(if (self.padding.balance) - renderer.Padding.balanced(dim, grid_size, self.cell_size) + renderer.Padding.balanced(dim.subPadding(self.padding.explicit), grid_size, self.cell_size) else .{}); const padded_dim = dim.subPadding(padding); diff --git a/src/renderer/OpenGL.zig b/src/renderer/OpenGL.zig index 120848940..86f10cf7a 100644 --- a/src/renderer/OpenGL.zig +++ b/src/renderer/OpenGL.zig @@ -95,7 +95,7 @@ const SetScreenSize = struct { // Apply our padding const padding = r.padding.explicit.add(if (r.padding.balance) - renderer.Padding.balanced(self.size, r.gridSize(self.size), r.cell_size) + renderer.Padding.balanced(self.size.subPadding(r.padding.explicit), r.gridSize(self.size), r.cell_size) else .{}); const padded_size = self.size.subPadding(padding); From bca71402481644d73dec3ac76b16173efd34ae9a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Luk=C3=A1=C5=A1=20Dvo=C5=99=C3=A1k?= Date: Mon, 30 Oct 2023 14:56:02 +0100 Subject: [PATCH 2/2] balanced padding cleanup --- src/renderer/Metal.zig | 6 +++--- src/renderer/OpenGL.zig | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/renderer/Metal.zig b/src/renderer/Metal.zig index b6a982f19..42fa46bad 100644 --- a/src/renderer/Metal.zig +++ b/src/renderer/Metal.zig @@ -1018,10 +1018,10 @@ pub fn setScreenSize( // Determine if we need to pad the window. For "auto" padding, we take // the leftover amounts on the right/bottom that don't fit a full grid cell // and we split them equal across all boundaries. - const padding = self.padding.explicit.add(if (self.padding.balance) - renderer.Padding.balanced(dim.subPadding(self.padding.explicit), grid_size, self.cell_size) + const padding = if (self.padding.balance) + renderer.Padding.balanced(dim, grid_size, self.cell_size) else - .{}); + self.padding.explicit; const padded_dim = dim.subPadding(padding); // Set the size of the drawable surface to the bounds diff --git a/src/renderer/OpenGL.zig b/src/renderer/OpenGL.zig index 86f10cf7a..6ee23fc92 100644 --- a/src/renderer/OpenGL.zig +++ b/src/renderer/OpenGL.zig @@ -94,10 +94,10 @@ const SetScreenSize = struct { const gl_state = r.gl_state orelse return error.OpenGLUninitialized; // Apply our padding - const padding = r.padding.explicit.add(if (r.padding.balance) - renderer.Padding.balanced(self.size.subPadding(r.padding.explicit), r.gridSize(self.size), r.cell_size) + const padding = if (r.padding.balance) + renderer.Padding.balanced(self.size, r.gridSize(self.size), r.cell_size) else - .{}); + r.padding.explicit; const padded_size = self.size.subPadding(padding); log.debug("GL api: screen size padded={} screen={} grid={} cell={} padding={}", .{