mirror of
https://github.com/emilk/egui.git
synced 2026-08-30 13:20:05 -04:00
Update accesskit to 0.24.0 (and related deps)
Co-authored-by: Luke Warlow <lwarlow@igalia.com>
This commit is contained in:
@@ -102,7 +102,7 @@ pub struct State {
|
||||
has_sent_ime_enabled: bool,
|
||||
|
||||
#[cfg(feature = "accesskit")]
|
||||
accesskit: Option<accesskit_winit::Adapter>,
|
||||
pub accesskit: Option<accesskit_winit::Adapter>,
|
||||
|
||||
allow_ime: bool,
|
||||
ime_rect_px: Option<egui::Rect>,
|
||||
|
||||
@@ -2616,6 +2616,7 @@ impl ContextImpl {
|
||||
platform_output.accesskit_update = Some(accesskit::TreeUpdate {
|
||||
nodes,
|
||||
tree: Some(accesskit::Tree::new(root_id)),
|
||||
tree_id: accesskit::TreeId::ROOT,
|
||||
focus: focus_id,
|
||||
});
|
||||
}
|
||||
|
||||
@@ -79,7 +79,7 @@ impl Id {
|
||||
self.0.get()
|
||||
}
|
||||
|
||||
pub(crate) fn accesskit_id(&self) -> accesskit::NodeId {
|
||||
pub fn accesskit_id(&self) -> accesskit::NodeId {
|
||||
self.value().into()
|
||||
}
|
||||
|
||||
|
||||
@@ -865,7 +865,8 @@ impl InputState {
|
||||
let accesskit_id = id.accesskit_id();
|
||||
self.events.iter().filter_map(move |event| {
|
||||
if let Event::AccessKitActionRequest(request) = event
|
||||
&& request.target == accesskit_id
|
||||
&& request.target_node == accesskit_id
|
||||
&& request.target_tree == accesskit::TreeId::ROOT
|
||||
&& request.action == action
|
||||
{
|
||||
return Some(request);
|
||||
@@ -882,7 +883,8 @@ impl InputState {
|
||||
let accesskit_id = id.accesskit_id();
|
||||
self.events.retain(|event| {
|
||||
if let Event::AccessKitActionRequest(request) = event
|
||||
&& request.target == accesskit_id
|
||||
&& request.target_node == accesskit_id
|
||||
&& request.target_tree == accesskit::TreeId::ROOT
|
||||
{
|
||||
return !consume(request);
|
||||
}
|
||||
|
||||
@@ -567,11 +567,13 @@ impl Focus {
|
||||
|
||||
if let crate::Event::AccessKitActionRequest(accesskit::ActionRequest {
|
||||
action: accesskit::Action::Focus,
|
||||
target,
|
||||
target_node,
|
||||
target_tree,
|
||||
data: None,
|
||||
}) = event
|
||||
&& *target_tree == accesskit::TreeId::ROOT
|
||||
{
|
||||
self.id_requested_by_accesskit = Some(*target);
|
||||
self.id_requested_by_accesskit = Some(*target_node);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -94,7 +94,7 @@ pub fn update_accesskit_for_text_widget(
|
||||
builder.set_character_lengths(character_lengths);
|
||||
builder.set_character_positions(character_positions);
|
||||
builder.set_character_widths(character_widths);
|
||||
builder.set_word_lengths(word_lengths);
|
||||
// builder.set_word_lengths(word_lengths);
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
@@ -192,10 +192,13 @@ impl CCursorRange {
|
||||
|
||||
Event::AccessKitActionRequest(accesskit::ActionRequest {
|
||||
action: accesskit::Action::SetTextSelection,
|
||||
target,
|
||||
target_node,
|
||||
target_tree,
|
||||
data: Some(accesskit::ActionData::SetTextSelection(selection)),
|
||||
}) => {
|
||||
if _widget_id.accesskit_id() == *target {
|
||||
if _widget_id.accesskit_id() == *target_node
|
||||
&& *target_tree == accesskit::TreeId::ROOT
|
||||
{
|
||||
let primary =
|
||||
ccursor_from_accesskit_text_position(_widget_id, galley, &selection.focus);
|
||||
let secondary =
|
||||
|
||||
@@ -175,7 +175,8 @@ impl AccessibilityInspectorPlugin {
|
||||
&& ui.button(format!("{action:?}")).clicked()
|
||||
{
|
||||
let action_request = ActionRequest {
|
||||
target: node.id(),
|
||||
target_node: node.id(),
|
||||
target_tree: accesskit::TreeId::ROOT,
|
||||
action,
|
||||
data: None,
|
||||
};
|
||||
@@ -205,6 +206,9 @@ impl AccessibilityInspectorPlugin {
|
||||
|
||||
// Safety: This is safe since the `accesskit::NodeId` was created from an `egui::Id`.
|
||||
#[expect(unsafe_code)]
|
||||
// FIXME: accesskit_consumer::Node::id() returns a new type now
|
||||
// <https://docs.rs/accesskit_consumer/0.30.1/accesskit_consumer/struct.Node.html#method.id>
|
||||
// <https://docs.rs/accesskit_consumer/0.33.0/accesskit_consumer/struct.Node.html#method.id>
|
||||
let egui_node_id = unsafe { Id::from_high_entropy_bits(node.id().0) };
|
||||
|
||||
ui.push_id(node.id(), |ui| {
|
||||
|
||||
@@ -100,7 +100,8 @@ impl Node<'_> {
|
||||
pub fn click_accesskit(&self) {
|
||||
self.event(egui::Event::AccessKitActionRequest(
|
||||
accesskit::ActionRequest {
|
||||
target: self.accesskit_node.id(),
|
||||
target_node: self.accesskit_node.id(),
|
||||
target_tree: accesskit::TreeId::ROOT,
|
||||
action: accesskit::Action::Click,
|
||||
data: None,
|
||||
},
|
||||
@@ -121,7 +122,8 @@ impl Node<'_> {
|
||||
pub fn focus(&self) {
|
||||
self.event(egui::Event::AccessKitActionRequest(ActionRequest {
|
||||
action: accesskit::Action::Focus,
|
||||
target: self.accesskit_node.id(),
|
||||
target_node: self.accesskit_node.id(),
|
||||
target_tree: accesskit::TreeId::ROOT,
|
||||
data: None,
|
||||
}));
|
||||
}
|
||||
@@ -164,7 +166,8 @@ impl Node<'_> {
|
||||
pub fn scroll_to_me(&self) {
|
||||
self.event(egui::Event::AccessKitActionRequest(ActionRequest {
|
||||
action: accesskit::Action::ScrollIntoView,
|
||||
target: self.accesskit_node.id(),
|
||||
target_node: self.accesskit_node.id(),
|
||||
target_tree: accesskit::TreeId::ROOT,
|
||||
data: None,
|
||||
}));
|
||||
}
|
||||
@@ -173,7 +176,8 @@ impl Node<'_> {
|
||||
pub fn scroll_down(&self) {
|
||||
self.event(egui::Event::AccessKitActionRequest(ActionRequest {
|
||||
action: accesskit::Action::ScrollDown,
|
||||
target: self.accesskit_node.id(),
|
||||
target_node: self.accesskit_node.id(),
|
||||
target_tree: accesskit::TreeId::ROOT,
|
||||
data: None,
|
||||
}));
|
||||
}
|
||||
@@ -182,7 +186,8 @@ impl Node<'_> {
|
||||
pub fn scroll_up(&self) {
|
||||
self.event(egui::Event::AccessKitActionRequest(ActionRequest {
|
||||
action: accesskit::Action::ScrollUp,
|
||||
target: self.accesskit_node.id(),
|
||||
target_node: self.accesskit_node.id(),
|
||||
target_tree: accesskit::TreeId::ROOT,
|
||||
data: None,
|
||||
}));
|
||||
}
|
||||
@@ -191,7 +196,8 @@ impl Node<'_> {
|
||||
pub fn scroll_left(&self) {
|
||||
self.event(egui::Event::AccessKitActionRequest(ActionRequest {
|
||||
action: accesskit::Action::ScrollLeft,
|
||||
target: self.accesskit_node.id(),
|
||||
target_node: self.accesskit_node.id(),
|
||||
target_tree: accesskit::TreeId::ROOT,
|
||||
data: None,
|
||||
}));
|
||||
}
|
||||
@@ -200,7 +206,8 @@ impl Node<'_> {
|
||||
pub fn scroll_right(&self) {
|
||||
self.event(egui::Event::AccessKitActionRequest(ActionRequest {
|
||||
action: accesskit::Action::ScrollRight,
|
||||
target: self.accesskit_node.id(),
|
||||
target_node: self.accesskit_node.id(),
|
||||
target_tree: accesskit::TreeId::ROOT,
|
||||
data: None,
|
||||
}));
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user