moon_accesskit

    MoonBit port of Rust accesskit (common + consumer).

    accessibility
    a11y
    accesskit
    Download zip
    Author
    Version
    0.4.1
    License
    Apache-2.0
    Last updated
    4 hours ago
    Downloads
    18K

    Dependencies

    #MoonBit AccessKit

    This repository is a MoonBit port of the Rust accesskit crates:

    • Milky2018/moon_accesskit (common): data model + JSON codec
    • Milky2018/moon_accesskit/consumer (consumer): in-memory tree state, update application, and iterators

    Compatibility target:
    • Rust accesskit common crate: 0.24.0
    • Rust accesskit_consumer crate: 0.34.0
    • Git commit: 528fba56534d06551d8ce8c28cb444bd18ed1cfc (2026-02-02)

    This module is feature-complete for the declared common + consumer compatibility target above. It does not port platform adapter crates or runtime integrations. Before claiming parity with the latest upstream accesskit_consumer, check for newer upstream releases and compare them against this compatibility target.

    #Usage

    ///|
    test "build and JSON-encode a TreeUpdate" {
    let tree_id = @moon_accesskit.TreeId::root()
    let root = @moon_accesskit.NodeId::from_u64(1UL)
    let node = @moon_accesskit.Node(Button)
    node.set_label("OK")
    let update = @moon_accesskit.TreeUpdate(tree_id, root)
    update.set_tree(TreeInfo(root))
    update.push_node(root, node)
    let json = update.to_json()
    let roundtrip : @moon_accesskit.TreeUpdate = @json.from_json(json)
    @test.assert_eq(roundtrip.focus().to_u64(), 1UL)
    }

    #Consumer package

    The Milky2018/moon_accesskit/consumer package provides:

    • Tree / TreeState: apply TreeUpdates and query NodeRefs
    • DoubleEndedIter: lazily traverse children and siblings from either end
    • common_filter: a reference-compatible filter used by iterators
    • ChangeHandler: receive change callbacks when applying updates

    See the runnable example in cmd/consumer_demo.

    Consumer compatibility currently targets accesskit_consumer 0.34.0. Newer consumer releases may add APIs or behavior that still need to be ported. Consumer traversal methods return a shared-state DoubleEndedIter; calls to next and next_back may be interleaved, without Rust-style linear ownership.

    Run tools/parity/run.sh to execute shared consumer scenarios against both this module and the pinned Rust reference and compare their canonical observations.

    #JSON compatibility

    This port implements ToJson / @json.FromJson for TreeUpdate, ActionRequest, Node, geometry types, and related enums/structs.

    The JSON shape is designed to mirror Rust serde JSON (notably camelCase field names for structs and enum variant names).

    #Out of scope

    This repository does not include platform adapter crates such as accesskit_winit, accesskit_windows, accesskit_macos, accesskit_unix, accesskit_android, or accesskit_atspi_common.

    ActionHandler

    pub(open) trait ActionHandler {
    fn do_action(Self, ActionRequest) -> Unit
    }

    ActivationHandler

    pub(open) trait ActivationHandler {
    fn request_initial_tree(Self) -> TreeUpdate?
    }

    DeactivationHandler

    pub(open) trait DeactivationHandler {
    fn deactivate_accessibility(Self) -> Unit
    }

    Action

    pub(all) enum Action {
    Click
    Focus
    Blur
    Collapse
    Expand
    CustomAction
    Decrement
    Increment
    HideTooltip
    ShowTooltip
    ReplaceSelectedText
    ScrollDown
    ScrollLeft
    ScrollRight
    ScrollUp
    ScrollIntoView
    ScrollToPoint
    SetScrollOffset
    SetTextSelection
    SetSequentialFocusNavigationStartingPoint
    SetValue
    ShowContextMenu
    } derive(Eq,
    Debug
    )

    impl Show for Action
    impl ToJson for Action

    Action::equal

    fn Action::equal(Action, Action) -> Bool

    Action::index

    fn Action::index(self : Action) -> Int

    Action::mask

    fn Action::mask(self : Action) -> UInt

    Action::n

    fn Action::n(value : Int) -> Action?

    Action::not_equal

    fn Action::not_equal(x : Action, y : Action) -> Bool

    Action::output

    fn Action::output(self : Action, logger : &Logger) -> Unit

    Action::to_json

    fn Action::to_json(self : Action) -> Json

    Action::to_repr

    Action::to_string

    fn Action::to_string(self : Action) -> String

    ActionData

    pub(all) enum ActionData {
    CustomAction(Int)
    Value(String)
    NumericValue(Double)
    ScrollUnit(ScrollUnit)
    ScrollHint(ScrollHint)
    ScrollToPoint(Point)
    SetScrollOffset(Point)
    SetTextSelection(TextSelection)
    } derive(Eq,
    Debug
    )

    impl Show for ActionData

    ActionData::equal

    fn ActionData::equal(ActionData, ActionData) -> Bool

    ActionData::not_equal

    fn ActionData::not_equal(x : ActionData, y : ActionData) -> Bool

    ActionData::output

    fn ActionData::output(self : ActionData, logger : &Logger) -> Unit

    ActionData::to_json

    fn ActionData::to_json(self : ActionData) -> Json

    ActionData::to_string

    fn ActionData::to_string(self : ActionData) -> String

    ActionRequest

    pub(all) struct ActionRequest {
    // private fields
    }

    ActionRequest::ActionRequest

    fn ActionRequest::ActionRequest(action : Action, target_tree : TreeId, target_node : NodeId) -> ActionRequest

    ActionRequest::action

    fn ActionRequest::action(self : ActionRequest) -> Action

    ActionRequest::data

    ActionRequest::set_data

    fn ActionRequest::set_data(self : ActionRequest, data : ActionData) -> Unit

    ActionRequest::target_node

    fn ActionRequest::target_node(self : ActionRequest) -> NodeId

    ActionRequest::target_tree

    fn ActionRequest::target_tree(self : ActionRequest) -> TreeId

    ActionRequest::to_json

    fn ActionRequest::to_json(self : ActionRequest) -> Json

    Affine

    pub(all) struct Affine {
    a : Double
    b : Double
    c : Double
    d : Double
    e : Double
    f : Double
    } derive(Eq,
    Debug
    )

    impl Show for Affine
    impl ToJson for Affine

    Affine::Affine

    fn Affine::Affine(a : Double, b : Double, c : Double, d : Double, e : Double, f : Double) -> Affine

    Affine::as_coeffs

    fn Affine::as_coeffs(self : Affine) -> Array[Double]

    Affine::determinant

    fn Affine::determinant(self : Affine) -> Double

    Affine::equal

    fn Affine::equal(Affine, Affine) -> Bool

    Affine::flip_x

    fn Affine::flip_x() -> Affine

    Affine::flip_y

    fn Affine::flip_y() -> Affine

    Affine::identity

    fn Affine::identity() -> Affine

    Affine::inverse

    fn Affine::inverse(self : Affine) -> Affine

    Affine::is_finite

    fn Affine::is_finite(self : Affine) -> Bool

    Affine::is_nan

    fn Affine::is_nan(self : Affine) -> Bool

    Affine::map_unit_square

    fn Affine::map_unit_square(rect : Rect) -> Affine

    Affine::mul

    fn Affine::mul(self : Affine, other : Affine) -> Affine

    Affine::not_equal

    fn Affine::not_equal(x : Affine, y : Affine) -> Bool

    Affine::output

    fn Affine::output(self : Affine, logger : &Logger) -> Unit

    Affine::scale

    fn Affine::scale(s : Double) -> Affine

    Affine::scale_non_uniform

    fn Affine::scale_non_uniform(sx : Double, sy : Double) -> Affine

    Affine::to_json

    fn Affine::to_json(self : Affine) -> Json

    Affine::to_repr

    Affine::to_string

    fn Affine::to_string(self : Affine) -> String

    Affine::transform_point

    fn Affine::transform_point(self : Affine, other : Point) -> Point

    Affine::transform_rect_bbox

    fn Affine::transform_rect_bbox(self : Affine, rect : Rect) -> Rect

    Affine::translate

    fn Affine::translate(v : Vec2) -> Affine

    AriaCurrent

    pub(all) enum AriaCurrent {
    False
    True
    Page
    Step
    Location
    Date
    Time
    } derive(Eq,
    Debug
    )

    impl Show for AriaCurrent

    AriaCurrent::equal

    fn AriaCurrent::equal(AriaCurrent, AriaCurrent) -> Bool

    AriaCurrent::not_equal

    fn AriaCurrent::not_equal(x : AriaCurrent, y : AriaCurrent) -> Bool

    AriaCurrent::output

    fn AriaCurrent::output(self : AriaCurrent, logger : &Logger) -> Unit

    AriaCurrent::to_json

    fn AriaCurrent::to_json(self : AriaCurrent) -> Json

    AriaCurrent::to_string

    fn AriaCurrent::to_string(self : AriaCurrent) -> String

    AutoComplete

    pub(all) enum AutoComplete {
    Inline
    List
    Both
    } derive(Eq,
    Debug
    )

    AutoComplete::equal

    AutoComplete::not_equal

    fn AutoComplete::not_equal(x : AutoComplete, y : AutoComplete) -> Bool

    AutoComplete::output

    fn AutoComplete::output(self : AutoComplete, logger : &Logger) -> Unit

    AutoComplete::to_json

    fn AutoComplete::to_json(self : AutoComplete) -> Json

    AutoComplete::to_string

    fn AutoComplete::to_string(self : AutoComplete) -> String

    Color

    pub(all) struct Color {
    red : Byte
    green : Byte
    blue : Byte
    alpha : Byte
    } derive(Eq,
    Debug
    )

    impl Show for Color
    impl ToJson for Color

    Color::Color

    fn Color::Color(red : Byte, green : Byte, blue : Byte, alpha : Byte) -> Color

    Color::equal

    fn Color::equal(Color, Color) -> Bool

    Color::not_equal

    fn Color::not_equal(x : Color, y : Color) -> Bool

    Color::output

    fn Color::output(self : Color, logger : &Logger) -> Unit

    Color::to_json

    fn Color::to_json(self : Color) -> Json

    Color::to_repr

    Color::to_string

    fn Color::to_string(self : Color) -> String

    CustomAction

    pub(all) struct CustomAction {
    id : Int
    description : String
    } derive(Eq,
    Debug
    )

    CustomAction::CustomAction

    fn CustomAction::CustomAction(id : Int, description : String) -> CustomAction

    CustomAction::debug

    fn CustomAction::debug(self : CustomAction) -> String

    CustomAction::equal

    CustomAction::not_equal

    fn CustomAction::not_equal(x : CustomAction, y : CustomAction) -> Bool

    CustomAction::output

    fn CustomAction::output(self : CustomAction, logger : &Logger) -> Unit

    CustomAction::to_json

    fn CustomAction::to_json(self : CustomAction) -> Json

    CustomAction::to_string

    fn CustomAction::to_string(self : CustomAction) -> String

    HasPopup

    pub(all) enum HasPopup {
    Menu
    Listbox
    Tree
    Grid
    Dialog
    } derive(Eq,
    Debug
    )

    impl Show for HasPopup
    impl ToJson for HasPopup

    HasPopup::equal

    fn HasPopup::equal(HasPopup, HasPopup) -> Bool

    HasPopup::not_equal

    fn HasPopup::not_equal(x : HasPopup, y : HasPopup) -> Bool

    HasPopup::output

    fn HasPopup::output(self : HasPopup, logger : &Logger) -> Unit

    HasPopup::to_json

    fn HasPopup::to_json(self : HasPopup) -> Json

    HasPopup::to_repr

    HasPopup::to_string

    fn HasPopup::to_string(self : HasPopup) -> String

    Invalid

    pub(all) enum Invalid {
    True
    Grammar
    Spelling
    } derive(Eq,
    Debug
    )

    impl Show for Invalid
    impl ToJson for Invalid

    Invalid::equal

    fn Invalid::equal(Invalid, Invalid) -> Bool

    Invalid::not_equal

    fn Invalid::not_equal(x : Invalid, y : Invalid) -> Bool

    Invalid::output

    fn Invalid::output(self : Invalid, logger : &Logger) -> Unit

    Invalid::to_json

    fn Invalid::to_json(self : Invalid) -> Json

    Invalid::to_repr

    Invalid::to_string

    fn Invalid::to_string(self : Invalid) -> String

    ListStyle

    pub(all) enum ListStyle {
    Circle
    Disc
    Image
    Numeric
    Square
    Other
    } derive(Eq,
    Debug
    )

    impl Show for ListStyle
    impl ToJson for ListStyle

    ListStyle::equal

    fn ListStyle::equal(ListStyle, ListStyle) -> Bool

    ListStyle::not_equal

    fn ListStyle::not_equal(x : ListStyle, y : ListStyle) -> Bool

    ListStyle::output

    fn ListStyle::output(self : ListStyle, logger : &Logger) -> Unit

    ListStyle::to_json

    fn ListStyle::to_json(self : ListStyle) -> Json

    ListStyle::to_string

    fn ListStyle::to_string(self : ListStyle) -> String

    Live

    pub(all) enum Live {
    Off
    Polite
    Assertive
    } derive(Eq,
    Debug
    )

    impl Show for Live
    impl ToJson for Live

    Live::equal

    fn Live::equal(Live, Live) -> Bool

    Live::not_equal

    fn Live::not_equal(x : Live, y : Live) -> Bool

    Live::output

    fn Live::output(self : Live, logger : &Logger) -> Unit

    Live::to_json

    fn Live::to_json(self : Live) -> Json

    Live::to_repr

    Live::to_string

    fn Live::to_string(self : Live) -> String

    Node

    pub(all) struct Node {
    // private fields
    }

    impl ToJson for Node

    Node::Node

    fn Node::Node(role : Role) -> Node

    Node::access_key

    fn Node::access_key(self : Node) -> String?

    Node::actions_mask

    fn Node::actions_mask(self : Node) -> UInt

    Node::active_descendant

    fn Node::active_descendant(self : Node) -> NodeId?

    Node::add_action

    fn Node::add_action(self : Node, action : Action) -> Unit

    Node::add_child_action

    fn Node::add_child_action(self : Node, action : Action) -> Unit

    Node::aria_current

    fn Node::aria_current(self : Node) -> AriaCurrent?

    Node::author_id

    fn Node::author_id(self : Node) -> String?

    Node::auto_complete

    fn Node::auto_complete(self : Node) -> AutoComplete?

    Node::background_color

    fn Node::background_color(self : Node) -> Color?

    Node::bounds

    fn Node::bounds(self : Node) -> Rect?

    Node::braille_label

    fn Node::braille_label(self : Node) -> String?

    Node::braille_role_description

    fn Node::braille_role_description(self : Node) -> String?

    Node::character_lengths

    fn Node::character_lengths(self : Node) -> Array[Int]

    Node::character_positions

    fn Node::character_positions(self : Node) -> Array[Float]?

    Node::character_widths

    fn Node::character_widths(self : Node) -> Array[Float]?

    Node::child_actions_mask

    fn Node::child_actions_mask(self : Node) -> UInt

    Node::child_supports_action

    fn Node::child_supports_action(self : Node, action : Action) -> Bool

    Node::children

    fn Node::children(self : Node) -> Array[NodeId]

    Node::class_name

    fn Node::class_name(self : Node) -> String?

    Node::clear_access_key

    fn Node::clear_access_key(self : Node) -> Unit

    Node::clear_actions

    fn Node::clear_actions(self : Node) -> Unit

    Node::clear_active_descendant

    fn Node::clear_active_descendant(self : Node) -> Unit

    Node::clear_aria_current

    fn Node::clear_aria_current(self : Node) -> Unit

    Node::clear_author_id

    fn Node::clear_author_id(self : Node) -> Unit

    Node::clear_auto_complete

    fn Node::clear_auto_complete(self : Node) -> Unit

    Node::clear_background_color

    fn Node::clear_background_color(self : Node) -> Unit

    Node::clear_bounds

    fn Node::clear_bounds(self : Node) -> Unit

    Node::clear_braille_label

    fn Node::clear_braille_label(self : Node) -> Unit

    Node::clear_braille_role_description

    fn Node::clear_braille_role_description(self : Node) -> Unit

    Node::clear_busy

    fn Node::clear_busy(self : Node) -> Unit

    Node::clear_character_lengths

    fn Node::clear_character_lengths(self : Node) -> Unit

    Node::clear_character_positions

    fn Node::clear_character_positions(self : Node) -> Unit

    Node::clear_character_widths

    fn Node::clear_character_widths(self : Node) -> Unit

    Node::clear_child_actions

    fn Node::clear_child_actions(self : Node) -> Unit

    Node::clear_children

    fn Node::clear_children(self : Node) -> Unit

    Node::clear_class_name

    fn Node::clear_class_name(self : Node) -> Unit

    Node::clear_clips_children

    fn Node::clear_clips_children(self : Node) -> Unit

    Node::clear_color_value

    fn Node::clear_color_value(self : Node) -> Unit

    Node::clear_column_count

    fn Node::clear_column_count(self : Node) -> Unit

    Node::clear_column_index

    fn Node::clear_column_index(self : Node) -> Unit

    Node::clear_column_index_text

    fn Node::clear_column_index_text(self : Node) -> Unit

    Node::clear_column_span

    fn Node::clear_column_span(self : Node) -> Unit

    Node::clear_controls

    fn Node::clear_controls(self : Node) -> Unit

    Node::clear_custom_actions

    fn Node::clear_custom_actions(self : Node) -> Unit

    Node::clear_described_by

    fn Node::clear_described_by(self : Node) -> Unit

    Node::clear_description

    fn Node::clear_description(self : Node) -> Unit

    Node::clear_details

    fn Node::clear_details(self : Node) -> Unit

    Node::clear_disabled

    fn Node::clear_disabled(self : Node) -> Unit

    Node::clear_error_message

    fn Node::clear_error_message(self : Node) -> Unit

    Node::clear_expanded

    fn Node::clear_expanded(self : Node) -> Unit

    Node::clear_flow_to

    fn Node::clear_flow_to(self : Node) -> Unit

    Node::clear_font_family

    fn Node::clear_font_family(self : Node) -> Unit

    Node::clear_font_size

    fn Node::clear_font_size(self : Node) -> Unit

    Node::clear_font_weight

    fn Node::clear_font_weight(self : Node) -> Unit

    Node::clear_foreground_color

    fn Node::clear_foreground_color(self : Node) -> Unit

    Node::clear_has_popup

    fn Node::clear_has_popup(self : Node) -> Unit

    Node::clear_hidden

    fn Node::clear_hidden(self : Node) -> Unit

    Node::clear_html_tag

    fn Node::clear_html_tag(self : Node) -> Unit

    fn Node::clear_in_page_link_target(self : Node) -> Unit

    Node::clear_inner_html

    fn Node::clear_inner_html(self : Node) -> Unit

    Node::clear_invalid

    fn Node::clear_invalid(self : Node) -> Unit

    Node::clear_is_grammar_error

    fn Node::clear_is_grammar_error(self : Node) -> Unit

    Node::clear_is_line_breaking_object

    fn Node::clear_is_line_breaking_object(self : Node) -> Unit

    Node::clear_is_page_breaking_object

    fn Node::clear_is_page_breaking_object(self : Node) -> Unit

    Node::clear_is_search_match

    fn Node::clear_is_search_match(self : Node) -> Unit

    Node::clear_is_spelling_error

    fn Node::clear_is_spelling_error(self : Node) -> Unit

    Node::clear_is_suggestion

    fn Node::clear_is_suggestion(self : Node) -> Unit

    Node::clear_italic

    fn Node::clear_italic(self : Node) -> Unit

    Node::clear_keyboard_shortcut

    fn Node::clear_keyboard_shortcut(self : Node) -> Unit

    Node::clear_label

    fn Node::clear_label(self : Node) -> Unit

    Node::clear_labelled_by

    fn Node::clear_labelled_by(self : Node) -> Unit

    Node::clear_language

    fn Node::clear_language(self : Node) -> Unit

    Node::clear_level

    fn Node::clear_level(self : Node) -> Unit

    Node::clear_list_style

    fn Node::clear_list_style(self : Node) -> Unit

    Node::clear_live

    fn Node::clear_live(self : Node) -> Unit

    Node::clear_live_atomic

    fn Node::clear_live_atomic(self : Node) -> Unit

    Node::clear_max_numeric_value

    fn Node::clear_max_numeric_value(self : Node) -> Unit

    Node::clear_member_of

    fn Node::clear_member_of(self : Node) -> Unit

    Node::clear_min_numeric_value

    fn Node::clear_min_numeric_value(self : Node) -> Unit

    Node::clear_modal

    fn Node::clear_modal(self : Node) -> Unit

    Node::clear_multiselectable

    fn Node::clear_multiselectable(self : Node) -> Unit

    Node::clear_next_on_line

    fn Node::clear_next_on_line(self : Node) -> Unit

    Node::clear_numeric_value

    fn Node::clear_numeric_value(self : Node) -> Unit

    Node::clear_numeric_value_jump

    fn Node::clear_numeric_value_jump(self : Node) -> Unit

    Node::clear_numeric_value_step

    fn Node::clear_numeric_value_step(self : Node) -> Unit

    Node::clear_orientation

    fn Node::clear_orientation(self : Node) -> Unit

    Node::clear_overline

    fn Node::clear_overline(self : Node) -> Unit

    Node::clear_owns

    fn Node::clear_owns(self : Node) -> Unit

    Node::clear_placeholder

    fn Node::clear_placeholder(self : Node) -> Unit

    Node::clear_popup_for

    fn Node::clear_popup_for(self : Node) -> Unit

    Node::clear_position_in_set

    fn Node::clear_position_in_set(self : Node) -> Unit

    Node::clear_previous_on_line

    fn Node::clear_previous_on_line(self : Node) -> Unit

    Node::clear_radio_group

    fn Node::clear_radio_group(self : Node) -> Unit

    Node::clear_read_only

    fn Node::clear_read_only(self : Node) -> Unit

    Node::clear_required

    fn Node::clear_required(self : Node) -> Unit

    Node::clear_role_description

    fn Node::clear_role_description(self : Node) -> Unit

    Node::clear_row_count

    fn Node::clear_row_count(self : Node) -> Unit

    Node::clear_row_index

    fn Node::clear_row_index(self : Node) -> Unit

    Node::clear_row_index_text

    fn Node::clear_row_index_text(self : Node) -> Unit

    Node::clear_row_span

    fn Node::clear_row_span(self : Node) -> Unit

    Node::clear_scroll_x

    fn Node::clear_scroll_x(self : Node) -> Unit

    Node::clear_scroll_x_max

    fn Node::clear_scroll_x_max(self : Node) -> Unit

    Node::clear_scroll_x_min

    fn Node::clear_scroll_x_min(self : Node) -> Unit

    Node::clear_scroll_y

    fn Node::clear_scroll_y(self : Node) -> Unit

    Node::clear_scroll_y_max

    fn Node::clear_scroll_y_max(self : Node) -> Unit

    Node::clear_scroll_y_min

    fn Node::clear_scroll_y_min(self : Node) -> Unit

    Node::clear_selected

    fn Node::clear_selected(self : Node) -> Unit

    Node::clear_size_of_set

    fn Node::clear_size_of_set(self : Node) -> Unit

    Node::clear_sort_direction

    fn Node::clear_sort_direction(self : Node) -> Unit

    Node::clear_state_description

    fn Node::clear_state_description(self : Node) -> Unit

    Node::clear_strikethrough

    fn Node::clear_strikethrough(self : Node) -> Unit

    Node::clear_text_align

    fn Node::clear_text_align(self : Node) -> Unit

    Node::clear_text_direction

    fn Node::clear_text_direction(self : Node) -> Unit

    Node::clear_text_selection

    fn Node::clear_text_selection(self : Node) -> Unit

    Node::clear_toggled

    fn Node::clear_toggled(self : Node) -> Unit

    Node::clear_tooltip

    fn Node::clear_tooltip(self : Node) -> Unit

    Node::clear_touch_transparent

    fn Node::clear_touch_transparent(self : Node) -> Unit

    Node::clear_transform

    fn Node::clear_transform(self : Node) -> Unit

    Node::clear_tree_id

    fn Node::clear_tree_id(self : Node) -> Unit

    Node::clear_underline

    fn Node::clear_underline(self : Node) -> Unit

    Node::clear_url

    fn Node::clear_url(self : Node) -> Unit

    Node::clear_value

    fn Node::clear_value(self : Node) -> Unit

    Node::clear_vertical_offset

    fn Node::clear_vertical_offset(self : Node) -> Unit

    Node::clear_visited

    fn Node::clear_visited(self : Node) -> Unit

    Node::clear_word_starts

    fn Node::clear_word_starts(self : Node) -> Unit

    Node::clips_children

    fn Node::clips_children(self : Node) -> Bool

    Node::color_value

    fn Node::color_value(self : Node) -> Color?

    Node::column_count

    fn Node::column_count(self : Node) -> Int?

    Node::column_index

    fn Node::column_index(self : Node) -> Int?

    Node::column_index_text

    fn Node::column_index_text(self : Node) -> String?

    Node::column_span

    fn Node::column_span(self : Node) -> Int?

    Node::controls

    fn Node::controls(self : Node) -> Array[NodeId]

    Node::custom_actions

    fn Node::custom_actions(self : Node) -> Array[CustomAction]

    Node::debug

    fn Node::debug(self : Node) -> String

    Node::described_by

    fn Node::described_by(self : Node) -> Array[NodeId]

    Node::description

    fn Node::description(self : Node) -> String?

    Node::details

    fn Node::details(self : Node) -> Array[NodeId]

    Node::error_message

    fn Node::error_message(self : Node) -> NodeId?

    Node::flow_to

    fn Node::flow_to(self : Node) -> Array[NodeId]

    Node::font_family

    fn Node::font_family(self : Node) -> String?

    Node::font_size

    fn Node::font_size(self : Node) -> Float?

    Node::font_weight

    fn Node::font_weight(self : Node) -> Float?

    Node::foreground_color

    fn Node::foreground_color(self : Node) -> Color?

    Node::has_popup

    fn Node::has_popup(self : Node) -> HasPopup?

    Node::html_tag

    fn Node::html_tag(self : Node) -> String?

    fn Node::in_page_link_target(self : Node) -> NodeId?

    Node::inner_html

    fn Node::inner_html(self : Node) -> String?

    Node::invalid

    fn Node::invalid(self : Node) -> Invalid?

    Node::is_busy

    fn Node::is_busy(self : Node) -> Bool

    Node::is_disabled

    fn Node::is_disabled(self : Node) -> Bool

    Node::is_expanded

    fn Node::is_expanded(self : Node) -> Bool?

    Node::is_grammar_error

    fn Node::is_grammar_error(self : Node) -> Bool

    Node::is_hidden

    fn Node::is_hidden(self : Node) -> Bool

    Node::is_italic

    fn Node::is_italic(self : Node) -> Bool

    Node::is_line_breaking_object

    fn Node::is_line_breaking_object(self : Node) -> Bool

    Node::is_live_atomic

    fn Node::is_live_atomic(self : Node) -> Bool

    Node::is_modal

    fn Node::is_modal(self : Node) -> Bool

    Node::is_multiselectable

    fn Node::is_multiselectable(self : Node) -> Bool

    Node::is_page_breaking_object

    fn Node::is_page_breaking_object(self : Node) -> Bool

    Node::is_read_only

    fn Node::is_read_only(self : Node) -> Bool

    Node::is_required

    fn Node::is_required(self : Node) -> Bool

    Node::is_search_match

    fn Node::is_search_match(self : Node) -> Bool

    Node::is_selected

    fn Node::is_selected(self : Node) -> Bool?

    Node::is_spelling_error

    fn Node::is_spelling_error(self : Node) -> Bool

    Node::is_suggestion

    fn Node::is_suggestion(self : Node) -> Bool

    Node::is_touch_transparent

    fn Node::is_touch_transparent(self : Node) -> Bool

    Node::is_visited

    fn Node::is_visited(self : Node) -> Bool

    Node::keyboard_shortcut

    fn Node::keyboard_shortcut(self : Node) -> String?

    Node::label

    fn Node::label(self : Node) -> String?

    Node::labelled_by

    fn Node::labelled_by(self : Node) -> Array[NodeId]

    Node::language

    fn Node::language(self : Node) -> String?

    Node::level

    fn Node::level(self : Node) -> Int?

    Node::list_style

    fn Node::list_style(self : Node) -> ListStyle?

    Node::live

    fn Node::live(self : Node) -> Live?

    Node::max_numeric_value

    fn Node::max_numeric_value(self : Node) -> Double?

    Node::member_of

    fn Node::member_of(self : Node) -> NodeId?

    Node::min_numeric_value

    fn Node::min_numeric_value(self : Node) -> Double?

    Node::next_on_line

    fn Node::next_on_line(self : Node) -> NodeId?

    Node::numeric_value

    fn Node::numeric_value(self : Node) -> Double?

    Node::numeric_value_jump

    fn Node::numeric_value_jump(self : Node) -> Double?

    Node::numeric_value_step

    fn Node::numeric_value_step(self : Node) -> Double?

    Node::orientation

    fn Node::orientation(self : Node) -> Orientation?

    Node::overline

    fn Node::overline(self : Node) -> TextDecoration?

    Node::owns

    fn Node::owns(self : Node) -> Array[NodeId]

    Node::placeholder

    fn Node::placeholder(self : Node) -> String?

    Node::popup_for

    fn Node::popup_for(self : Node) -> NodeId?

    Node::position_in_set

    fn Node::position_in_set(self : Node) -> Int?

    Node::previous_on_line

    fn Node::previous_on_line(self : Node) -> NodeId?

    Node::push_child

    fn Node::push_child(self : Node, child : NodeId) -> Unit

    Node::push_controlled

    fn Node::push_controlled(self : Node, node_id : NodeId) -> Unit

    Node::push_custom_action

    fn Node::push_custom_action(self : Node, action : CustomAction) -> Unit

    Node::push_described_by

    fn Node::push_described_by(self : Node, node_id : NodeId) -> Unit

    Node::push_detail

    fn Node::push_detail(self : Node, node_id : NodeId) -> Unit

    Node::push_flow_to

    fn Node::push_flow_to(self : Node, node_id : NodeId) -> Unit

    Node::push_labelled_by

    fn Node::push_labelled_by(self : Node, node_id : NodeId) -> Unit

    Node::push_owned

    fn Node::push_owned(self : Node, node_id : NodeId) -> Unit

    Node::push_to_radio_group

    fn Node::push_to_radio_group(self : Node, node_id : NodeId) -> Unit

    Node::radio_group

    fn Node::radio_group(self : Node) -> Array[NodeId]

    Node::remove_action

    fn Node::remove_action(self : Node, action : Action) -> Unit

    Node::remove_child_action

    fn Node::remove_child_action(self : Node, action : Action) -> Unit

    Node::role

    fn Node::role(self : Node) -> Role

    Node::role_description

    fn Node::role_description(self : Node) -> String?

    Node::row_count

    fn Node::row_count(self : Node) -> Int?

    Node::row_index

    fn Node::row_index(self : Node) -> Int?

    Node::row_index_text

    fn Node::row_index_text(self : Node) -> String?

    Node::row_span

    fn Node::row_span(self : Node) -> Int?

    Node::scroll_x

    fn Node::scroll_x(self : Node) -> Double?

    Node::scroll_x_max

    fn Node::scroll_x_max(self : Node) -> Double?

    Node::scroll_x_min

    fn Node::scroll_x_min(self : Node) -> Double?

    Node::scroll_y

    fn Node::scroll_y(self : Node) -> Double?

    Node::scroll_y_max

    fn Node::scroll_y_max(self : Node) -> Double?

    Node::scroll_y_min

    fn Node::scroll_y_min(self : Node) -> Double?

    Node::set_access_key

    fn Node::set_access_key(self : Node, access_key : String) -> Unit

    Node::set_active_descendant

    fn Node::set_active_descendant(self : Node, id : NodeId) -> Unit

    Node::set_aria_current

    fn Node::set_aria_current(self : Node, value : AriaCurrent) -> Unit

    Node::set_author_id

    fn Node::set_author_id(self : Node, author_id : String) -> Unit

    Node::set_auto_complete

    fn Node::set_auto_complete(self : Node, value : AutoComplete) -> Unit

    Node::set_background_color

    fn Node::set_background_color(self : Node, color : Color) -> Unit

    Node::set_bounds

    fn Node::set_bounds(self : Node, value : Rect) -> Unit

    Node::set_braille_label

    fn Node::set_braille_label(self : Node, braille_label : String) -> Unit

    Node::set_braille_role_description

    fn Node::set_braille_role_description(self : Node, braille_role_description : String) -> Unit

    Node::set_busy

    fn Node::set_busy(self : Node) -> Unit

    Node::set_character_lengths

    fn Node::set_character_lengths(self : Node, value : Array[Int]) -> Unit

    Node::set_character_positions

    fn Node::set_character_positions(self : Node, value : Array[Float]) -> Unit

    Node::set_character_widths

    fn Node::set_character_widths(self : Node, value : Array[Float]) -> Unit

    Node::set_children

    fn Node::set_children(self : Node, children : Array[NodeId]) -> Unit

    Node::set_class_name

    fn Node::set_class_name(self : Node, class_name : String) -> Unit

    Node::set_clips_children

    fn Node::set_clips_children(self : Node) -> Unit

    Node::set_color_value

    fn Node::set_color_value(self : Node, color : Color) -> Unit

    Node::set_column_count

    fn Node::set_column_count(self : Node, value : Int) -> Unit

    Node::set_column_index

    fn Node::set_column_index(self : Node, value : Int) -> Unit

    Node::set_column_index_text

    fn Node::set_column_index_text(self : Node, column_index_text : String) -> Unit

    Node::set_column_span

    fn Node::set_column_span(self : Node, value : Int) -> Unit

    Node::set_controls

    fn Node::set_controls(self : Node, controls : Array[NodeId]) -> Unit

    Node::set_custom_actions

    fn Node::set_custom_actions(self : Node, value : Array[CustomAction]) -> Unit

    Node::set_described_by

    fn Node::set_described_by(self : Node, described_by : Array[NodeId]) -> Unit

    Node::set_description

    fn Node::set_description(self : Node, description : String) -> Unit

    Node::set_details

    fn Node::set_details(self : Node, details : Array[NodeId]) -> Unit

    Node::set_disabled

    fn Node::set_disabled(self : Node) -> Unit

    Node::set_error_message

    fn Node::set_error_message(self : Node, id : NodeId) -> Unit

    Node::set_expanded

    fn Node::set_expanded(self : Node, value : Bool) -> Unit

    Node::set_flow_to

    fn Node::set_flow_to(self : Node, flow_to : Array[NodeId]) -> Unit

    Node::set_font_family

    fn Node::set_font_family(self : Node, font_family : String) -> Unit

    Node::set_font_size

    fn Node::set_font_size(self : Node, value : Float) -> Unit

    Node::set_font_weight

    fn Node::set_font_weight(self : Node, value : Float) -> Unit

    Node::set_foreground_color

    fn Node::set_foreground_color(self : Node, color : Color) -> Unit

    Node::set_has_popup

    fn Node::set_has_popup(self : Node, value : HasPopup) -> Unit

    Node::set_hidden

    fn Node::set_hidden(self : Node) -> Unit

    Node::set_html_tag

    fn Node::set_html_tag(self : Node, html_tag : String) -> Unit

    fn Node::set_in_page_link_target(self : Node, id : NodeId) -> Unit

    Node::set_inner_html

    fn Node::set_inner_html(self : Node, inner_html : String) -> Unit

    Node::set_invalid

    fn Node::set_invalid(self : Node, value : Invalid) -> Unit

    Node::set_is_grammar_error

    fn Node::set_is_grammar_error(self : Node) -> Unit

    Node::set_is_line_breaking_object

    fn Node::set_is_line_breaking_object(self : Node) -> Unit

    Node::set_is_page_breaking_object

    fn Node::set_is_page_breaking_object(self : Node) -> Unit

    Node::set_is_search_match

    fn Node::set_is_search_match(self : Node) -> Unit

    Node::set_is_spelling_error

    fn Node::set_is_spelling_error(self : Node) -> Unit

    Node::set_is_suggestion

    fn Node::set_is_suggestion(self : Node) -> Unit

    Node::set_italic

    fn Node::set_italic(self : Node) -> Unit

    Node::set_keyboard_shortcut

    fn Node::set_keyboard_shortcut(self : Node, keyboard_shortcut : String) -> Unit

    Node::set_label

    fn Node::set_label(self : Node, label : String) -> Unit

    Node::set_labelled_by

    fn Node::set_labelled_by(self : Node, labelled_by : Array[NodeId]) -> Unit

    Node::set_language

    fn Node::set_language(self : Node, language : String) -> Unit

    Node::set_level

    fn Node::set_level(self : Node, value : Int) -> Unit

    Node::set_list_style

    fn Node::set_list_style(self : Node, value : ListStyle) -> Unit

    Node::set_live

    fn Node::set_live(self : Node, value : Live) -> Unit

    Node::set_live_atomic

    fn Node::set_live_atomic(self : Node) -> Unit

    Node::set_max_numeric_value

    fn Node::set_max_numeric_value(self : Node, value : Double) -> Unit

    Node::set_member_of

    fn Node::set_member_of(self : Node, id : NodeId) -> Unit

    Node::set_min_numeric_value

    fn Node::set_min_numeric_value(self : Node, value : Double) -> Unit

    Node::set_modal

    fn Node::set_modal(self : Node) -> Unit

    Node::set_multiselectable

    fn Node::set_multiselectable(self : Node) -> Unit

    Node::set_next_on_line

    fn Node::set_next_on_line(self : Node, id : NodeId) -> Unit

    Node::set_numeric_value

    fn Node::set_numeric_value(self : Node, value : Double) -> Unit

    Node::set_numeric_value_jump

    fn Node::set_numeric_value_jump(self : Node, value : Double) -> Unit

    Node::set_numeric_value_step

    fn Node::set_numeric_value_step(self : Node, value : Double) -> Unit

    Node::set_orientation

    fn Node::set_orientation(self : Node, value : Orientation) -> Unit

    Node::set_overline

    fn Node::set_overline(self : Node, decoration : TextDecoration) -> Unit

    Node::set_owns

    fn Node::set_owns(self : Node, owns : Array[NodeId]) -> Unit

    Node::set_placeholder

    fn Node::set_placeholder(self : Node, placeholder : String) -> Unit

    Node::set_popup_for

    fn Node::set_popup_for(self : Node, id : NodeId) -> Unit

    Node::set_position_in_set

    fn Node::set_position_in_set(self : Node, value : Int) -> Unit

    Node::set_previous_on_line

    fn Node::set_previous_on_line(self : Node, id : NodeId) -> Unit

    Node::set_radio_group

    fn Node::set_radio_group(self : Node, radio_group : Array[NodeId]) -> Unit

    Node::set_read_only

    fn Node::set_read_only(self : Node) -> Unit

    Node::set_required

    fn Node::set_required(self : Node) -> Unit

    Node::set_role

    fn Node::set_role(self : Node, role : Role) -> Unit

    Node::set_role_description

    fn Node::set_role_description(self : Node, role_description : String) -> Unit

    Node::set_row_count

    fn Node::set_row_count(self : Node, value : Int) -> Unit

    Node::set_row_index

    fn Node::set_row_index(self : Node, value : Int) -> Unit

    Node::set_row_index_text

    fn Node::set_row_index_text(self : Node, row_index_text : String) -> Unit

    Node::set_row_span

    fn Node::set_row_span(self : Node, value : Int) -> Unit

    Node::set_scroll_x

    fn Node::set_scroll_x(self : Node, value : Double) -> Unit

    Node::set_scroll_x_max

    fn Node::set_scroll_x_max(self : Node, value : Double) -> Unit

    Node::set_scroll_x_min

    fn Node::set_scroll_x_min(self : Node, value : Double) -> Unit

    Node::set_scroll_y

    fn Node::set_scroll_y(self : Node, value : Double) -> Unit

    Node::set_scroll_y_max

    fn Node::set_scroll_y_max(self : Node, value : Double) -> Unit

    Node::set_scroll_y_min

    fn Node::set_scroll_y_min(self : Node, value : Double) -> Unit

    Node::set_selected

    fn Node::set_selected(self : Node, value : Bool) -> Unit

    Node::set_size_of_set

    fn Node::set_size_of_set(self : Node, value : Int) -> Unit

    Node::set_sort_direction

    fn Node::set_sort_direction(self : Node, value : SortDirection) -> Unit

    Node::set_state_description

    fn Node::set_state_description(self : Node, state_description : String) -> Unit

    Node::set_strikethrough

    fn Node::set_strikethrough(self : Node, decoration : TextDecoration) -> Unit

    Node::set_text_align

    fn Node::set_text_align(self : Node, value : TextAlign) -> Unit

    Node::set_text_direction

    fn Node::set_text_direction(self : Node, value : TextDirection) -> Unit

    Node::set_text_selection

    fn Node::set_text_selection(self : Node, value : TextSelection) -> Unit

    Node::set_toggled

    fn Node::set_toggled(self : Node, value : Toggled) -> Unit

    Node::set_tooltip

    fn Node::set_tooltip(self : Node, tooltip : String) -> Unit

    Node::set_touch_transparent

    fn Node::set_touch_transparent(self : Node) -> Unit

    Node::set_transform

    fn Node::set_transform(self : Node, value : Affine) -> Unit

    Node::set_tree_id

    fn Node::set_tree_id(self : Node, value : TreeId) -> Unit

    Node::set_underline

    fn Node::set_underline(self : Node, decoration : TextDecoration) -> Unit

    Node::set_url

    fn Node::set_url(self : Node, url : String) -> Unit

    Node::set_value

    fn Node::set_value(self : Node, value : String) -> Unit

    Node::set_vertical_offset

    fn Node::set_vertical_offset(self : Node, value : VerticalOffset) -> Unit

    Node::set_visited

    fn Node::set_visited(self : Node) -> Unit

    Node::set_word_starts

    fn Node::set_word_starts(self : Node, value : Array[Int]) -> Unit

    Node::size_of_set

    fn Node::size_of_set(self : Node) -> Int?

    Node::sort_direction

    fn Node::sort_direction(self : Node) -> SortDirection?

    Node::state_description

    fn Node::state_description(self : Node) -> String?

    Node::strikethrough

    fn Node::strikethrough(self : Node) -> TextDecoration?

    Node::supports_action

    fn Node::supports_action(self : Node, action : Action) -> Bool

    Node::text_align

    fn Node::text_align(self : Node) -> TextAlign?

    Node::text_direction

    fn Node::text_direction(self : Node) -> TextDirection?

    Node::text_selection

    fn Node::text_selection(self : Node) -> TextSelection?

    Node::to_json

    fn Node::to_json(self : Node) -> Json

    Node::toggled

    fn Node::toggled(self : Node) -> Toggled?

    Node::tooltip

    fn Node::tooltip(self : Node) -> String?

    Node::transform

    fn Node::transform(self : Node) -> Affine?

    Node::tree_id

    fn Node::tree_id(self : Node) -> TreeId?

    Node::underline

    fn Node::underline(self : Node) -> TextDecoration?

    Node::url

    fn Node::url(self : Node) -> String?

    Node::value

    fn Node::value(self : Node) -> String?

    Node::vertical_offset

    fn Node::vertical_offset(self : Node) -> VerticalOffset?

    Node::word_starts

    fn Node::word_starts(self : Node) -> Array[Int]

    NodeId

    pub(all) struct NodeId(UInt64) derive(Eq, Hash,
    Debug
    )

    impl Show for NodeId
    impl ToJson for NodeId

    NodeId::debug

    fn NodeId::debug(self : NodeId) -> String

    NodeId::equal

    fn NodeId::equal(NodeId, NodeId) -> Bool

    NodeId::from_u64

    fn NodeId::from_u64(value : UInt64) -> NodeId

    NodeId::hash

    fn NodeId::hash(self : NodeId) -> Int

    NodeId::hash_combine

    fn NodeId::hash_combine(NodeId, Hasher) -> Unit

    NodeId::not_equal

    fn NodeId::not_equal(x : NodeId, y : NodeId) -> Bool

    NodeId::output

    fn NodeId::output(self : NodeId, logger : &Logger) -> Unit

    NodeId::root

    fn NodeId::root() -> NodeId

    NodeId::to_json

    fn NodeId::to_json(self : NodeId) -> Json

    NodeId::to_repr

    NodeId::to_string

    fn NodeId::to_string(self : NodeId) -> String

    NodeId::to_u64

    fn NodeId::to_u64(self : NodeId) -> UInt64

    NodeUpdate

    pub(all) struct NodeUpdate {
    // private fields
    }

    NodeUpdate::NodeUpdate

    fn NodeUpdate::NodeUpdate(id : NodeId, node : Node) -> NodeUpdate

    NodeUpdate::id

    fn NodeUpdate::id(self : NodeUpdate) -> NodeId

    NodeUpdate::node

    fn NodeUpdate::node(self : NodeUpdate) -> Node

    NodeUpdate::to_json

    fn NodeUpdate::to_json(self : NodeUpdate) -> Json

    Orientation

    pub(all) enum Orientation {
    Horizontal
    Vertical
    } derive(Eq,
    Debug
    )

    impl Show for Orientation

    Orientation::equal

    fn Orientation::equal(Orientation, Orientation) -> Bool

    Orientation::not_equal

    fn Orientation::not_equal(x : Orientation, y : Orientation) -> Bool

    Orientation::output

    fn Orientation::output(self : Orientation, logger : &Logger) -> Unit

    Orientation::to_json

    fn Orientation::to_json(self : Orientation) -> Json

    Orientation::to_string

    fn Orientation::to_string(self : Orientation) -> String

    Point

    pub(all) struct Point {
    x : Double
    y : Double
    } derive(Eq,
    Debug
    )

    impl Show for Point
    impl ToJson for Point

    Point::Point

    fn Point::Point(x : Double, y : Double) -> Point

    Point::equal

    fn Point::equal(Point, Point) -> Bool

    Point::not_equal

    fn Point::not_equal(x : Point, y : Point) -> Bool

    Point::origin

    fn Point::origin() -> Point

    Point::output

    fn Point::output(self : Point, logger : &Logger) -> Unit

    Point::to_json

    fn Point::to_json(self : Point) -> Json

    Point::to_repr

    Point::to_string

    fn Point::to_string(self : Point) -> String

    Point::to_vec2

    fn Point::to_vec2(self : Point) -> Vec2

    Point::zero

    fn Point::zero() -> Point

    Rect

    pub(all) struct Rect {
    x0 : Double
    y0 : Double
    x1 : Double
    y1 : Double
    } derive(Eq,
    Debug
    )

    impl Show for Rect
    impl ToJson for Rect

    Rect::Rect

    fn Rect::Rect(x0 : Double, y0 : Double, x1 : Double, y1 : Double) -> Rect

    Rect::abs

    fn Rect::abs(self : Rect) -> Rect

    Rect::area

    fn Rect::area(self : Rect) -> Double

    Rect::contains

    fn Rect::contains(self : Rect, point : Point) -> Bool

    Rect::equal

    fn Rect::equal(Rect, Rect) -> Bool

    Rect::from_origin_size

    fn Rect::from_origin_size(origin : Point, size : Size) -> Rect

    Rect::from_points

    fn Rect::from_points(p0 : Point, p1 : Point) -> Rect

    Rect::height

    fn Rect::height(self : Rect) -> Double

    Rect::intersect

    fn Rect::intersect(self : Rect, other : Rect) -> Rect

    Rect::is_empty

    fn Rect::is_empty(self : Rect) -> Bool

    Rect::max_x

    fn Rect::max_x(self : Rect) -> Double

    Rect::max_y

    fn Rect::max_y(self : Rect) -> Double

    Rect::min_x

    fn Rect::min_x(self : Rect) -> Double

    Rect::min_y

    fn Rect::min_y(self : Rect) -> Double

    Rect::not_equal

    fn Rect::not_equal(x : Rect, y : Rect) -> Bool

    Rect::origin

    fn Rect::origin(self : Rect) -> Point

    Rect::output

    fn Rect::output(self : Rect, logger : &Logger) -> Unit

    Rect::size

    fn Rect::size(self : Rect) -> Size

    Rect::to_json

    fn Rect::to_json(self : Rect) -> Json

    Rect::to_repr

    Rect::to_string

    fn Rect::to_string(self : Rect) -> String

    Rect::union

    fn Rect::union(self : Rect, other : Rect) -> Rect

    Rect::union_pt

    fn Rect::union_pt(self : Rect, pt : Point) -> Rect

    Rect::width

    fn Rect::width(self : Rect) -> Double

    Rect::with_origin

    fn Rect::with_origin(self : Rect, origin : Point) -> Rect

    Rect::with_size

    fn Rect::with_size(self : Rect, size : Size) -> Rect

    Rect::zero

    fn Rect::zero() -> Rect

    Role

    pub(all) enum Role {
    Unknown
    TextRun
    Cell
    Label
    Image
    Link
    Row
    ListItem
    ListMarker
    TreeItem
    ListBoxOption
    MenuItem
    MenuListOption
    Paragraph
    GenericContainer
    CheckBox
    RadioButton
    TextInput
    Button
    DefaultButton
    Pane
    RowHeader
    ColumnHeader
    RowGroup
    List
    Table
    LayoutTableCell
    LayoutTableRow
    LayoutTable
    Switch
    Menu
    MultilineTextInput
    SearchInput
    DateInput
    DateTimeInput
    WeekInput
    MonthInput
    TimeInput
    EmailInput
    NumberInput
    PasswordInput
    PhoneNumberInput
    UrlInput
    Abbr
    Alert
    AlertDialog
    Application
    Article
    Audio
    Banner
    Blockquote
    Canvas
    Caption
    Caret
    Code
    ColorWell
    ComboBox
    EditableComboBox
    Complementary
    Comment
    ContentDeletion
    ContentInsertion
    ContentInfo
    Definition
    DescriptionList
    Details
    Dialog
    DisclosureTriangle
    Document
    EmbeddedObject
    Emphasis
    Feed
    FigureCaption
    Figure
    Footer
    Form
    Grid
    GridCell
    Group
    Header
    Heading
    Iframe
    IframePresentational
    ImeCandidate
    Keyboard
    Legend
    LineBreak
    ListBox
    Log
    Main
    Mark
    Marquee
    Math
    MenuBar
    MenuItemCheckBox
    MenuItemRadio
    MenuListPopup
    Meter
    Navigation
    Note
    PluginObject
    ProgressIndicator
    RadioGroup
    Region
    RootWebArea
    Ruby
    RubyAnnotation
    ScrollBar
    ScrollView
    Search
    Section
    SectionFooter
    SectionHeader
    Slider
    SpinButton
    Splitter
    Status
    Strong
    Suggestion
    SvgRoot
    Tab
    TabList
    TabPanel
    Term
    Time
    Timer
    TitleBar
    Toolbar
    Tooltip
    Tree
    TreeGrid
    Video
    WebView
    Window
    PdfActionableHighlight
    PdfRoot
    GraphicsDocument
    GraphicsObject
    GraphicsSymbol
    DocAbstract
    DocAcknowledgements
    DocAfterword
    DocAppendix
    DocBackLink
    DocBiblioEntry
    DocBibliography
    DocBiblioRef
    DocChapter
    DocColophon
    DocConclusion
    DocCover
    DocCredit
    DocCredits
    DocDedication
    DocEndnote
    DocEndnotes
    DocEpigraph
    DocEpilogue
    DocErrata
    DocExample
    DocFootnote
    DocForeword
    DocGlossary
    DocGlossRef
    DocIndex
    DocIntroduction
    DocNoteRef
    DocNotice
    DocPageBreak
    DocPageFooter
    DocPageHeader
    DocPageList
    DocPart
    DocPreface
    DocPrologue
    DocPullquote
    DocQna
    DocSubtitle
    DocTip
    DocToc
    ListGrid
    Terminal
    } derive(Eq,
    Debug
    )

    impl Show for Role
    impl ToJson for Role

    Role::equal

    fn Role::equal(Role, Role) -> Bool

    Role::not_equal

    fn Role::not_equal(x : Role, y : Role) -> Bool

    Role::output

    fn Role::output(self : Role, logger : &Logger) -> Unit

    Role::to_json

    fn Role::to_json(self : Role) -> Json

    Role::to_repr

    Role::to_string

    fn Role::to_string(self : Role) -> String

    ScrollHint

    pub(all) enum ScrollHint {
    TopLeft
    BottomRight
    TopEdge
    BottomEdge
    LeftEdge
    RightEdge
    } derive(Eq,
    Debug
    )

    impl Show for ScrollHint

    ScrollHint::equal

    fn ScrollHint::equal(ScrollHint, ScrollHint) -> Bool

    ScrollHint::not_equal

    fn ScrollHint::not_equal(x : ScrollHint, y : ScrollHint) -> Bool

    ScrollHint::output

    fn ScrollHint::output(self : ScrollHint, logger : &Logger) -> Unit

    ScrollHint::to_json

    fn ScrollHint::to_json(self : ScrollHint) -> Json

    ScrollHint::to_string

    fn ScrollHint::to_string(self : ScrollHint) -> String

    ScrollUnit

    pub(all) enum ScrollUnit {
    Item
    Page
    } derive(Eq,
    Debug
    )

    impl Show for ScrollUnit

    ScrollUnit::equal

    fn ScrollUnit::equal(ScrollUnit, ScrollUnit) -> Bool

    ScrollUnit::not_equal

    fn ScrollUnit::not_equal(x : ScrollUnit, y : ScrollUnit) -> Bool

    ScrollUnit::output

    fn ScrollUnit::output(self : ScrollUnit, logger : &Logger) -> Unit

    ScrollUnit::to_json

    fn ScrollUnit::to_json(self : ScrollUnit) -> Json

    ScrollUnit::to_string

    fn ScrollUnit::to_string(self : ScrollUnit) -> String

    Size

    pub(all) struct Size {
    width : Double
    height : Double
    } derive(Eq,
    Debug
    )

    impl Show for Size
    impl ToJson for Size

    Size::Size

    fn Size::Size(width : Double, height : Double) -> Size

    Size::equal

    fn Size::equal(Size, Size) -> Bool

    Size::not_equal

    fn Size::not_equal(x : Size, y : Size) -> Bool

    Size::output

    fn Size::output(self : Size, logger : &Logger) -> Unit

    Size::to_json

    fn Size::to_json(self : Size) -> Json

    Size::to_repr

    Size::to_string

    fn Size::to_string(self : Size) -> String

    Size::to_vec2

    fn Size::to_vec2(self : Size) -> Vec2

    Size::zero

    fn Size::zero() -> Size

    SortDirection

    pub(all) enum SortDirection {
    Ascending
    Descending
    Other
    } derive(Eq,
    Debug
    )

    SortDirection::equal

    SortDirection::not_equal

    fn SortDirection::not_equal(x : SortDirection, y : SortDirection) -> Bool

    SortDirection::output

    fn SortDirection::output(self : SortDirection, logger : &Logger) -> Unit

    SortDirection::to_json

    fn SortDirection::to_json(self : SortDirection) -> Json

    SortDirection::to_string

    fn SortDirection::to_string(self : SortDirection) -> String

    TextAlign

    pub(all) enum TextAlign {
    Left
    Right
    Center
    Justify
    } derive(Eq,
    Debug
    )

    impl Show for TextAlign
    impl ToJson for TextAlign

    TextAlign::equal

    fn TextAlign::equal(TextAlign, TextAlign) -> Bool

    TextAlign::not_equal

    fn TextAlign::not_equal(x : TextAlign, y : TextAlign) -> Bool

    TextAlign::output

    fn TextAlign::output(self : TextAlign, logger : &Logger) -> Unit

    TextAlign::to_json

    fn TextAlign::to_json(self : TextAlign) -> Json

    TextAlign::to_string

    fn TextAlign::to_string(self : TextAlign) -> String

    TextDecoration

    pub(all) struct TextDecoration {
    style : TextDecorationStyle
    color : Color
    } derive(Eq,
    Debug
    )

    TextDecoration::TextDecoration

    fn TextDecoration::TextDecoration(style : TextDecorationStyle, color : Color) -> TextDecoration

    TextDecoration::equal

    TextDecoration::not_equal

    fn TextDecoration::not_equal(x : TextDecoration, y : TextDecoration) -> Bool

    TextDecoration::output

    fn TextDecoration::output(self : TextDecoration, logger : &Logger) -> Unit

    TextDecoration::to_json

    fn TextDecoration::to_json(self : TextDecoration) -> Json

    TextDecoration::to_string

    fn TextDecoration::to_string(self : TextDecoration) -> String

    TextDecorationStyle

    pub(all) enum TextDecorationStyle {
    Solid
    Dotted
    Dashed
    Double
    Wavy
    } derive(Eq,
    Debug
    )

    TextDecorationStyle::equal

    TextDecorationStyle::not_equal

    TextDecorationStyle::output

    fn TextDecorationStyle::output(self : TextDecorationStyle, logger : &Logger) -> Unit

    TextDecorationStyle::to_json

    TextDecorationStyle::to_string

    fn TextDecorationStyle::to_string(self : TextDecorationStyle) -> String

    TextDirection

    pub(all) enum TextDirection {
    LeftToRight
    RightToLeft
    TopToBottom
    BottomToTop
    } derive(Eq,
    Debug
    )

    TextDirection::equal

    TextDirection::not_equal

    fn TextDirection::not_equal(x : TextDirection, y : TextDirection) -> Bool

    TextDirection::output

    fn TextDirection::output(self : TextDirection, logger : &Logger) -> Unit

    TextDirection::to_json

    fn TextDirection::to_json(self : TextDirection) -> Json

    TextDirection::to_string

    fn TextDirection::to_string(self : TextDirection) -> String

    TextPosition

    pub(all) struct TextPosition {
    node : NodeId
    character_index : Int
    } derive(Eq,
    Debug
    )

    TextPosition::TextPosition

    fn TextPosition::TextPosition(node : NodeId, character_index : Int) -> TextPosition

    TextPosition::equal

    TextPosition::not_equal

    fn TextPosition::not_equal(x : TextPosition, y : TextPosition) -> Bool

    TextPosition::output

    fn TextPosition::output(self : TextPosition, logger : &Logger) -> Unit

    TextPosition::to_json

    fn TextPosition::to_json(self : TextPosition) -> Json

    TextPosition::to_string

    fn TextPosition::to_string(self : TextPosition) -> String

    TextSelection

    pub(all) struct TextSelection {
    anchor : TextPosition
    focus : TextPosition
    } derive(Eq,
    Debug
    )

    TextSelection::TextSelection

    fn TextSelection::TextSelection(anchor : TextPosition, focus : TextPosition) -> TextSelection

    TextSelection::equal

    TextSelection::not_equal

    fn TextSelection::not_equal(x : TextSelection, y : TextSelection) -> Bool

    TextSelection::output

    fn TextSelection::output(self : TextSelection, logger : &Logger) -> Unit

    TextSelection::to_json

    fn TextSelection::to_json(self : TextSelection) -> Json

    TextSelection::to_string

    fn TextSelection::to_string(self : TextSelection) -> String

    Toggled

    pub(all) enum Toggled {
    False
    True
    Mixed
    } derive(Eq,
    Debug
    )

    impl Show for Toggled
    impl ToJson for Toggled

    Toggled::equal

    fn Toggled::equal(Toggled, Toggled) -> Bool

    Toggled::from_bool

    fn Toggled::from_bool(value : Bool) -> Toggled

    Toggled::not_equal

    fn Toggled::not_equal(x : Toggled, y : Toggled) -> Bool

    Toggled::output

    fn Toggled::output(self : Toggled, logger : &Logger) -> Unit

    Toggled::to_json

    fn Toggled::to_json(self : Toggled) -> Json

    Toggled::to_repr

    Toggled::to_string

    fn Toggled::to_string(self : Toggled) -> String

    TreeId

    pub(all) struct TreeId(Uuid) derive(Eq, Hash,
    Debug
    )

    impl Show for TreeId
    impl ToJson for TreeId

    TreeId::debug

    fn TreeId::debug(self : TreeId) -> String

    TreeId::equal

    fn TreeId::equal(TreeId, TreeId) -> Bool

    TreeId::hash

    fn TreeId::hash(self : TreeId) -> Int

    TreeId::hash_combine

    fn TreeId::hash_combine(TreeId, Hasher) -> Unit

    TreeId::not_equal

    fn TreeId::not_equal(x : TreeId, y : TreeId) -> Bool

    TreeId::output

    fn TreeId::output(self : TreeId, logger : &Logger) -> Unit

    TreeId::root

    fn TreeId::root() -> TreeId

    TreeId::to_json

    fn TreeId::to_json(self : TreeId) -> Json

    TreeId::to_repr

    TreeId::to_string

    fn TreeId::to_string(self : TreeId) -> String

    TreeInfo

    pub(all) struct TreeInfo {
    root : NodeId
    toolkit_name : String?
    toolkit_version : String?
    } derive(Eq,
    Debug
    )

    impl Show for TreeInfo
    impl ToJson for TreeInfo

    TreeInfo::TreeInfo

    fn TreeInfo::TreeInfo(root : NodeId) -> TreeInfo

    TreeInfo::equal

    fn TreeInfo::equal(TreeInfo, TreeInfo) -> Bool

    TreeInfo::not_equal

    fn TreeInfo::not_equal(x : TreeInfo, y : TreeInfo) -> Bool

    TreeInfo::output

    fn TreeInfo::output(self : TreeInfo, logger : &Logger) -> Unit

    TreeInfo::root_id

    fn TreeInfo::root_id(self : TreeInfo) -> NodeId

    TreeInfo::to_json

    fn TreeInfo::to_json(self : TreeInfo) -> Json

    TreeInfo::to_repr

    TreeInfo::to_string

    fn TreeInfo::to_string(self : TreeInfo) -> String

    TreeInfo::toolkit_name

    fn TreeInfo::toolkit_name(self : TreeInfo) -> String?

    TreeInfo::toolkit_version

    fn TreeInfo::toolkit_version(self : TreeInfo) -> String?

    TreeUpdate

    pub(all) struct TreeUpdate {
    // private fields
    }

    TreeUpdate::TreeUpdate

    fn TreeUpdate::TreeUpdate(tree_id : TreeId, focus : NodeId) -> TreeUpdate

    TreeUpdate::focus

    fn TreeUpdate::focus(self : TreeUpdate) -> NodeId

    TreeUpdate::nodes

    fn TreeUpdate::nodes(self : TreeUpdate) -> Array[NodeUpdate]

    TreeUpdate::push_node

    fn TreeUpdate::push_node(self : TreeUpdate, id : NodeId, node : Node) -> Unit

    TreeUpdate::set_tree

    fn TreeUpdate::set_tree(self : TreeUpdate, tree : TreeInfo) -> Unit

    TreeUpdate::to_json

    fn TreeUpdate::to_json(self : TreeUpdate) -> Json

    TreeUpdate::tree

    fn TreeUpdate::tree(self : TreeUpdate) -> TreeInfo?

    TreeUpdate::tree_id

    fn TreeUpdate::tree_id(self : TreeUpdate) -> TreeId

    Uuid

    pub(all) struct Uuid {
    high : UInt64
    low : UInt64
    } derive(Eq, Hash,
    Debug
    )

    impl Show for Uuid
    impl ToJson for Uuid

    Uuid::debug

    fn Uuid::debug(self : Uuid) -> String

    Uuid::equal

    fn Uuid::equal(Uuid, Uuid) -> Bool

    Uuid::hash

    fn Uuid::hash(self : Uuid) -> Int

    Uuid::hash_combine

    fn Uuid::hash_combine(Uuid, Hasher) -> Unit

    Uuid::nil

    fn Uuid::nil() -> Uuid

    Uuid::not_equal

    fn Uuid::not_equal(x : Uuid, y : Uuid) -> Bool

    Uuid::output

    fn Uuid::output(self : Uuid, logger : &Logger) -> Unit

    Uuid::to_json

    fn Uuid::to_json(self : Uuid) -> Json

    Uuid::to_repr

    Uuid::to_string

    fn Uuid::to_string(self : Uuid) -> String

    Vec2

    pub(all) struct Vec2 {
    x : Double
    y : Double
    } derive(Eq,
    Debug
    )

    impl Show for Vec2
    impl ToJson for Vec2

    Vec2::Vec2

    fn Vec2::Vec2(x : Double, y : Double) -> Vec2

    Vec2::equal

    fn Vec2::equal(Vec2, Vec2) -> Bool

    Vec2::not_equal

    fn Vec2::not_equal(x : Vec2, y : Vec2) -> Bool

    Vec2::output

    fn Vec2::output(self : Vec2, logger : &Logger) -> Unit

    Vec2::to_json

    fn Vec2::to_json(self : Vec2) -> Json

    Vec2::to_point

    fn Vec2::to_point(self : Vec2) -> Point

    Vec2::to_repr

    Vec2::to_size

    fn Vec2::to_size(self : Vec2) -> Size

    Vec2::to_string

    fn Vec2::to_string(self : Vec2) -> String

    Vec2::zero

    fn Vec2::zero() -> Vec2

    VerticalOffset

    pub(all) enum VerticalOffset {
    Subscript
    Superscript
    } derive(Eq,
    Debug
    )

    VerticalOffset::equal

    VerticalOffset::not_equal

    fn VerticalOffset::not_equal(x : VerticalOffset, y : VerticalOffset) -> Bool

    VerticalOffset::output

    fn VerticalOffset::output(self : VerticalOffset, logger : &Logger) -> Unit

    VerticalOffset::to_json

    fn VerticalOffset::to_json(self : VerticalOffset) -> Json

    VerticalOffset::to_string

    fn VerticalOffset::to_string(self : VerticalOffset) -> String

    action_mask_to_action_vec

    fn action_mask_to_action_vec(mask : UInt) -> Array[Action]