Backlog/engine/papyrus/src/DrawCommand.zig

41 lines
1.0 KiB
Zig

// Draw command
node: papyrus.NodeHandle,
primitive: union(enum(u8)) {
Rect: PrimitiveRect,
Text: PrimitiveText,
},
pub const papyrus = @import("papyrus.zig");
pub const core = @import("core");
pub const PrimitiveRect = struct {
tl: core.Vector2f,
size: core.Vector2f,
borderColor: papyrus.Color,
backgroundColor: papyrus.Color,
rounding: struct {
tl: f32 = 0,
tr: f32 = 0,
bl: f32 = 0,
br: f32 = 0,
} = .{},
borderWidth: f32 = 1.1,
imageRef: ?core.Name = null, // safe for multithreading surprisingly
};
pub const PrimitiveText = struct {
tl: core.Vector2f,
size: core.Vector2f,
renderMode: papyrus.TextRenderMode,
text: papyrus.LocText, // unsafe for multithreading
color: papyrus.Color,
textSize: f32,
//rendererHash: u32,
fontHandle: u32, // this is just a core.Name handle
flags: packed struct {
setSourceGeometry: bool,
debugText: bool = false,
},
};