Skip to documentation
SLOP

tiny.gui.surface

Reference tiny.gui surface

Defined in tiny.gui.

API (50)

Actions

Public operations.

Types and contracts

Public types and contracts.

Values and defaults

Public values and defaults.

No direct callersNo direct callstiny.guisurface
Static calls · unresolved targets: unknown · external targets: unknown.

Source

Source: lib/gui/src/surface/capacity.zig:50

zig
pub const Capacity = struct {    nodes: usize,    runs: usize,    styles: usize,    images: usize,    image_pixels: usize,    semantic_bytes: usize,    surface_offset: usize,    surface_bytes: usize,    node_offset: usize,    node_slots: usize,    node_bytes: usize,    run_offset: usize,    run_slots: usize,    run_bytes: usize,    style_offset: usize,    style_slots: usize,    style_bytes: usize,    image_offset: usize,    image_slots: usize,    image_bytes: usize,    image_pixel_offset: usize,    image_pixel_slots: usize,    image_pixel_bytes: usize,    semantic_offset: usize,    storage_bytes: usize,    pub fn derive(limits: Limits) DeriveError!Capacity {        if (limits.nodes == 0) return error.InvalidNodeLimit;        const surface = try placed(UiSurfaceTree, 0, 1);        const nodes = try placed(UiNode, surface.end, limits.nodes - 1);        const runs = try placed(UiTextRun, nodes.end, limits.runs);        const styles = try placed(UiTextStyle, runs.end, limits.styles);        const images = try placed(UiImage, styles.end, limits.images);        const image_pixels = try placed(u32, images.end, limits.image_pixels);        const semantics = try placed(u8, image_pixels.end, limits.semantic_bytes);        return .{            .nodes = limits.nodes,            .runs = limits.runs,            .styles = limits.styles,            .images = limits.images,            .image_pixels = limits.image_pixels,            .semantic_bytes = limits.semantic_bytes,            .surface_offset = surface.start,            .surface_bytes = surface.bytes,            .node_offset = nodes.start,            .node_slots = limits.nodes - 1,            .node_bytes = nodes.bytes,            .run_offset = runs.start,            .run_slots = limits.runs,            .run_bytes = runs.bytes,            .style_offset = styles.start,            .style_slots = limits.styles,            .style_bytes = styles.bytes,            .image_offset = images.start,            .image_slots = limits.images,            .image_bytes = images.bytes,            .image_pixel_offset = image_pixels.start,            .image_pixel_slots = limits.image_pixels,            .image_pixel_bytes = image_pixels.bytes,            .semantic_offset = semantics.start,            .storage_bytes = semantics.end,        };    }    pub fn admits(self: Capacity, facts: Facts) bool {        return self.toLimits().admits(facts);    }    pub fn toLimits(self: Capacity) Limits {        return .{            .nodes = self.nodes,            .runs = self.runs,            .styles = self.styles,            .images = self.images,            .image_pixels = self.image_pixels,            .semantic_bytes = self.semantic_bytes,        };    }};

Source: lib/gui/src/surface/capacity.zig:37

zig
pub const DeriveError = error{    InvalidNodeLimit,    CapacityOverflow,};

Source: lib/gui/src/surface/capacity.zig:10

zig
pub const Facts = struct {    nodes: usize = 0,    runs: usize = 0,    styles: usize = 0,    images: usize = 0,    image_pixels: usize = 0,    semantic_bytes: usize = 0,};

Source: lib/gui/src/surface/capacity.zig:19

zig
pub const Limits = struct {    nodes: usize,    runs: usize = 0,    styles: usize = 0,    images: usize = 0,    image_pixels: usize = 0,    semantic_bytes: usize,    pub fn admits(self: Limits, facts: Facts) bool {        return facts.nodes <= self.nodes and            facts.runs <= self.runs and            facts.styles <= self.styles and            facts.images <= self.images and            facts.image_pixels <= self.image_pixels and            facts.semantic_bytes <= self.semantic_bytes;    }};

Source: lib/gui/src/surface/command.zig:18

zig
pub const CommandUiColor = extern struct {    r: u8,    g: u8,    b: u8,    a: u8,};

Source: lib/gui/src/surface/command.zig:170

zig
pub const CommandUiImage = extern struct {    width: u32,    height: u32,    pixels_ptr: ?[*]const u32,    pixels_len: usize,};

Source: lib/gui/src/surface/command.zig:50

zig
pub const CommandUiImagePaint = extern struct {    is_set: u8,    index: u32,    source: CommandUiRect,    tint: CommandUiOptionalColor,    opacity: u8,};

Source: lib/gui/src/surface/command.zig:42

zig
pub const CommandUiLinearGradient = extern struct {    is_set: u8,    start: CommandUiPoint,    end: CommandUiPoint,    start_color: CommandUiColor,    end_color: CommandUiColor,};

Source: lib/gui/src/surface/command.zig:152

zig
pub const CommandUiNode = extern struct {    widget_id: u64,    kind: u8,    focusable: u8,    style: CommandUiStyle,    size: CommandUiDimensions,    paint: CommandUiPaint,    text_ptr: ?*const CommandUiText,    children_ptr: ?[*]const CommandUiNode,    children_len: usize,    action_ptr: ?[*]const u8,    action_len: usize,    role_ptr: ?[*]const u8,    role_len: usize,    state_flags: u64,    text_selection: CommandUiTextSelection,};

Source: lib/gui/src/surface/command.zig:58

zig
pub const CommandUiPaint = extern struct {    background: CommandUiOptionalColor,    linear_gradient: CommandUiLinearGradient,    foreground: CommandUiOptionalColor,    border: CommandUiOptionalColor,    border_width: f32,    corner_roundness: f32,    border_edges: CommandUiBorderPaint,    shadow: CommandUiShadowPaint,    image: CommandUiImagePaint,};

Source: lib/gui/src/surface/command.zig:30

zig
pub const CommandUiPoint = extern struct {    x: f32,    y: f32,};

Source: lib/gui/src/surface/command.zig:35

zig
pub const CommandUiRect = extern struct {    x: f32,    y: f32,    width: f32,    height: f32,};

Source: lib/gui/src/surface/command.zig:177

zig
pub const CommandUiSurface = extern struct {    available_width: f32,    available_height: f32,    root_ptr: ?*const CommandUiNode,    images_ptr: ?[*]const CommandUiImage,    images_len: usize,};

Source: lib/gui/src/surface/command.zig:113

zig
pub const CommandUiText = extern struct {    content_ptr: ?[*]const u8,    content_len: usize,    runs_ptr: ?[*]const CommandUiTextRun,    runs_len: usize,    styles_ptr: ?[*]const CommandUiTextStyle,    styles_len: usize,    font_asset_id: u64,    font_weight: u16,    point_size: f64,    line_height: f64,    wrap_width: f64,    horizontal_align: u8,    vertical_align: u8,};

Source: lib/gui/src/surface/command.zig:134

zig
pub const CommandUiTextRun = extern struct {    byte_start: usize,    byte_end: usize,    style_slot: u16,    foreground: CommandUiOptionalColor,    background: CommandUiOptionalColor,    underline: u8,    strikethrough: u8,};

Source: lib/gui/src/surface/command.zig:129

zig
pub const CommandUiTextStyle = extern struct {    font_asset_id: u64,    point_size: f64,};

Source: lib/gui/src/surface/storage.zig:28

zig
pub const Placement = struct {    limits: capacity_mod.Limits,    bytes: []align(capacity_mod.storage_alignment) u8,    surface: ?Surface = null,    facts: capacity_mod.Facts = .{},    pub fn init(        bytes: []align(capacity_mod.storage_alignment) u8,        capacity: capacity_mod.Capacity,    ) Placement {        std.debug.assert(bytes.len == capacity.storage_bytes);        return .{ .limits = capacity.toLimits(), .bytes = bytes };    }    pub inline fn cloneSurface(self: *Placement, src: Surface) CloneError!Surface {        const facts = try survey.surface(src);        if (!self.limits.admits(facts)) return error.SurfaceCapacityExceeded;        return self.placeSurface(src, facts);    }    pub fn cloneCommandSurface(        self: *Placement,        src: *const command.CommandUiSurface,    ) CloneError!Surface {        const facts = try survey.commandSurface(src);        if (!self.limits.admits(facts)) return error.SurfaceCapacityExceeded;        return self.placeCommandSurface(src, facts);    }    pub fn reset(self: *Placement) void {        self.surface = null;        self.facts = .{};    }    pub fn current(self: *const Placement) ?Surface {        return self.surface;    }    pub inline fn currentPtr(self: *const Placement) ?*const Surface {        if (self.surface) |*value| return value;        return null;    }    pub inline fn hasSurface(self: *const Placement) bool {        return self.surface != null;    }    pub fn status(self: *const Placement) PlacementStatus {        return .{            .capacity = self.derivedCapacity(),            .facts = self.facts,            .has_surface = self.surface != null,        };    }    fn derivedCapacity(self: *const Placement) capacity_mod.Capacity {        return capacity_mod.Capacity.derive(self.limits) catch unreachable;    }    fn placeSurface(        self: *Placement,        src: Surface,        facts: capacity_mod.Facts,    ) Surface {        var cursor = Cursor.init(self, self.derivedCapacity());        const tree = cursor.surface();        tree.* = .{            .available_size = src.tree.available_size,            .root = cursor.cloneNode(&src.tree.root),        };        const result = Surface{            .tree = tree,            .images = cursor.cloneImages(src.images),        };        cursor.finish(facts);        self.surface = result;        self.facts = facts;        return result;    }    fn placeCommandSurface(        self: *Placement,        src: *const command.CommandUiSurface,        facts: capacity_mod.Facts,    ) Surface {        var cursor = Cursor.init(self, self.derivedCapacity());        const tree = cursor.surface();        tree.* = .{            .available_size = .{                .width = src.available_width,                .height = src.available_height,            },            .root = cursor.cloneCommandNode(src.root_ptr.?),        };        const result = Surface{            .tree = tree,            .images = cursor.cloneCommandImages(src),        };        cursor.finish(facts);        self.surface = result;        self.facts = facts;        return result;    }};

Source: lib/gui/src/surface/storage.zig:22

zig
pub const PlacementStatus = struct {    capacity: capacity_mod.Capacity,    facts: capacity_mod.Facts,    has_surface: bool,};

Source: lib/gui/src/surface/storage.zig:396

zig
pub const Storage = struct {    phase: alloc_phase.capacity.Phase,    capacity: capacity_mod.Capacity,    bytes: []align(capacity_mod.storage_alignment) u8,    placement: Placement,    pub const Limits: type = capacity_mod.Limits;    pub const Capacity: type = capacity_mod.Capacity;    pub const Exhaustion: type = @import("storage.zig").Exhaustion;    pub const InitError = std.mem.Allocator.Error || capacity_mod.DeriveError;    pub const claim: alloc_phase.capacity.Declaration = .{        .source = .{            .id = "gui.surface_clone_storage",            .kind = .phase_static,            .limit_source = .caller,            .storage = .{                .covered = &.{                    .{                        .id = "one_cloned_uisurfacetree_header_and_caller_sized_ty_33bebc07fe23",                        .lifetime = .steady,                        .detail = "one cloned UiSurfaceTree header and caller-sized typed node arena",                    },                    .{                        .id = "caller_sized_cloned_uitextrun_arena",                        .lifetime = .steady,                        .detail = "caller-sized cloned UiTextRun arena",                    },                    .{                        .id = "caller_sized_cloned_uitextstyle_arena",                        .lifetime = .steady,                        .detail = "caller-sized cloned UiTextStyle arena",                    },                    .{                        .id = "caller_sized_cloned_ui_image_descriptor_arena",                        .lifetime = .steady,                        .detail = "caller-sized cloned UI image descriptor arena",                    },                    .{                        .id = "caller_sized_cloned_packed_rgba8_image_pixels",                        .lifetime = .steady,                        .detail = "caller-sized cloned packed RGBA8 image pixels",                    },                    .{                        .id = "caller_sized_cloned_text_action_and_role_bytes",                        .lifetime = .steady,                        .detail = "caller-sized cloned text action and role bytes",                    },                },                .excluded = &.{                    "caller-owned source trees and command pointer memory",                    "sdfii retained root lookup and transactional replacement slots",                    "frame layout render input and paint storage",                },            },            .capacity = .{                .inputs = &.{                    alloc_phase.capacity.bindInput(Limits, "nodes", "nodes"),                    alloc_phase.capacity.bindInput(Limits, "runs", "runs"),                    alloc_phase.capacity.bindInput(Limits, "styles", "styles"),                    alloc_phase.capacity.bindInput(Limits, "images", "images"),                    alloc_phase.capacity.bindInput(Limits, "image_pixels", "image_pixels"),                    alloc_phase.capacity.bindInput(Limits, "semantic_bytes", "semantic_bytes"),                },                .type_selectors = &.{                    alloc_phase.capacity.bindType(UiSurfaceTree, "uisurfacetree"),                    alloc_phase.capacity.bindType(UiNode, "uinode"),                    alloc_phase.capacity.bindType(UiTextRun, "uitextrun"),                    alloc_phase.capacity.bindType(UiTextStyle, "uitextstyle"),                    alloc_phase.capacity.bindType(UiImage, "uiimage"),                    alloc_phase.capacity.bindType(u32, "u32"),                },                .nodes = &.{                    .{ .constant = 1 },                    .{ .scale = .{ .node = 0, .coefficient = .{ .size_of_concrete_type = 0 } } },                    .{ .alignment = .{ .node = 1, .alignment = .{ .literal = 16 } } },                    .{ .input = 0 },                    .{ .scale = .{ .node = 3, .coefficient = .{ .size_of_concrete_type = 1 } } },                    .{ .alignment = .{ .node = 4, .alignment = .{ .literal = 16 } } },                    .{ .input = 1 },                    .{ .scale = .{ .node = 6, .coefficient = .{ .size_of_concrete_type = 2 } } },                    .{ .alignment = .{ .node = 7, .alignment = .{ .literal = 16 } } },                    .{ .input = 2 },                    .{ .scale = .{ .node = 9, .coefficient = .{ .size_of_concrete_type = 3 } } },                    .{ .alignment = .{ .node = 10, .alignment = .{ .literal = 16 } } },                    .{ .input = 3 },                    .{ .scale = .{ .node = 12, .coefficient = .{ .size_of_concrete_type = 4 } } },                    .{ .alignment = .{ .node = 13, .alignment = .{ .literal = 16 } } },                    .{ .input = 4 },                    .{ .scale = .{ .node = 15, .coefficient = .{ .size_of_concrete_type = 5 } } },                    .{ .alignment = .{ .node = 16, .alignment = .{ .literal = 16 } } },                    .{ .input = 5 },                    .{ .alignment = .{ .node = 18, .alignment = .{ .literal = 16 } } },                    .{ .add = .{ .left = 2, .right = 5 } },                    .{ .add = .{ .left = 20, .right = 8 } },                    .{ .add = .{ .left = 21, .right = 11 } },                    .{ .add = .{ .left = 22, .right = 14 } },                    .{ .add = .{ .left = 23, .right = 17 } },                    .{ .add = .{ .left = 24, .right = 19 } },                },                .assertions = &.{.{                    .scope = .closure_total,                    .measure = .retained,                    .relation = .upper_bound,                    .expression = 25,                }},            },            .overload = .{                .kind = .reject_before_mutation,                .detail = "depth invalid command facts and max-plus-one node run style image pixel or semantic demand reject during survey before placement state changes",            },            .risks = .{                .transitive = .{                    .status = .witnessed,                    .detail = "typed native and command placement traversals carry no allocator capability after storage activation",                },                .foreign = .{                    .status = .open,                    .detail = "command trees and image tables are foreign pointer graphs whose memory must remain immutable and valid through survey and placement",                },            },            .obligations = &.{                .{ .key = "gui_surface_clone_capacity", .role = .capacity_model },                .{ .key = "gui_surface_clone_survey", .role = .overload },                .{ .key = "gui_surface_clone_acquisition", .role = .custom },                .{ .key = "gui_surface_clone_boundary", .role = .overload },                .{ .key = "gui_surface_clone_command", .role = .foreign_risk },                .{ .key = "gui_surface_clone_images", .role = .overload },                .{ .key = "gui_surface_clone_command_images_overload", .role = .overload },                .{ .key = "gui_surface_clone_command_images_foreign_risk", .role = .foreign_risk },                .{ .key = "gui_surface_clone_sealed", .role = .transitive_risk },            },        },        .bindings = .{            .owner = @This(),            .seal = .{                .family = alloc_phase.capacity.selector(@This().activate),                .premise = .{                    .class = .checked_semantic_fact,                    .authority = .checker,                },            },            .teardown = .{                .family = alloc_phase.capacity.selector(@This().deinit),                .premise = .{                    .class = .checked_semantic_fact,                    .authority = .checker,                },            },        },    };    pub fn init(allocator: std.mem.Allocator, limits: Limits) InitError!Storage {        const capacity = try Capacity.derive(limits);        const bytes = try allocator.alignedAlloc(            u8,            .fromByteUnits(capacity_mod.storage_alignment),            capacity.storage_bytes,        );        return .{            .phase = .initialization,            .capacity = capacity,            .bytes = bytes,            .placement = Placement.init(bytes, capacity),        };    }    pub fn activate(self: *Storage) void {        std.debug.assert(self.phase == .initialization);        self.assertStorage();        self.phase = .steady;    }    pub fn cloneSurface(self: *Storage, src: Surface) CloneError!Surface {        std.debug.assert(self.phase == .steady);        self.assertStorage();        return self.placement.cloneSurface(src);    }    pub fn cloneCommandSurface(        self: *Storage,        src: *const command.CommandUiSurface,    ) CloneError!Surface {        std.debug.assert(self.phase == .steady);        self.assertStorage();        return self.placement.cloneCommandSurface(src);    }    pub fn current(self: *const Storage) ?Surface {        return self.placement.current();    }    pub fn status(self: *const Storage) PlacementStatus {        self.assertStorage();        return self.placement.status();    }    pub fn deinit(self: *Storage, allocator: std.mem.Allocator) void {        std.debug.assert(self.phase != .teardown);        self.assertStorage();        self.phase = .teardown;        allocator.free(self.bytes);        self.bytes = &.{};        self.placement.bytes = &.{};        self.placement.reset();    }    fn assertStorage(self: *const Storage) void {        std.debug.assert(self.bytes.len == self.capacity.storage_bytes);        std.debug.assert(self.placement.bytes.ptr == self.bytes.ptr);        std.debug.assert(self.placement.bytes.len == self.bytes.len);        std.debug.assert(std.meta.eql(self.placement.limits, self.capacity.toLimits()));    }};

Source: lib/gui/src/surface/survey.zig:13

zig
pub const Error = error{    SurfaceTooDeep,    SurfaceFactsOverflow,    InvalidCommand,};

Source: lib/gui/src/surface/types.zig:3

zig
pub const Surface = struct {    tree: *const gui.model.UiSurfaceTree,    images: gui.model.UiImageSet = .{},};
Called byCallsNo direct callerssurface.CapacitytoLimitssurface.Capacityadmits
Static calls · unresolved targets: 0 · external targets: 0.
Called byCallstest sourcelib.gui.src.surface.capacitytest: surface clone capacity matches ...test sourcelib.gui.src.surface.capacitytest: surface clone capacity rejects ...private sourcelib.gui.src.surface.capacityplacedsurface.Capacityderive
Static calls · unresolved targets: 0 · external targets: 0.
Called byCallsNo direct callssurface.Capacityadmitssurface.CapacitytoLimits
Static calls · unresolved targets: 0 · external targets: 0.

Source: lib/gui/src/surface/capacity.zig:42

zig
pub const storage_alignment: usize = @max(    @alignOf(UiSurfaceTree),    @max(        @alignOf(UiNode),        @max(@alignOf(UiTextRun), @max(@alignOf(UiTextStyle), @alignOf(UiImage))),    ),);

Source: lib/gui/src/surface/storage.zig:19

zig
pub const Exhaustion = survey.Error || error{SurfaceCapacityExceeded};
Called byCallssurface.StoragecloneCommandSurfaceprivate sourcelib.gui.src.surface.storage.PlacementplaceCommandSurfacesurfacesurveyCommandSurfacesurface.PlacementcloneCommandSurface
Static calls · unresolved targets: 0 · external targets: 1.
Called byCallssurface.StoragecloneSurfaceprivate sourcelib.gui.src.surface.storage.PlacementplaceSurfacesurfacesurveySurfacesurface.PlacementcloneSurface
Static calls · unresolved targets: 0 · external targets: 1.
Called byCallsNo direct callssurface.Storagecurrentsurface.Placementcurrent
Static calls · unresolved targets: 0 · external targets: 0.
Called byCallsNo direct callssurface.Storageinitsurface.Placementinit
Static calls · unresolved targets: 1 · external targets: 1.
Called byCallsNo direct callssurface.Storagedeinitsurface.Placementreset
Static calls · unresolved targets: 0 · external targets: 0.
Called byCallssurface.Storagestatusprivate sourcelib.gui.src.surface.storage.PlacementderivedCapacitysurface.Placementstatus
Static calls · unresolved targets: 0 · external targets: 0.
Called byCallstest sourcelib.gui.src.surface.storagetest: surface clone command survey re...test sourcelib.gui.src.surface.storagetest: surface clone maximum placement...test sourcelib.gui.src.surface.storagetest: surface clone owns image descri...test sourcelib.gui.src.surface.storagetest: surface clone storage owns nest...test sourcelib.gui.src.surface.storagetest: surface clone storage rejects m...+3 moreprivate sourcelib.gui.src.surface.storage.StorageassertStoragesurface.Storageactivate
Static calls · unresolved targets: 0 · external targets: 0.
Called byCallstest sourcelib.gui.src.surface.storagetest: surface clone command survey re...test sourcelib.gui.src.surface.storagetest: surface command decodes linear ...test sourcelib.gui.src.surface.storagetest: surface command owns and decode...test sourcelib.gui.src.surface.storagetest: surface command owns image pixe...surface.PlacementcloneCommandSurfaceprivate sourcelib.gui.src.surface.storage.StorageassertStoragesurface.StoragecloneCommandSurface
Static calls · unresolved targets: 0 · external targets: 0.
Called byCallstest sourcelib.gui.src.surface.storagetest: surface clone command survey re...test sourcelib.gui.src.surface.storagetest: surface clone maximum placement...test sourcelib.gui.src.surface.storagetest: surface clone owns image descri...test sourcelib.gui.src.surface.storagetest: surface clone storage owns nest...test sourcelib.gui.src.surface.storagetest: surface clone storage rejects m...surface.PlacementcloneSurfaceprivate sourcelib.gui.src.surface.storage.StorageassertStoragesurface.StoragecloneSurface
Static calls · unresolved targets: 0 · external targets: 0.
Called byCallstest sourcelib.gui.src.surface.storagetest: surface clone command survey re...test sourcelib.gui.src.surface.storagetest: surface clone owns image descri...test sourcelib.gui.src.surface.storagetest: surface clone storage rejects m...test sourcelib.gui.src.surface.storagetest: surface command owns and decode...test sourcelib.gui.src.surface.storagetest: surface command owns image pixe...surface.Placementcurrentsurface.Storagecurrent
Static calls · unresolved targets: 0 · external targets: 0.
Called byCallsprivate sourcelib.gui.src.surface.storagecheckInitFailurestest sourcelib.gui.src.surface.storagetest: surface clone command survey re...test sourcelib.gui.src.surface.storagetest: surface clone maximum placement...test sourcelib.gui.src.surface.storagetest: surface clone owns image descri...test sourcelib.gui.src.surface.storagetest: surface clone storage acquires ...+5 moresurface.Placementresetprivate sourcelib.gui.src.surface.storage.StorageassertStoragesurface.Storagedeinit
Static calls · unresolved targets: 0 · external targets: 1.
Called byCallsprivate sourcelib.gui.src.surface.storagecheckInitFailurestest sourcelib.gui.src.surface.storagetest: surface clone command survey re...test sourcelib.gui.src.surface.storagetest: surface clone maximum placement...test sourcelib.gui.src.surface.storagetest: surface clone owns image descri...test sourcelib.gui.src.surface.storagetest: surface clone storage acquires ...+5 moresurface.Placementinitsurface.Storageinit
Static calls · unresolved targets: 1 · external targets: 1.
Called byCallsNo direct callerssurface.Placementstatusprivate sourcelib.gui.src.surface.storage.StorageassertStoragesurface.Storagestatus
Static calls · unresolved targets: 0 · external targets: 0.

Source: lib/gui/src/surface/survey.zig:26

zig
pub fn commandSurface(src: *const command.CommandUiSurface) Error!capacity.Facts {    const root = src.root_ptr orelse return error.InvalidCommand;    var facts = capacity.Facts{};    try commandImages(src, &facts);    try commandNode(root, &facts, 0, src.images_len);    return facts;}
Called byCallssurface.PlacementcloneCommandSurfacetest sourcelib.gui.src.surface.storagetest: surface command decodes linear ...test sourcelib.gui.src.surface.storagetest: surface command owns and decode...test sourcelib.gui.src.surface.storagetest: surface command owns image pixe...test sourcelib.gui.src.surface.surveytest: surface command survey rejects ...private sourcelib.gui.src.surface.surveycommandImagesprivate sourcelib.gui.src.surface.surveycommandNodesurfacesurveyCommandSurface
Static calls · unresolved targets: 0 · external targets: 0.

Source: lib/gui/src/surface/survey.zig:19

zig
pub fn surface(src: types.Surface) Error!capacity.Facts {    var facts = capacity.Facts{};    try surfaceImages(src.images, &facts);    try surfaceNode(&src.tree.root, &facts, 0, src.images.images.len);    return facts;}
Called byCallssurface.PlacementcloneSurfacetest sourcelib.gui.src.surface.storagetest: surface clone maximum placement...test sourcelib.gui.src.surface.storagetest: surface clone storage owns nest...test sourcelib.gui.src.surface.surveytest: surface survey counts image des...test sourcelib.gui.src.surface.surveytest: surface survey counts nodes and...test sourcelib.gui.src.surface.surveytest: surface survey rejects trees be...private sourcelib.gui.src.surface.surveysurfaceImagesprivate sourcelib.gui.src.surface.surveysurfaceNodesurfacesurveySurface
Static calls · unresolved targets: 0 · external targets: 0.

Source: lib/gui/src/root.zig:10

zig
pub const surface = @import("surface/root.zig");

Source: lib/gui/src/surface/root.zig

zig
const capacity_mod = @import("capacity.zig");const command = @import("command.zig");const storage_mod = @import("storage.zig");const survey = @import("survey.zig");const types = @import("types.zig");pub const CommandUiColor = command.CommandUiColor;pub const CommandUiImage = command.CommandUiImage;pub const CommandUiImagePaint = command.CommandUiImagePaint;pub const CommandUiLinearGradient = command.CommandUiLinearGradient;pub const CommandUiNode = command.CommandUiNode;pub const CommandUiPaint = command.CommandUiPaint;pub const CommandUiPoint = command.CommandUiPoint;pub const CommandUiRect = command.CommandUiRect;pub const CommandUiSurface = command.CommandUiSurface;pub const CommandUiText = command.CommandUiText;pub const CommandUiTextRun = command.CommandUiTextRun;pub const CommandUiTextStyle = command.CommandUiTextStyle;pub const Facts = capacity_mod.Facts;pub const Limits = capacity_mod.Limits;pub const Capacity = capacity_mod.Capacity;pub const DeriveError = capacity_mod.DeriveError;pub const Placement = storage_mod.Placement;pub const PlacementStatus = storage_mod.PlacementStatus;pub const Storage = storage_mod.Storage;pub const CloneError = storage_mod.CloneError;pub const SurveyError = survey.Error;pub const Surface = types.Surface;pub const max_depth = survey.max_depth;pub const storage_alignment = capacity_mod.storage_alignment;pub const surveySurface = survey.surface;pub const surveyCommandSurface = survey.commandSurface;

Source: lib/gui/src/surface/survey.zig:11

zig
pub const max_depth = gui.layout.max_depth;

Complete caller list for surface.Storage.activate

8 direct callers.

Complete caller list for surface.Storage.deinit

10 direct callers.

Complete caller list for surface.Storage.init

10 direct callers.

Audit

Definitions50
Public names51
Members130
Version26.7.0
Revisiondaab053ee433