tiny.gui.surface
Defined in tiny.gui.
API (50)
Actions
Public operations.
Capacity.admitsCapacity.deriveCapacity.toLimitsLimits.admitsPlacement.cloneCommandSurfacePlacement.cloneSurfacePlacement.currentPlacement.currentPtrPlacement.hasSurfacePlacement.initPlacement.resetPlacement.statusStorage.activateStorage.cloneCommandSurfaceStorage.cloneSurfaceStorage.currentStorage.deinitStorage.initStorage.statussurveyCommandSurfacesurveySurface
Types and contracts
Public types and contracts.
CapacityCloneErrorCommandUiColorCommandUiImageCommandUiImagePaintCommandUiLinearGradientCommandUiNodeCommandUiPaintCommandUiPointCommandUiRectCommandUiSurfaceCommandUiTextCommandUiTextRunCommandUiTextStyleDeriveErrorFactsLimitsPlacementPlacementStatusStorageStorage.CapacityStorage.ExhaustionStorage.InitErrorStorage.LimitsSurfaceSurveyError
Values and defaults
Public values and defaults.
Source
Source: lib/gui/src/surface/capacity.zig:50
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
pub const DeriveError = error{ InvalidNodeLimit, CapacityOverflow,};Source: lib/gui/src/surface/capacity.zig:10
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
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
pub const CommandUiColor = extern struct { r: u8, g: u8, b: u8, a: u8,};Source: lib/gui/src/surface/command.zig:170
pub const CommandUiImage = extern struct { width: u32, height: u32, pixels_ptr: ?[*]const u32, pixels_len: usize,};Source: lib/gui/src/surface/command.zig:50
pub const CommandUiImagePaint = extern struct { is_set: u8, index: u32, source: CommandUiRect, tint: CommandUiOptionalColor, opacity: u8,};Source: lib/gui/src/surface/command.zig:42
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
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
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
pub const CommandUiPoint = extern struct { x: f32, y: f32,};Source: lib/gui/src/surface/command.zig:35
pub const CommandUiRect = extern struct { x: f32, y: f32, width: f32, height: f32,};Source: lib/gui/src/surface/command.zig:177
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
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
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
pub const CommandUiTextStyle = extern struct { font_asset_id: u64, point_size: f64,};Source: lib/gui/src/surface/storage.zig:28
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
pub const PlacementStatus = struct { capacity: capacity_mod.Capacity, facts: capacity_mod.Facts, has_surface: bool,};Source: lib/gui/src/surface/storage.zig:396
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
pub const Error = error{ SurfaceTooDeep, SurfaceFactsOverflow, InvalidCommand,};Source: lib/gui/src/surface/types.zig:3
pub const Surface = struct { tree: *const gui.model.UiSurfaceTree, images: gui.model.UiImageSet = .{},};Source: lib/gui/src/surface/capacity.zig:42
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
pub const Exhaustion = survey.Error || error{SurfaceCapacityExceeded};Source: lib/gui/src/surface/survey.zig:26
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;}Source: lib/gui/src/surface/survey.zig:19
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;}Source: lib/gui/src/root.zig:10
pub const surface = @import("surface/root.zig");Source: lib/gui/src/surface/root.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
Complete caller list for surface.Storage.activate
8 direct callers.
lib.gui.src.surface.storage.test_surface_clone_command_survey_rejects_invalid_input_before_replacement[function] — test source atlib/gui/src/surface/storage.zig:755in nearest public ownerlib.gui.src.surface.storagelib.gui.src.surface.storage.test_surface_clone_maximum_placement_makes_no_backing_allocation[function] — test source atlib/gui/src/surface/storage.zig:1083in nearest public ownerlib.gui.src.surface.storagelib.gui.src.surface.storage.test_surface_clone_owns_image_descriptors_and_pixels_across_failed_replacement[function] — test source atlib/gui/src/surface/storage.zig:905in nearest public ownerlib.gui.src.surface.storagelib.gui.src.surface.storage.test_surface_clone_storage_owns_nested_surface_slices[function] — test source atlib/gui/src/surface/storage.zig:660in nearest public ownerlib.gui.src.surface.storagelib.gui.src.surface.storage.test_surface_clone_storage_rejects_max_plus_one_before_replacing_its_current_tree[function] — test source atlib/gui/src/surface/storage.zig:718in nearest public ownerlib.gui.src.surface.storagelib.gui.src.surface.storage.test_surface_command_decodes_linear_gradient_paint[function] — test source atlib/gui/src/surface/storage.zig:790in nearest public ownerlib.gui.src.surface.storagelib.gui.src.surface.storage.test_surface_command_owns_and_decodes_validated_text_runs[function] — test source atlib/gui/src/surface/storage.zig:826in nearest public ownerlib.gui.src.surface.storagelib.gui.src.surface.storage.test_surface_command_owns_image_pixels_and_normalizes_image_paint[function] — test source atlib/gui/src/surface/storage.zig:978in nearest public ownerlib.gui.src.surface.storage
Complete caller list for surface.Storage.deinit
10 direct callers.
lib.gui.src.surface.storage.checkInitFailures[function] — private source atlib/gui/src/surface/storage.zig:631in nearest public ownerlib.gui.src.surface.storagelib.gui.src.surface.storage.test_surface_clone_command_survey_rejects_invalid_input_before_replacement[function] — test source atlib/gui/src/surface/storage.zig:755in nearest public ownerlib.gui.src.surface.storagelib.gui.src.surface.storage.test_surface_clone_maximum_placement_makes_no_backing_allocation[function] — test source atlib/gui/src/surface/storage.zig:1083in nearest public ownerlib.gui.src.surface.storagelib.gui.src.surface.storage.test_surface_clone_owns_image_descriptors_and_pixels_across_failed_replacement[function] — test source atlib/gui/src/surface/storage.zig:905in nearest public ownerlib.gui.src.surface.storagelib.gui.src.surface.storage.test_surface_clone_storage_acquires_one_exact_aligned_region[function] — test source atlib/gui/src/surface/storage.zig:636in nearest public ownerlib.gui.src.surface.storagelib.gui.src.surface.storage.test_surface_clone_storage_owns_nested_surface_slices[function] — test source atlib/gui/src/surface/storage.zig:660in nearest public ownerlib.gui.src.surface.storagelib.gui.src.surface.storage.test_surface_clone_storage_rejects_max_plus_one_before_replacing_its_current_tree[function] — test source atlib/gui/src/surface/storage.zig:718in nearest public ownerlib.gui.src.surface.storagelib.gui.src.surface.storage.test_surface_command_decodes_linear_gradient_paint[function] — test source atlib/gui/src/surface/storage.zig:790in nearest public ownerlib.gui.src.surface.storagelib.gui.src.surface.storage.test_surface_command_owns_and_decodes_validated_text_runs[function] — test source atlib/gui/src/surface/storage.zig:826in nearest public ownerlib.gui.src.surface.storagelib.gui.src.surface.storage.test_surface_command_owns_image_pixels_and_normalizes_image_paint[function] — test source atlib/gui/src/surface/storage.zig:978in nearest public ownerlib.gui.src.surface.storage
Complete caller list for surface.Storage.init
10 direct callers.
lib.gui.src.surface.storage.checkInitFailures[function] — private source atlib/gui/src/surface/storage.zig:631in nearest public ownerlib.gui.src.surface.storagelib.gui.src.surface.storage.test_surface_clone_command_survey_rejects_invalid_input_before_replacement[function] — test source atlib/gui/src/surface/storage.zig:755in nearest public ownerlib.gui.src.surface.storagelib.gui.src.surface.storage.test_surface_clone_maximum_placement_makes_no_backing_allocation[function] — test source atlib/gui/src/surface/storage.zig:1083in nearest public ownerlib.gui.src.surface.storagelib.gui.src.surface.storage.test_surface_clone_owns_image_descriptors_and_pixels_across_failed_replacement[function] — test source atlib/gui/src/surface/storage.zig:905in nearest public ownerlib.gui.src.surface.storagelib.gui.src.surface.storage.test_surface_clone_storage_acquires_one_exact_aligned_region[function] — test source atlib/gui/src/surface/storage.zig:636in nearest public ownerlib.gui.src.surface.storagelib.gui.src.surface.storage.test_surface_clone_storage_owns_nested_surface_slices[function] — test source atlib/gui/src/surface/storage.zig:660in nearest public ownerlib.gui.src.surface.storagelib.gui.src.surface.storage.test_surface_clone_storage_rejects_max_plus_one_before_replacing_its_current_tree[function] — test source atlib/gui/src/surface/storage.zig:718in nearest public ownerlib.gui.src.surface.storagelib.gui.src.surface.storage.test_surface_command_decodes_linear_gradient_paint[function] — test source atlib/gui/src/surface/storage.zig:790in nearest public ownerlib.gui.src.surface.storagelib.gui.src.surface.storage.test_surface_command_owns_and_decodes_validated_text_runs[function] — test source atlib/gui/src/surface/storage.zig:826in nearest public ownerlib.gui.src.surface.storagelib.gui.src.surface.storage.test_surface_command_owns_image_pixels_and_normalizes_image_paint[function] — test source atlib/gui/src/surface/storage.zig:978in nearest public ownerlib.gui.src.surface.storage
Audit
| Definitions | 50 |
|---|---|
| Public names | 51 |
| Members | 130 |
| Version | 26.7.0 |
| Revision | daab053ee433 |