points теперь слайс
This commit is contained in:
@@ -6,6 +6,7 @@ const Document = @import("../models/Document.zig");
|
||||
const Property = @import("../models/Property.zig").Property;
|
||||
const PropertyData = @import("../models/Property.zig").Data;
|
||||
const Rect_i = @import("../models/basic_models.zig").Rect_i;
|
||||
const Point2_f = @import("../models/basic_models.zig").Point2_f;
|
||||
const Tool = @import("../toolbar/Tool.zig");
|
||||
const RenderStats = @import("../render/RenderStats.zig");
|
||||
const icons = @import("../icons.zig");
|
||||
@@ -564,10 +565,12 @@ fn drawPropertyEditor(canvas: *Canvas, obj: *Document.Object, prop: *const Prope
|
||||
}
|
||||
},
|
||||
.points => |points| {
|
||||
var list = points.clone(canvas.allocator) catch {
|
||||
dvui.label(@src(), "Points: {d}", .{points.items.len}, .{});
|
||||
var list = std.ArrayList(Point2_f).empty;
|
||||
list.appendSlice(canvas.allocator, points) catch {
|
||||
dvui.label(@src(), "Points: {d}", .{points.len}, .{});
|
||||
return;
|
||||
};
|
||||
defer list.deinit(canvas.allocator);
|
||||
dvui.label(@src(), "Points: {d}", .{list.items.len}, .{});
|
||||
|
||||
var changed = false;
|
||||
@@ -677,13 +680,13 @@ fn drawPropertyEditor(canvas: *Canvas, obj: *Document.Object, prop: *const Prope
|
||||
}
|
||||
|
||||
if (changed) {
|
||||
obj.setProperty(canvas.allocator, .{ .data = .{ .points = list } }) catch {
|
||||
list.deinit(canvas.allocator);
|
||||
const slice = canvas.allocator.alloc(Point2_f, list.items.len) catch return;
|
||||
@memcpy(slice, list.items);
|
||||
obj.setProperty(canvas.allocator, .{ .data = .{ .points = slice } }) catch {
|
||||
canvas.allocator.free(slice);
|
||||
return;
|
||||
};
|
||||
canvas.requestRedraw();
|
||||
} else {
|
||||
list.deinit(canvas.allocator);
|
||||
}
|
||||
},
|
||||
.fill_rgba => |rgba| {
|
||||
|
||||
Reference in New Issue
Block a user