[Accessibility] Handle adapter activation/deactivation.

This commit is contained in:
Pāvels Nadtočajevs 2026-01-29 09:02:10 +02:00
parent 8db94f7b5e
commit 876dcc8a5d
No known key found for this signature in database
GPG key ID: 8413210218EF35D2
7 changed files with 140 additions and 4 deletions

View file

@ -726,6 +726,24 @@ void DisplayServer::accessibility_set_window_focused(DisplayServer::WindowID p_w
}
}
void DisplayServer::accessibility_set_window_callbacks(DisplayServer::WindowID p_window_id, const Callable &p_activate_callable, const Callable &p_deativate_callable) {
if (accessibility_driver) {
accessibility_driver->accessibility_set_window_callbacks(p_window_id, p_activate_callable, p_deativate_callable);
}
}
void DisplayServer::accessibility_window_activation_completed(DisplayServer::WindowID p_window_id) {
if (accessibility_driver) {
accessibility_driver->accessibility_window_activation_completed(p_window_id);
}
}
void DisplayServer::accessibility_window_deactivation_completed(DisplayServer::WindowID p_window_id) {
if (accessibility_driver) {
accessibility_driver->accessibility_window_deactivation_completed(p_window_id);
}
}
void DisplayServer::accessibility_update_set_role(const RID &p_id, DisplayServer::AccessibilityRole p_role) {
if (accessibility_driver) {
accessibility_driver->accessibility_update_set_role(p_id, p_role);

View file

@ -464,7 +464,7 @@ public:
virtual WindowID get_window_at_screen_position(const Point2i &p_position) const = 0;
virtual void window_attach_instance_id(ObjectID p_instance, WindowID p_window = MAIN_WINDOW_ID) = 0;
virtual void window_attach_instance_id(ObjectID p_instance, WindowID p_window = MAIN_WINDOW_ID) = 0; // Note: internal method used by Window, do not expose.
virtual ObjectID window_get_attached_instance_id(WindowID p_window = MAIN_WINDOW_ID) const = 0;
virtual void window_set_rect_changed_callback(const Callable &p_callable, WindowID p_window = MAIN_WINDOW_ID) = 0;
@ -735,6 +735,9 @@ public:
virtual void accessibility_set_window_rect(DisplayServer::WindowID p_window_id, const Rect2 &p_rect_out, const Rect2 &p_rect_in);
virtual void accessibility_set_window_focused(DisplayServer::WindowID p_window_id, bool p_focused);
virtual void accessibility_set_window_callbacks(DisplayServer::WindowID p_window_id, const Callable &p_activate_callable, const Callable &p_deativate_callable); // Note: internal method used by Window, do not expose.
virtual void accessibility_window_activation_completed(DisplayServer::WindowID p_window_id); // Note: internal method used by Window, do not expose.
virtual void accessibility_window_deactivation_completed(DisplayServer::WindowID p_window_id); // Note: internal method used by Window, do not expose.
virtual void accessibility_update_set_role(const RID &p_id, DisplayServer::AccessibilityRole p_role);
virtual void accessibility_update_set_name(const RID &p_id, const String &p_name);
@ -967,6 +970,9 @@ public:
virtual void accessibility_set_window_rect(DisplayServer::WindowID p_window_id, const Rect2 &p_rect_out, const Rect2 &p_rect_in) = 0;
virtual void accessibility_set_window_focused(DisplayServer::WindowID p_window_id, bool p_focused) = 0;
virtual void accessibility_set_window_callbacks(DisplayServer::WindowID p_window_id, const Callable &p_activate_callable, const Callable &p_deativate_callable) = 0;
virtual void accessibility_window_activation_completed(DisplayServer::WindowID p_window_id) = 0;
virtual void accessibility_window_deactivation_completed(DisplayServer::WindowID p_window_id) = 0;
virtual void accessibility_update_set_role(const RID &p_id, DisplayServer::AccessibilityRole p_role) = 0;
virtual void accessibility_update_set_name(const RID &p_id, const String &p_name) = 0;