freya_core/
platform_state.rs1use torin::prelude::Size2D;
2
3use crate::{
4 accessibility::id::AccessibilityId,
5 prelude::{
6 State,
7 consume_root_context,
8 },
9};
10
11#[derive(Clone, Copy, PartialEq, Eq, Default, Debug, Hash)]
12pub enum NavigationMode {
13 #[default]
14 NotKeyboard,
15
16 Keyboard,
17}
18
19#[derive(Clone)]
20pub struct PlatformState {
21 pub focused_accessibility_id: State<AccessibilityId>,
22 pub focused_accessibility_node: State<accesskit::Node>,
23 pub root_size: State<Size2D>,
24 pub navigation_mode: State<NavigationMode>,
25}
26
27impl PlatformState {
28 pub fn get() -> Self {
29 consume_root_context()
30 }
31}