Files
Zivro/src/tool_interface.zig

15 lines
590 B
Zig

//! Общий интерфейс инструмента. Реализации живут в каталоге tools/.
const Point2_f = @import("models/basic_models.zig").Point2_f;
/// Контекст вызова: холст и точка в координатах документа.
pub const ToolContext = struct {
canvas: *anyopaque,
document_point: Point2_f,
};
/// Интерфейс инструмента: один метод — клик по холсту в позиции курсора.
pub const Tool = struct {
onClick: *const fn (*const ToolContext) void,
};