diff --git a/src/font/sprite/canvas.zig b/src/font/sprite/canvas.zig index 10699615b..67e213b21 100644 --- a/src/font/sprite/canvas.zig +++ b/src/font/sprite/canvas.zig @@ -409,6 +409,11 @@ const PixmanImpl = struct { /// Draw and fill a single pixel pub fn pixel(self: *Canvas, x: u32, y: u32, color: Color) void { + if (comptime std.debug.runtime_safety) { + assert(x < self.image.getWidth()); + assert(y < self.image.getHeight()); + } + const boxes = &[_]pixman.Box32{ .{ .x1 = @intCast(x), @@ -433,10 +438,13 @@ const PixmanImpl = struct { }, }; - assert(boxes[0].x1 >= 0); - assert(boxes[0].y1 >= 0); - assert(boxes[0].x2 <= @as(i32, @intCast(self.image.getWidth()))); - assert(boxes[0].y2 <= @as(i32, @intCast(self.image.getHeight()))); + if (comptime std.debug.runtime_safety) { + assert(boxes[0].x1 >= 0); + assert(boxes[0].y1 >= 0); + assert(boxes[0].x2 <= @as(i32, @intCast(self.image.getWidth()))); + assert(boxes[0].y2 <= @as(i32, @intCast(self.image.getHeight()))); + } + self.image.fillBoxes(.src, color.pixmanColor(), boxes) catch {}; } diff --git a/src/font/sprite/underline.zig b/src/font/sprite/underline.zig index 08e74c781..0f00dffe3 100644 --- a/src/font/sprite/underline.zig +++ b/src/font/sprite/underline.zig @@ -27,7 +27,7 @@ pub fn renderGlyph( line_pos: u32, line_thickness: u32, ) !font.Glyph { - // Draw the appropriate sprite + // Draw the appropriate sprite var canvas: font.sprite.Canvas, const offset_y: i32 = switch (sprite) { .underline => try drawSingle(alloc, width, line_thickness), .underline_double => try drawDouble(alloc, width, line_thickness),