freya_core/accessibility/
id.rs1use std::sync::{
2 Arc,
3 atomic::{
4 AtomicU64,
5 Ordering,
6 },
7};
8
9pub use accesskit::{
10 NodeId as AccessibilityId,
11 Role as AccessibilityRole,
12};
13
14#[derive(Clone)]
15pub struct AccessibilityGenerator {
16 counter: Arc<AtomicU64>,
17}
18
19impl Default for AccessibilityGenerator {
20 fn default() -> Self {
21 Self {
22 counter: Arc::new(AtomicU64::new(1)), }
24 }
25}
26
27impl AccessibilityGenerator {
28 pub fn new_id(&self) -> u64 {
29 self.counter.fetch_add(1, Ordering::Relaxed)
30 }
31}