Refactor: Переместил модуль shape
Я переместил модуль shape в подкаталог shape/ для лучшей организации кода. Изменил пути импорта в связанных файлах, чтобы соответствовать новому местоположению модуля. Удалил возвраты null из `getLocalBounds` и заменил их на обработку ошибок для улучшения надежности.
This commit is contained in:
@@ -3,6 +3,7 @@ const Object = @import("../Object.zig");
|
||||
const Property = @import("../Property.zig").Property;
|
||||
const PropertyData = @import("../Property.zig").Data;
|
||||
const Rect = @import("../basic_models.zig").Rect;
|
||||
const shape_mod = @import("shape.zig");
|
||||
|
||||
/// Свойства фигуры по умолчанию (для создания и проверки типа). Теги для ensure выводятся отсюда.
|
||||
pub const default_shape_properties = [_]Property{
|
||||
@@ -20,8 +21,9 @@ pub fn appendDefaultShapeProperties(allocator: std.mem.Allocator, obj: *Object)
|
||||
}
|
||||
|
||||
/// Локальные границы линии: от (0,0) до end_point.
|
||||
pub fn getLocalBounds(obj: *const Object) ?Rect {
|
||||
const ep = obj.getProperty(.end_point) orelse return null;
|
||||
pub fn getLocalBounds(obj: *const Object) !Rect {
|
||||
try shape_mod.ensure(obj, .line);
|
||||
const ep = obj.getProperty(.end_point).?;
|
||||
const min_x = @min(0, ep.end_point.x);
|
||||
const max_x = @max(0, ep.end_point.x);
|
||||
const min_y = @min(0, ep.end_point.y);
|
||||
|
||||
Reference in New Issue
Block a user