freya_winit/
accessibility.rs

1use std::{
2    mem,
3    ops::BitOrAssign,
4};
5
6use freya_core::prelude::NavigationMode;
7
8#[derive(Hash, PartialEq, Eq)]
9pub enum AccessibilityTask {
10    Init,
11    ProcessUpdate { mode: Option<NavigationMode> },
12    None,
13}
14
15impl AccessibilityTask {
16    pub fn take(&mut self) -> Self {
17        mem::replace(self, Self::None)
18    }
19}
20
21impl BitOrAssign for AccessibilityTask {
22    fn bitor_assign(&mut self, rhs: Self) {
23        if self == &Self::None {
24            *self = rhs
25        }
26    }
27}