// Правая панель: контент документа (холст) или заглушка «Нет документа». const std = @import("std"); const dvui = @import("dvui"); const WindowContext = @import("../WindowContext.zig"); const canvas_view = @import("canvas_view.zig"); pub fn rightPanel(ctx: *WindowContext) void { const fill_color = dvui.Color.black.opacity(0.25); var panel = dvui.box( @src(), .{ .dir = .vertical }, .{ .expand = .both, .background = true, .padding = dvui.Rect.all(5), .corner_radius = dvui.Rect.all(24), .color_fill = fill_color, }, ); { const active_doc = ctx.activeDocument(); if (active_doc) |doc| { const content_rect_scale = panel.data().contentRectScale(); canvas_view.canvasView(&doc.canvas, content_rect_scale); } else { noDocView(ctx); } } panel.deinit(); } fn noDocView(ctx: *WindowContext) void { var center = dvui.box( @src(), .{ .dir = .vertical }, .{ .expand = .both, .padding = dvui.Rect.all(20) }, ); { dvui.label(@src(), "No document open", .{}, .{}); if (dvui.button(@src(), "New document", .{}, .{})) { ctx.addNewDocument() catch |err| { std.debug.print("addNewDocument error: {}\n", .{err}); }; } } center.deinit(); }