19 lines
589 B
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,
|
|
};
|