mirror of
https://github.com/emilk/egui.git
synced 2026-08-29 04:40:03 -04:00
Update accesskit to 0.24.0 (and related deps) (#7850)
this patch updates our deps to [accesskit 0.24.0](https://docs.rs/accesskit/0.24.0/accesskit/) (was [0.21.1](https://docs.rs/accesskit/0.21.1/accesskit/)), [accesskit_consumer 0.35.0](https://docs.rs/accesskit_consumer/0.35.0/accesskit_consumer/) (was [0.30.1](https://docs.rs/accesskit_consumer/0.30.1/accesskit_consumer/)), and [accesskit_winit 0.32.0](https://docs.rs/accesskit_winit/0.32.0/accesskit_winit/) (was [0.29.1](https://docs.rs/accesskit_winit/0.29.1/accesskit_winit/)), allowing egui to be used in apps that use accessibility subtrees (AccessKit/accesskit#655). for now, we handle the subtree-related breaking changes by assuming that egui will use [the root tree](https://docs.rs/accesskit/0.24.0/accesskit/struct.TreeId.html#associatedconstant.ROOT), which is good enough for [servoshell](https://github.com/servo/servo) and does not require any API changes. * [x] I have followed the instructions in the PR template <img width="1185" height="954" alt="image" src="https://github.com/user-attachments/assets/6acfb85a-096d-4a7b-963b-d8549bfc749f" /> --------- Co-authored-by: Luke Warlow <lwarlow@igalia.com> Co-authored-by: lucasmerlin <hi@lucasmerlin.me> Co-authored-by: Arnold Loubriat <datatriny@gmail.com>
This commit is contained in:
@@ -98,9 +98,11 @@ impl Node<'_> {
|
||||
/// This will trigger a [`accesskit::Action::Click`] action.
|
||||
/// In contrast to `click()`, this can also click widgets that are not currently visible.
|
||||
pub fn click_accesskit(&self) {
|
||||
let (target_node, target_tree) = self.accesskit_node.locate();
|
||||
self.event(egui::Event::AccessKitActionRequest(
|
||||
accesskit::ActionRequest {
|
||||
target: self.accesskit_node.id(),
|
||||
target_node,
|
||||
target_tree,
|
||||
action: accesskit::Action::Click,
|
||||
data: None,
|
||||
},
|
||||
@@ -119,9 +121,11 @@ impl Node<'_> {
|
||||
}
|
||||
|
||||
pub fn focus(&self) {
|
||||
let (target_node, target_tree) = self.accesskit_node.locate();
|
||||
self.event(egui::Event::AccessKitActionRequest(ActionRequest {
|
||||
action: accesskit::Action::Focus,
|
||||
target: self.accesskit_node.id(),
|
||||
target_node,
|
||||
target_tree,
|
||||
data: None,
|
||||
}));
|
||||
}
|
||||
@@ -162,45 +166,55 @@ impl Node<'_> {
|
||||
|
||||
/// Scroll the node into view.
|
||||
pub fn scroll_to_me(&self) {
|
||||
let (target_node, target_tree) = self.accesskit_node.locate();
|
||||
self.event(egui::Event::AccessKitActionRequest(ActionRequest {
|
||||
action: accesskit::Action::ScrollIntoView,
|
||||
target: self.accesskit_node.id(),
|
||||
target_node,
|
||||
target_tree,
|
||||
data: None,
|
||||
}));
|
||||
}
|
||||
|
||||
/// Scroll the [`egui::ScrollArea`] containing this node down (100px).
|
||||
pub fn scroll_down(&self) {
|
||||
let (target_node, target_tree) = self.accesskit_node.locate();
|
||||
self.event(egui::Event::AccessKitActionRequest(ActionRequest {
|
||||
action: accesskit::Action::ScrollDown,
|
||||
target: self.accesskit_node.id(),
|
||||
target_node,
|
||||
target_tree,
|
||||
data: None,
|
||||
}));
|
||||
}
|
||||
|
||||
/// Scroll the [`egui::ScrollArea`] containing this node up (100px).
|
||||
pub fn scroll_up(&self) {
|
||||
let (target_node, target_tree) = self.accesskit_node.locate();
|
||||
self.event(egui::Event::AccessKitActionRequest(ActionRequest {
|
||||
action: accesskit::Action::ScrollUp,
|
||||
target: self.accesskit_node.id(),
|
||||
target_node,
|
||||
target_tree,
|
||||
data: None,
|
||||
}));
|
||||
}
|
||||
|
||||
/// Scroll the [`egui::ScrollArea`] containing this node left (100px).
|
||||
pub fn scroll_left(&self) {
|
||||
let (target_node, target_tree) = self.accesskit_node.locate();
|
||||
self.event(egui::Event::AccessKitActionRequest(ActionRequest {
|
||||
action: accesskit::Action::ScrollLeft,
|
||||
target: self.accesskit_node.id(),
|
||||
target_node,
|
||||
target_tree,
|
||||
data: None,
|
||||
}));
|
||||
}
|
||||
|
||||
/// Scroll the [`egui::ScrollArea`] containing this node right (100px).
|
||||
pub fn scroll_right(&self) {
|
||||
let (target_node, target_tree) = self.accesskit_node.locate();
|
||||
self.event(egui::Event::AccessKitActionRequest(ActionRequest {
|
||||
action: accesskit::Action::ScrollRight,
|
||||
target: self.accesskit_node.id(),
|
||||
target_node,
|
||||
target_tree,
|
||||
data: None,
|
||||
}));
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user