Skip to content

UI.Grid

Name Mandatory Description Default Type
⬅️ Input The value that will be passed to the Contents shards of the grid. Any
Output ➡️ The output of this shard will be its input. Any
Contents No The UI contents. none NoneShard[Shard]
Striped No Whether to alternate a subtle background color to every other row. false BoolVar(Bool)None
NumColumns No The number of columns in the grid. Setting this will allow the last column to expand to take up the rest of the space of the parent UI. none IntVar(Int)None
MinWidth No Minimum column width. none FloatVar(Float)
MaxWidth No Maximum column width. none FloatVar(Float)
Spacing No Spacing between columns/rows. none Float2Var(Float2)

Simple grid layout.

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
GFX.MainWindow(Contents: {
  ; Setup
  GFX.DrawQueue = ui-draw-queue
  GFX.UIPass(ui-draw-queue) >> render-steps

  ; UI
  UI({
    UI.CentralPanel({
      UI.Grid(Striped: true Contents: {
        "Col 1" | UI.Label
        "Col 2" | UI.Label
        "Col 3" | UI.Label
        UI.NextRow
        "Hello" | UI.Label
        "shards" | UI.Label
        "!" | UI.Label
        UI.NextRow
        "Lorem ipsum dolor sit amet" | UI.Label
        "consectetur adipiscing elit" | UI.Label
        "sed do eiusmod tempor" | UI.Label
      })
    })
  })

  UI.Render(ui-draw-queue)
  GFX.Render(Steps: render-steps)
})

[warning] Missing downlevel flags: DownlevelFlags(VERTEX_AND_INSTANCE_INDEX_RESPECTS_RESPECTIVE_FIRST_VALUE_IN_INDIRECT_DRAW)
The underlying API or device in use does not support enough features to be a fully compliant implementation of WebGPU. A subset of the features can still be used. If you are running this program on native and not in a browser and wish to limit the features you use to the supported subset, call Adapter::downlevel_properties or Device::downlevel_properties to get a listing of the features the current platform supports.
[warning] DownlevelCapabilities {
    flags: DownlevelFlags(
        COMPUTE_SHADERS | FRAGMENT_WRITABLE_STORAGE | INDIRECT_EXECUTION | BASE_VERTEX | READ_ONLY_DEPTH_STENCIL | NON_POWER_OF_TWO_MIPMAPPED_TEXTURES | CUBE_ARRAY_TEXTURES | COMPARISON_SAMPLERS | INDEPENDENT_BLEND | VERTEX_STORAGE | ANISOTROPIC_FILTERING | FRAGMENT_STORAGE | MULTISAMPLED_SHADING | DEPTH_TEXTURE_AND_BUFFER_COPIES | WEBGPU_TEXTURE_FORMAT_SUPPORT | BUFFER_BINDINGS_NOT_16_BYTE_ALIGNED | UNRESTRICTED_INDEX_BUFFER | FULL_DRAW_INDEX_UINT32 | DEPTH_BIAS_CLAMP | VIEW_FORMATS | UNRESTRICTED_EXTERNAL_TEXTURE_COPIES | SURFACE_VIEW_FORMATS | NONBLOCKING_QUERY_RESOLVE,
    ),
    limits: DownlevelLimits,
    shader_model: Sm5,
}
[warning] Context has 31 commandBuffers at release (0 released, 0 kept)
[warning] Context has 4 buffers at release (2 released, 4 kept)
[warning] Context has 5 textures at release (1 released, 5 kept)