21 lines
682 B
Zig
21 lines
682 B
Zig
// Интерфейс для рендеринга документа
|
|
const dvui = @import("dvui");
|
|
const CpuRenderEngine = @import("CpuRenderEngine.zig");
|
|
const rast_models = @import("../models/rasterization_models.zig");
|
|
|
|
pub const RenderEngine = union(enum) {
|
|
cpu: *CpuRenderEngine,
|
|
|
|
pub fn exampleReset(self: RenderEngine) void {
|
|
switch (self) {
|
|
.cpu => |cpu_r| cpu_r.exampleReset(),
|
|
}
|
|
}
|
|
|
|
pub fn example(self: RenderEngine, canvas_size: rast_models.ImageSize, visible_rect: rast_models.ImageRect) !?dvui.Texture {
|
|
return switch (self) {
|
|
.cpu => |cpu_r| cpu_r.example(canvas_size, visible_rect),
|
|
};
|
|
}
|
|
};
|