moon_accesskit

MoonBit port of Rust accesskit (common + consumer).

accessibility
a11y
accesskit
moon add Milky2018/moon_accesskit@0.3.0
Download zip
Author
Version
0.3.0
License
Apache-2.0
Last updated
3 months ago
Downloads
16K
README

#MoonBit AccessKit (common)

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

Upstream pin (for compatibility work):
  • Rust crate: accesskit 0.24.0
  • Git commit: 528fba56534d06551d8ce8c28cb444bd18ed1cfc (2026-02-02)

#Usage

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

#Consumer package

The Milky2018/moon_accesskit/consumer package provides:

  • Tree / State: apply TreeUpdates and query nodes
  • common_filter: a reference-compatible filter used by iterators
  • ChangeHandler: receive change callbacks when applying updates

See the runnable example in cmd/consumer_demo.

#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).

#
ActionHandler

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

#
ActivationHandler

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

#
DeactivationHandler

pub(open) trait DeactivationHandler {
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
}

impl Eq for Action
impl Show for Action
impl ToJson for Action

#
Action::index

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

#
Action::mask

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

#
Action::n

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

#
ActionData

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

impl Eq for ActionData
impl Show for ActionData

#
ActionRequest

pub struct ActionRequest {
// private fields
}

#
ActionRequest::action

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

#
ActionRequest::data

#
ActionRequest::new

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

#
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

#
Affine

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

impl Eq for Affine
impl Show for Affine
impl ToJson for Affine

#
Affine::as_coeffs

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

#
Affine::determinant

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

#
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::new

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

#
Affine::scale

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

#
Affine::scale_non_uniform

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

#
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
}

impl Eq for AriaCurrent
impl Show for AriaCurrent

#
AutoComplete

pub(all) enum AutoComplete {
Inline
List
Both
}

impl Eq for AutoComplete

#
Color

pub(all) struct Color {
red : Byte
green : Byte
blue : Byte
alpha : Byte
}

impl Eq for Color
impl Show for Color
impl ToJson for Color

#
Color::new

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

#
CustomAction

pub(all) struct CustomAction {
id : Int
description : String
}

impl Eq for CustomAction

#
CustomAction::debug

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

#
CustomAction::new

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

#
HasPopup

pub(all) enum HasPopup {
Menu
Listbox
Tree
Grid
Dialog
}

impl Eq for HasPopup
impl Show for HasPopup
impl ToJson for HasPopup

#
Invalid

pub(all) enum Invalid {
True
Grammar
Spelling
}

impl Eq for Invalid
impl Show for Invalid
impl ToJson for Invalid

#
ListStyle

pub(all) enum ListStyle {
Circle
Disc
Image
Numeric
Square
Other
}

impl Eq for ListStyle
impl Show for ListStyle
impl ToJson for ListStyle

#
Live

pub(all) enum Live {
Off
Polite
Assertive
}

impl Eq for Live
impl Show for Live
impl ToJson for Live

#
Node

pub struct Node {
// private fields
}

impl ToJson for 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::new

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

#
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::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) type NodeId UInt64

impl Eq for NodeId
impl Hash for NodeId
impl Show for NodeId
impl ToJson for NodeId

#
NodeId::debug

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

#
NodeId::from_u64

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

#
NodeId::inner

#deprecated("Use `struct T(A)` to declare a newtype and use `.0` access the underlying type instead.")
fn NodeId::inner(self : NodeId) -> UInt64
Convert newtype to its underlying type, automatically derived.

#
NodeId::new

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

#
NodeId::root

fn NodeId::root() -> NodeId

#
NodeId::to_u64

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

#
NodeUpdate

pub struct NodeUpdate {
// private fields
}

#
NodeUpdate::id

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

#
NodeUpdate::new

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

#
NodeUpdate::node

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

#
Orientation

pub(all) enum Orientation {
Horizontal
Vertical
}

impl Eq for Orientation
impl Show for Orientation

#
Point

pub(all) struct Point {
x : Double
y : Double
}

impl Eq for Point
impl Show for Point
impl ToJson for Point

#
Point::new

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

#
Point::origin

fn Point::origin() -> Point

#
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
}

impl Eq for Rect
impl Show for Rect
impl ToJson for 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::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::new

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

#
Rect::origin

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

#
Rect::size

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

#
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
}

impl Eq for Role
impl Show for Role
impl ToJson for Role

#
ScrollHint

pub(all) enum ScrollHint {
TopLeft
BottomRight
TopEdge
BottomEdge
LeftEdge
RightEdge
}

impl Eq for ScrollHint
impl Show for ScrollHint

#
ScrollUnit

pub(all) enum ScrollUnit {
Item
Page
}

impl Eq for ScrollUnit
impl Show for ScrollUnit

#
Size

pub(all) struct Size {
width : Double
height : Double
}

impl Eq for Size
impl Show for Size
impl ToJson for Size

#
Size::new

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

#
Size::to_vec2

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

#
Size::zero

fn Size::zero() -> Size

#
SortDirection

pub(all) enum SortDirection {
Ascending
Descending
Other
}

impl Eq for SortDirection

#
TextAlign

pub(all) enum TextAlign {
Left
Right
Center
Justify
}

impl Eq for TextAlign
impl Show for TextAlign
impl ToJson for TextAlign

#
TextDecoration

pub(all) struct TextDecoration {
style : TextDecorationStyle
color : Color
}

#
TextDecoration::new

#
TextDecorationStyle

pub(all) enum TextDecorationStyle {
Solid
Dotted
Dashed
Double
Wavy
}

#
TextDirection

pub(all) enum TextDirection {
LeftToRight
RightToLeft
TopToBottom
BottomToTop
}

impl Eq for TextDirection

#
TextPosition

pub(all) struct TextPosition {
node : NodeId
character_index : Int
}

impl Eq for TextPosition

#
TextPosition::new

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

#
TextSelection

pub(all) struct TextSelection {
anchor : TextPosition
focus : TextPosition
}

impl Eq for TextSelection

#
TextSelection::new

#
Toggled

pub(all) enum Toggled {
False
True
Mixed
}

impl Eq for Toggled
impl Show for Toggled
impl ToJson for Toggled

#
Toggled::from_bool

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

#
Tree

pub struct Tree {
root : NodeId
toolkit_name : String?
toolkit_version : String?
}

impl Eq for Tree
impl Show for Tree
impl ToJson for Tree

#
Tree::new

fn Tree::new(root : NodeId) -> Tree

#
Tree::root_id

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

#
Tree::toolkit_name

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

#
Tree::toolkit_version

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

#
TreeId

pub(all) type TreeId Uuid

impl Eq for TreeId
impl Hash for TreeId
impl Show for TreeId
impl ToJson for TreeId

#
TreeId::debug

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

#
TreeId::inner

#deprecated("Use `struct T(A)` to declare a newtype and use `.0` access the underlying type instead.")
fn TreeId::inner(self : TreeId) -> Uuid
Convert newtype to its underlying type, automatically derived.

#
TreeId::new

fn TreeId::new(uuid : Uuid) -> TreeId

#
TreeId::root

fn TreeId::root() -> TreeId

#
TreeUpdate

pub struct TreeUpdate {
// private fields
}

#
TreeUpdate::focus

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

#
TreeUpdate::new

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

#
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 : Tree) -> Unit

#
TreeUpdate::tree

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

#
TreeUpdate::tree_id

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

#
Uuid

pub(all) struct Uuid {
high : UInt64
low : UInt64
}

impl Eq for Uuid
impl Hash for Uuid
impl Show for Uuid
impl ToJson for Uuid

#
Uuid::debug

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

#
Uuid::nil

fn Uuid::nil() -> Uuid

#
Vec2

pub(all) struct Vec2 {
x : Double
y : Double
}

impl Eq for Vec2
impl Show for Vec2
impl ToJson for Vec2

#
Vec2::new

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

#
Vec2::to_point

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

#
Vec2::to_size

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

#
Vec2::zero

fn Vec2::zero() -> Vec2

#
VerticalOffset

pub(all) enum VerticalOffset {
Subscript
Superscript
}

#
action_mask_to_action_vec

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