From 7ca9831f85db448641141ac40770af6baa8b512f Mon Sep 17 00:00:00 2001 From: Nathan Reiner Date: Wed, 12 Feb 2025 20:25:35 +0100 Subject: graphics: fix line offset --- src/screen/main.zig | 37 ++++++++++++++----------------------- 1 file changed, 14 insertions(+), 23 deletions(-) (limited to 'src/screen') diff --git a/src/screen/main.zig b/src/screen/main.zig index 2cb8c03..0ee7e17 100644 --- a/src/screen/main.zig +++ b/src/screen/main.zig @@ -31,41 +31,32 @@ pub fn main() !void { const center_x = (buffer.current.width / 2); const center_y = (buffer.current.height / 2); - var line = graphics.Line { + var curve = graphics.Curve { .start = .{ .x = center_x, .y = center_y }, + .middle = .{ .x = center_x, .y = center_y + 150 }, .end = .{ .x = center_x + 110 , .y = center_y + 100 }, .color = .{ .red = 0xff, .green = 0, .blue = 0 }, }; var last_duration: f64 = 0; var delta: f64 = 0; - var angle: f64 = 0; while (true) { const start = try std.time.Instant.now(); const canvas = buffer.canvas(); - canvas.fill(.{ .red = 0x25, .green = 0x25, .blue = 0x25 }); - - (graphics.Box { - .x = center_x - 100, - .y = center_y - 100, - .width = 200, - .height = 200, - .radius = 100, - .color = .{ .red = 0xff, .green = 0xff, .blue = 0xff }, - }).render(&canvas); - - line.render(&canvas); - const cos = @cos(std.math.degreesToRadians(angle)); - const sin = @sin(std.math.degreesToRadians(angle)); - line.end.x = @intCast(@as(i64, @intCast(center_x)) + @as(i64, @intFromFloat(100 * cos))); - line.end.y = @intCast(@as(i64, @intCast(center_y)) + @as(i64, @intFromFloat(100 * sin))); - - angle += delta; - if (angle > 360) { - angle = 0; - } + canvas.fill(.{ .red = 0x5, .green = 0x5, .blue = 0x5 }); + + //(graphics.Box { + // .x = center_x - 100, + // .y = center_y - 100, + // .width = 200, + // .height = 200, + // .radius = 100, + // .color = .{ .red = 0xff, .green = 0xff, .blue = 0xff }, + //}).render(&canvas); + + curve.render(&canvas); const end = try std.time.Instant.now(); const duration: f64 = @floatFromInt(end.since(start)); -- cgit v1.2.3-70-g09d2