Skip to content

UI.Window

Name Mandatory Description Default Type
⬅️ Input The value that will be passed to the Contents shards of the rendered window. Any
Output ➡️ The output of this shard will be its input. Any
Title No The window title displayed on the title bar. none StringVar(String)None
Contents No The UI contents. none NoneShard[Shard]
Position No Absolute position; or when anchor is set, relative offset. none Float2Var(Float2)
Anchor No Corner or center of the screen. none Anchor
MinWidth No The minimum width of the window. none FloatVar(Float)None
MinHeight No The minimum height of the window. none FloatVar(Float)None
MaxWidth No The maximum width of the window. none FloatVar(Float)None
MaxHeight No The maximum height of the window. none FloatVar(Float)None
FixedWidth No The fixed size of the window. overrides all other min/max sizes. none FloatVar(Float)None
FixedHeight No The fixed size of the window. overrides all other min/max sizes. none FloatVar(Float)None
Closed No When provided with a callback, this window will have a close button and call this when pressed. none NoneShard[Shard]
Flags No Window flags. none WindowFlags[WindowFlags]
ID No An optional ID value to make the window unique if the title name collides. none StringVar(String)None
Transparency No If not None, it sets the window's transparency level based on the alpha value. false FloatNone

Creates a floating window which can be dragged, closed, collapsed, and resized.

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
; This sample test file tests the usage of closable windows
GFX.MainWindow(
  Contents: {
    Once({
      GFX.DrawQueue >= ui-draw-queue
      GFX.UIPass(ui-draw-queue) >> render-steps
      true >= window-open
    })
    UI(
      UI.Window(
        Title: "Greetings"
        Flags: WindowFlags::NoCollapse
        Contents: {
          "Hello shards!" | 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 30 commandBuffers at release (0 released, 0 kept)
[warning] Context has 6 buffers at release (2 released, 6 kept)
[warning] Context has 5 textures at release (1 released, 5 kept)