module Opal::UI

Overview

Reopen ScreenStack to enable direct screen buffer recording

Defined in:

opal/asciicast.cr
opal/game.cr
opal/gamepad.cr
opal/html.cr
opal/html/browser.cr
opal/image/protocols.cr
opal/mermaid.cr
opal/mermaid/viewer.cr
opal/ui/buffer.cr
opal/ui/cell.cr
opal/ui/components/ascii_image.cr
opal/ui/components/badge.cr
opal/ui/components/barchart.cr
opal/ui/components/binary_metrics.cr
opal/ui/components/box.cr
opal/ui/components/button.cr
opal/ui/components/canvas_2d.cr
opal/ui/components/character_grid.cr
opal/ui/components/checkbox.cr
opal/ui/components/code_view.cr
opal/ui/components/collapsible.cr
opal/ui/components/color_picker.cr
opal/ui/components/color_picker_3d.cr
opal/ui/components/command_palette.cr
opal/ui/components/content_switcher.cr
opal/ui/components/curve_editor.cr
opal/ui/components/digits.cr
opal/ui/components/dropdown.cr
opal/ui/components/equation_viewer.cr
opal/ui/components/file_dialog.cr
opal/ui/components/filter_list.cr
opal/ui/components/footer.cr
opal/ui/components/gauge.cr
opal/ui/components/group.cr
opal/ui/components/header.cr
opal/ui/components/hex_viewer.cr
opal/ui/components/input_remapper.cr
opal/ui/components/line_graph.cr
opal/ui/components/link.cr
opal/ui/components/loading_indicator.cr
opal/ui/components/mask.cr
opal/ui/components/mesh_3d.cr
opal/ui/components/meter.cr
opal/ui/components/modal.cr
opal/ui/components/palette.cr
opal/ui/components/pie_chart.cr
opal/ui/components/placeholder.cr
opal/ui/components/radio_set.cr
opal/ui/components/rich_log.cr
opal/ui/components/rule.cr
opal/ui/components/scissor.cr
opal/ui/components/scrollbar.cr
opal/ui/components/slider.cr
opal/ui/components/sparkline.cr
opal/ui/components/split_view.cr
opal/ui/components/stack.cr
opal/ui/components/switch.cr
opal/ui/components/table.cr
opal/ui/components/tabs.cr
opal/ui/components/target_selector_2d.cr
opal/ui/components/text.cr
opal/ui/components/toast.cr
opal/ui/components/tree.cr
opal/ui/components/viewport.cr
opal/ui/components/window.cr
opal/ui/control.cr
opal/ui/diff_renderer.cr
opal/ui/dsl.cr
opal/ui/dsl_methods.cr
opal/ui/element.cr
opal/ui/engine.cr
opal/ui/input_hookable.cr
opal/ui/layer.cr
opal/ui/layer_stack.cr
opal/ui/layouts/dock.cr
opal/ui/layouts/grid.cr
opal/ui/markdown/renderer.cr
opal/ui/mask.cr
opal/ui/query.cr
opal/ui/rect.cr
opal/ui/screen.cr
opal/ui/screen_stack.cr
opal/ui/themable.cr

Class Method Summary

Class Method Detail

def self.build(&) : Element #

Builds an element tree from a block.


[View source]
def self.dock(&) : DockContainer #

Creates and returns a DockContainer configured via DSL block


[View source]
def self.grid(columns : Array(GridTrack | Int32 | Float64 | String) = [GridTrack.fr(1.0)], rows : Array(GridTrack | Int32 | Float64 | String) = [GridTrack.fr(1.0)], gutter_x : Int32 = 1, gutter_y : Int32 = 0, &) : GridContainer #

Creates and returns a GridContainer configured via DSL block


[View source]
def self.hsplit(ratio : Float64 | Nil = 0.5, first_width : Int32 | Nil = nil, second_width : Int32 | Nil = nil, separator : Char | Nil = nil, separator_fg : Color | Symbol | String = Color.none, show_separator : Bool = true, &) : SplitView #

Creates and returns a horizontal SplitView configured via DSL block


[View source]
def self.modal_screen(name : String = "modal", title : String | Nil = nil, &) : ModalScreen #

Creates a ModalScreen with declarative root composed via Builder block


[View source]
def self.render(width : Int32 = 80, height : Int32 = 24, with_ansi : Bool = false, &) : String #

Builds and renders an element tree to a string buffer.


[View source]
def self.render_ansi(width : Int32 = 80, height : Int32 = 24, &) : String #

Builds and renders an element tree to an ANSI string (including colors and OSC 8 hyperlinks).


[View source]
def self.screen(name : String, title : String | Nil = nil, &) : Screen #

Creates a Screen with declarative root composed via Builder block


[View source]
def self.split_pane(direction : SplitDirection | Symbol | String = SplitDirection::Horizontal, ratio : Float64 | Nil = 0.5, first_size : Int32 | Nil = nil, second_size : Int32 | Nil = nil, min_first_size : Int32 | Nil = nil, max_first_size : Int32 | Nil = nil, separator : Char | Nil = nil, separator_fg : Color | Symbol | String = Color.none, focused_pane : Symbol = :first, show_separator : Bool = true, &) : SplitView #

Creates and returns a SplitView configured via DSL block


[View source]
def self.vsplit(ratio : Float64 | Nil = 0.5, first_height : Int32 | Nil = nil, second_height : Int32 | Nil = nil, separator : Char | Nil = nil, separator_fg : Color | Symbol | String = Color.none, show_separator : Bool = true, &) : SplitView #

Creates and returns a vertical SplitView configured via DSL block


[View source]