Переход к RenderEngine
This commit is contained in:
@@ -1,19 +1,27 @@
|
||||
const std = @import("std");
|
||||
const dvui = @import("dvui");
|
||||
const Canvas = @import("Canvas.zig");
|
||||
const CpuRenderEngine = @import("render/CpuRenderEngine.zig");
|
||||
|
||||
const WindowContext = @This();
|
||||
|
||||
allocator: std.mem.Allocator,
|
||||
canvas: Canvas,
|
||||
cpu_render: *CpuRenderEngine,
|
||||
|
||||
pub fn init(allocator: std.mem.Allocator) WindowContext {
|
||||
return .{
|
||||
.allocator = allocator,
|
||||
.canvas = Canvas.init(allocator),
|
||||
};
|
||||
pub fn init(allocator: std.mem.Allocator) !WindowContext {
|
||||
var self: WindowContext = undefined;
|
||||
self.allocator = allocator;
|
||||
|
||||
self.cpu_render = try allocator.create(CpuRenderEngine);
|
||||
errdefer allocator.destroy(self.cpu_render);
|
||||
self.cpu_render.* = CpuRenderEngine.init(allocator, .Gradient);
|
||||
|
||||
self.canvas = Canvas.init(allocator, self.cpu_render.renderEngine());
|
||||
|
||||
return self;
|
||||
}
|
||||
|
||||
pub fn deinit(self: *WindowContext) void {
|
||||
self.canvas.deinit();
|
||||
self.allocator.destroy(self.cpu_render);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user