124b4c98
Make comparison panel helper explicitly four-panel
a73x 2026-04-09 08:22
Commit message
src/main.zig
| Old | New | ||
|---|---|---|---|
| @@ -481,12 +481,10 @@ fn comparisonSpecimenLines() []const []const u8 { | |||
| 481 | }; | 481 | }; |
| 482 | } | 482 | } |
| 483 | 483 | ||
| 484 | fn comparisonPanelOrigins(panel_count: usize, panel_cols: u32, top_margin_rows: u32) [4][2]f32 { | 484 | fn comparisonPanelOrigins(panel_cols: u32, top_margin_rows: u32) [4][2]f32 { |
| 485 | var origins = [_][2]f32{.{ 0.0, @floatFromInt(top_margin_rows) }} ** 4; | 485 | var origins = [_][2]f32{.{ 0.0, @floatFromInt(top_margin_rows) }} ** 4; |
| 486 | const count = @min(panel_count, origins.len); | ||
| 487 | |||
| 488 | var idx: usize = 0; | 486 | var idx: usize = 0; |
| 489 | while (idx < count) : (idx += 1) { | 487 | while (idx < origins.len) : (idx += 1) { |
| 490 | origins[idx] = .{ | 488 | origins[idx] = .{ |
| 491 | @floatFromInt(idx * @as(usize, panel_cols)), | 489 | @floatFromInt(idx * @as(usize, panel_cols)), |
| 492 | @floatFromInt(top_margin_rows), | 490 | @floatFromInt(top_margin_rows), |
| @@ -1751,7 +1749,7 @@ test "glyphTopOffset uses baseline rather than cell height" { | |||
| 1751 | } | 1749 | } |
| 1752 | 1750 | ||
| 1753 | test "comparisonPanelOrigins splits four panels left to right" { | 1751 | test "comparisonPanelOrigins splits four panels left to right" { |
| 1754 | const origins = comparisonPanelOrigins(4, 80, 24); | 1752 | const origins = comparisonPanelOrigins(80, 24); |
| 1755 | try std.testing.expectEqual(@as(f32, 0), origins[0][0]); | 1753 | try std.testing.expectEqual(@as(f32, 0), origins[0][0]); |
| 1756 | try std.testing.expect(origins[1][0] > origins[0][0]); | 1754 | try std.testing.expect(origins[1][0] > origins[0][0]); |
| 1757 | try std.testing.expect(origins[2][0] > origins[1][0]); | 1755 | try std.testing.expect(origins[2][0] > origins[1][0]); |