pub enum FocusPolicy {
FocusOnPointer,
PreserveCurrentOnPointer,
}Expand description
How a focusable node responds to pointer focus.
FocusPolicy only changes pointer-driven focus assignment. Keyboard focus,
accessibility focus, and semantic activation still work for focusable nodes.
§Example
A toolbar button can run its action without taking focus from an editor:
use fission_ir::semantics::{FocusPolicy, Role};
use fission_ir::Semantics;
let semantics = Semantics {
role: Role::Button,
focusable: true,
focus_policy: FocusPolicy::PreserveCurrentOnPointer,
..Semantics::default()
};Variants§
FocusOnPointer
Pointer-down focuses this node when it is focusable. This is the normal behavior for buttons, text inputs, and other controls.
PreserveCurrentOnPointer
Pointer-down keeps the currently focused node focused while still letting this node receive pointer state and activation actions.
Trait Implementations§
Source§impl Clone for FocusPolicy
impl Clone for FocusPolicy
Source§fn clone(&self) -> FocusPolicy
fn clone(&self) -> FocusPolicy
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreimpl Copy for FocusPolicy
Source§impl Debug for FocusPolicy
impl Debug for FocusPolicy
Source§impl Default for FocusPolicy
impl Default for FocusPolicy
Source§fn default() -> FocusPolicy
fn default() -> FocusPolicy
Returns the “default value” for a type. Read more
Source§impl<'de> Deserialize<'de> for FocusPolicy
impl<'de> Deserialize<'de> for FocusPolicy
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
impl Eq for FocusPolicy
Source§impl Hash for FocusPolicy
impl Hash for FocusPolicy
Source§impl PartialEq for FocusPolicy
impl PartialEq for FocusPolicy
Source§fn eq(&self, other: &FocusPolicy) -> bool
fn eq(&self, other: &FocusPolicy) -> bool
Tests for
self and other values to be equal, and is used by ==.Source§impl Serialize for FocusPolicy
impl Serialize for FocusPolicy
impl StructuralPartialEq for FocusPolicy
Auto Trait Implementations§
impl Freeze for FocusPolicy
impl RefUnwindSafe for FocusPolicy
impl Send for FocusPolicy
impl Sync for FocusPolicy
impl Unpin for FocusPolicy
impl UnsafeUnpin for FocusPolicy
impl UnwindSafe for FocusPolicy
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more