diff --git a/src/Canvas.zig b/src/Canvas.zig index 57c78c2..0033ebb 100644 --- a/src/Canvas.zig +++ b/src/Canvas.zig @@ -10,6 +10,7 @@ const Point2_f = @import("models/basic_models.zig").Point2_f; const Color = dvui.Color; const tools = @import("tools.zig"); const Toolbar = @import("Toolbar.zig"); +const random_document = @import("random_document.zig"); const Canvas = @This(); allocator: std.mem.Allocator, @@ -84,6 +85,11 @@ pub fn exampleReset(self: *Canvas) !void { try self.redraw(); } +pub fn addRandomShapes(self: *Canvas) !void { + try random_document.addRandomShapes(self.document, std.crypto.random); + self.requestRedraw(); +} + pub fn setZoom(self: *Canvas, value: f32) void { self._zoom = @max(value, 0.01); } diff --git a/src/ui/left_panel.zig b/src/ui/left_panel.zig index 06af973..7735288 100644 --- a/src/ui/left_panel.zig +++ b/src/ui/left_panel.zig @@ -101,6 +101,9 @@ pub fn leftPanel(ctx: *WindowContext) void { canvas.requestRedraw(); } } + if (dvui.button(@src(), "Add random shapes", .{}, .{})) { + canvas.addRandomShapes() catch {}; + } } else { dvui.label(@src(), "No document", .{}, .{}); }