15 lines
600 B
Zig
15 lines
600 B
Zig
const std = @import("std");
|
|
const Canvas = @import("../Canvas.zig");
|
|
const Tool = @import("../Tool.zig");
|
|
const shape = @import("../models/shape/shape.zig");
|
|
|
|
fn onCanvasClick(ctx: *const Tool.ToolContext) !void {
|
|
const canvas = ctx.canvas;
|
|
var obj = shape.createObject(canvas.document.allocator, .line) catch return;
|
|
defer obj.deinit(canvas.allocator);
|
|
try obj.setProperty(canvas.document.allocator, .{ .data = .{ .position = ctx.document_point } });
|
|
try canvas.document.addObject(obj);
|
|
canvas.requestRedraw();
|
|
}
|
|
pub const tool = Tool.Tool{ .onCanvasClick = onCanvasClick };
|