Move some accessibility properties from Node to Control

This commit is contained in:
Pāvels Nadtočajevs 2025-05-21 09:34:12 +03:00
parent 42c7f14422
commit aff5b413aa
No known key found for this signature in database
GPG key ID: 8413210218EF35D2
9 changed files with 289 additions and 226 deletions

View file

@ -250,6 +250,17 @@ private:
ObjectID shortcut_context;
// Accessibility.
String accessibility_name;
String accessibility_description;
DisplayServer::AccessibilityLiveMode accessibility_live = DisplayServer::AccessibilityLiveMode::LIVE_OFF;
TypedArray<NodePath> accessibility_controls_nodes;
TypedArray<NodePath> accessibility_described_by_nodes;
TypedArray<NodePath> accessibility_labeled_by_nodes;
TypedArray<NodePath> accessibility_flow_to_nodes;
// Theming.
ThemeOwner *theme_owner = nullptr;
@ -396,6 +407,7 @@ protected:
GDVIRTUAL1RC(Object *, _make_custom_tooltip, String)
GDVIRTUAL0RC(String, _accessibility_get_contextual_info);
GDVIRTUAL1RC(String, _get_accessibility_container_name, const Node *)
GDVIRTUAL1(_gui_input, Ref<InputEvent>)
@ -597,6 +609,31 @@ public:
void set_focus_previous(const NodePath &p_prev);
NodePath get_focus_previous() const;
// Accessibility.
virtual String get_accessibility_container_name(const Node *p_node) const;
void set_accessibility_name(const String &p_name);
String get_accessibility_name() const;
void set_accessibility_description(const String &p_description);
String get_accessibility_description() const;
void set_accessibility_live(DisplayServer::AccessibilityLiveMode p_mode);
DisplayServer::AccessibilityLiveMode get_accessibility_live() const;
void set_accessibility_controls_nodes(const TypedArray<NodePath> &p_node_path);
TypedArray<NodePath> get_accessibility_controls_nodes() const;
void set_accessibility_described_by_nodes(const TypedArray<NodePath> &p_node_path);
TypedArray<NodePath> get_accessibility_described_by_nodes() const;
void set_accessibility_labeled_by_nodes(const TypedArray<NodePath> &p_node_path);
TypedArray<NodePath> get_accessibility_labeled_by_nodes() const;
void set_accessibility_flow_to_nodes(const TypedArray<NodePath> &p_node_path);
TypedArray<NodePath> get_accessibility_flow_to_nodes() const;
// Rendering.
void set_default_cursor_shape(CursorShape p_shape);