From 37144fd5b83256a89f8864f65d9994385cbb1102 Mon Sep 17 00:00:00 2001 From: Qwerasd Date: Mon, 14 Oct 2024 20:47:04 -0400 Subject: [PATCH] font/sprite: fix light arc character for odd thicknesses + update Box.ppm ground truth image --- src/font/sprite/Box.zig | 4 ++-- src/font/sprite/testdata/Box.ppm | Bin 1048593 -> 1048593 bytes 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/font/sprite/Box.zig b/src/font/sprite/Box.zig index 01576eabf..6a8a49662 100644 --- a/src/font/sprite/Box.zig +++ b/src/font/sprite/Box.zig @@ -2127,8 +2127,8 @@ fn draw_light_arc( const float_width: f64 = @floatFromInt(self.width); const float_height: f64 = @floatFromInt(self.height); const float_thick: f64 = @floatFromInt(thick_px); - const center_x: f64 = @floatFromInt(self.width / 2 + self.width % 2); - const center_y: f64 = @floatFromInt(self.height / 2 + self.height % 2); + const center_x: f64 = @as(f64, @floatFromInt((self.width -| thick_px) / 2)) + float_thick / 2; + const center_y: f64 = @as(f64, @floatFromInt((self.height -| thick_px) / 2)) + float_thick / 2; const r = @min(float_width, float_height) / 2; diff --git a/src/font/sprite/testdata/Box.ppm b/src/font/sprite/testdata/Box.ppm index fecf466d0f2cdd92d8086a29e9576d3e97b0b6e2..29ae539e709deba5b723a5e3fba111c1914a0cd7 100644 GIT binary patch literal 1048593 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