Я переместил модуль shape в подкаталог shape/ для лучшей организации кода. Изменил пути импорта в связанных файлах, чтобы соответствовать новому местоположению модуля. Удалил возвраты null из `getLocalBounds` и заменил их на обработку ошибок для улучшения надежности.
24 lines
926 B
Zig
24 lines
926 B
Zig
const std = @import("std");
|
|
const Object = @import("../Object.zig");
|
|
const PropertyData = @import("../Property.zig").Data;
|
|
const Rect = @import("../basic_models.zig").Rect;
|
|
const shape_mod = @import("shape.zig");
|
|
|
|
/// Теги обязательных свойств (заглушка: arc пока не реализован).
|
|
pub fn getRequiredTags() []const std.meta.Tag(PropertyData) {
|
|
return &[_]std.meta.Tag(PropertyData){};
|
|
}
|
|
|
|
/// Добавляет свойства по умолчанию для дуги (заглушка).
|
|
pub fn appendDefaultShapeProperties(allocator: std.mem.Allocator, obj: *Object) !void {
|
|
_ = allocator;
|
|
_ = obj;
|
|
return error.ArcNotImplemented;
|
|
}
|
|
|
|
/// Локальные границы дуги (заглушка: пока не реализовано).
|
|
pub fn getLocalBounds(obj: *const Object) !Rect {
|
|
try shape_mod.ensure(obj, .arc);
|
|
return error.ArcNotImplemented;
|
|
}
|