From 7dc7069186d7bf921548d25c4fb35dd4854fc766 Mon Sep 17 00:00:00 2001 From: Roman Pytkov Date: Sun, 22 Feb 2026 00:55:08 +0300 Subject: [PATCH] =?UTF-8?q?=D0=9E=D0=BA=D0=BD=D0=BE=20=D1=85=D1=80=D0=B0?= =?UTF-8?q?=D0=BD=D0=B8=D1=82=20=D0=B4=D0=BE=D0=BA=D1=83=D0=BC=D0=B5=D0=BD?= =?UTF-8?q?=D1=82=D1=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/WindowContext.zig | 5 +++++ src/models/Document.zig | 7 ++++++- src/models/basic_models.zig | 5 +++++ 3 files changed, 16 insertions(+), 1 deletion(-) diff --git a/src/WindowContext.zig b/src/WindowContext.zig index 84b3525..6bd9498 100644 --- a/src/WindowContext.zig +++ b/src/WindowContext.zig @@ -1,6 +1,7 @@ const std = @import("std"); const Canvas = @import("Canvas.zig"); const CpuRenderEngine = @import("render/CpuRenderEngine.zig"); +const Document = @import("models/Document.zig"); const WindowContext = @This(); @@ -8,6 +9,8 @@ allocator: std.mem.Allocator, canvas: Canvas, cpu_render: *CpuRenderEngine, frame_index: u64, +/// Открытые документы в текущем окне +documents: std.array_list.Managed(Document), pub fn init(allocator: std.mem.Allocator) !WindowContext { var self: WindowContext = undefined; @@ -20,11 +23,13 @@ pub fn init(allocator: std.mem.Allocator) !WindowContext { self.canvas = Canvas.init(allocator, self.cpu_render.renderEngine()); self.frame_index = 0; + self.documents = std.array_list.Managed(Document).init(allocator); return self; } pub fn deinit(self: *WindowContext) void { + self.documents.deinit(); self.canvas.deinit(); self.allocator.destroy(self.cpu_render); } diff --git a/src/models/Document.zig b/src/models/Document.zig index 359deef..288f97b 100644 --- a/src/models/Document.zig +++ b/src/models/Document.zig @@ -1 +1,6 @@ -// Файл векторного документа +const basic_models = @import("basic_models.zig"); +const Size = basic_models.Size; + +const Document = @This(); + +size: Size, diff --git a/src/models/basic_models.zig b/src/models/basic_models.zig index ba31ce5..7bbd738 100644 --- a/src/models/basic_models.zig +++ b/src/models/basic_models.zig @@ -9,3 +9,8 @@ pub const ImageSize = struct { w: u32, h: u32, }; + +pub const Size = struct { + width: f32, + height: f32, +};