const Point2_f = @import("../models/basic_models.zig").Point2_f; const Canvas = @import("../Canvas.zig"); const Document = @import("../models/Document.zig"); pub const ToolContext = struct { canvas: *Canvas, document_point: Point2_f, selected_object_id: ?u64, pub fn addObject(self: *const ToolContext, template: Document.Object) !void { try self.canvas.document.addObjectUnderParentId(self.selected_object_id, template); self.canvas.requestRedraw(); } }; pub const Tool = struct { onCanvasClick: *const fn (*const ToolContext) anyerror!void, };