Files
Zivro/src/toolbar/Tool.zig

19 lines
589 B
Zig

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,
};