pub struct FrameValueKey<T> { /* private fields */ }Expand description
Unique key of an updatable value in the view-process frame.
Implementations§
Source§impl<T> FrameValueKey<T>
impl<T> FrameValueKey<T>
Sourcepub fn new_unique() -> Self
pub fn new_unique() -> Self
Generates a new unique ID.
Sourcepub fn to_wr(self) -> FrameValueId
pub fn to_wr(self) -> FrameValueId
To view key.
Sourcepub fn to_wr_child(self, child_index: u32) -> FrameValueId
pub fn to_wr_child(self, child_index: u32) -> FrameValueId
To view key with an extra index modifier.
Sourcepub fn bind(self, value: T, animating: bool) -> FrameValue<T>
pub fn bind(self, value: T, animating: bool) -> FrameValue<T>
Create a binding with this key.
The animating flag controls if the binding will propagate to webrender, if true
webrender frame updates are generated for frame update requests, if false only the display
list is patched, a full frame is rendered on frame update requests.
Sourcepub fn bind_child(
self,
child_index: u32,
value: T,
animating: bool,
) -> FrameValue<T>
pub fn bind_child( self, child_index: u32, value: T, animating: bool, ) -> FrameValue<T>
Like bind but the key is modified to include the child_index.
Sourcepub fn update(self, value: T, animating: bool) -> FrameValueUpdate<T>
pub fn update(self, value: T, animating: bool) -> FrameValueUpdate<T>
Create a value update with this key.
Sourcepub fn update_child(
self,
child_index: u32,
value: T,
animating: bool,
) -> FrameValueUpdate<T>
pub fn update_child( self, child_index: u32, value: T, animating: bool, ) -> FrameValueUpdate<T>
Like update but the key is modified to include the child_index.
Sourcepub fn bind_var<VT: VarValue>(
self,
var: &Var<VT>,
map: impl FnOnce(&VT) -> T,
) -> FrameValue<T>
pub fn bind_var<VT: VarValue>( self, var: &Var<VT>, map: impl FnOnce(&VT) -> T, ) -> FrameValue<T>
Create a binding with this key and var.
The map must produce a copy or clone of the frame value.
Sourcepub fn bind_var_child<VT: VarValue>(
self,
child_index: u32,
var: &Var<VT>,
map: impl FnOnce(&VT) -> T,
) -> FrameValue<T>
pub fn bind_var_child<VT: VarValue>( self, child_index: u32, var: &Var<VT>, map: impl FnOnce(&VT) -> T, ) -> FrameValue<T>
Like bind_var but the key is modified to include the child_index.
Sourcepub fn bind_var_mapped<VT: VarValue>(
&self,
var: &Var<VT>,
value: T,
) -> FrameValue<T>
pub fn bind_var_mapped<VT: VarValue>( &self, var: &Var<VT>, value: T, ) -> FrameValue<T>
Create a binding with this key, var and already mapped value.
Sourcepub fn bind_var_mapped_child<VT: VarValue>(
&self,
child_index: u32,
var: &Var<VT>,
value: T,
) -> FrameValue<T>
pub fn bind_var_mapped_child<VT: VarValue>( &self, child_index: u32, var: &Var<VT>, value: T, ) -> FrameValue<T>
Like bind_var_mapped but the key is modified to include the child_index.
Sourcepub fn update_var<VT: VarValue>(
self,
var: &Var<VT>,
map: impl FnOnce(&VT) -> T,
) -> Option<FrameValueUpdate<T>>
pub fn update_var<VT: VarValue>( self, var: &Var<VT>, map: impl FnOnce(&VT) -> T, ) -> Option<FrameValueUpdate<T>>
Create a value update with this key and var.
Sourcepub fn update_var_child<VT: VarValue>(
self,
child_index: u32,
var: &Var<VT>,
map: impl FnOnce(&VT) -> T,
) -> Option<FrameValueUpdate<T>>
pub fn update_var_child<VT: VarValue>( self, child_index: u32, var: &Var<VT>, map: impl FnOnce(&VT) -> T, ) -> Option<FrameValueUpdate<T>>
Like update_var but the key is modified to include the child_index.
Sourcepub fn update_var_mapped<VT: VarValue>(
self,
var: &Var<VT>,
value: T,
) -> Option<FrameValueUpdate<T>>
pub fn update_var_mapped<VT: VarValue>( self, var: &Var<VT>, value: T, ) -> Option<FrameValueUpdate<T>>
Create a value update with this key, var and already mapped value.
Sourcepub fn update_var_mapped_child<VT: VarValue>(
self,
child_index: u32,
var: &Var<VT>,
value: T,
) -> Option<FrameValueUpdate<T>>
pub fn update_var_mapped_child<VT: VarValue>( self, child_index: u32, var: &Var<VT>, value: T, ) -> Option<FrameValueUpdate<T>>
Like update_var_mapped but the key is modified to include the child_index.
Trait Implementations§
Source§impl<T> Clone for FrameValueKey<T>
impl<T> Clone for FrameValueKey<T>
Source§impl<T: Debug> Debug for FrameValueKey<T>
impl<T: Debug> Debug for FrameValueKey<T>
Source§impl From<FrameValueKey<PxTransform>> for ReferenceFrameId
impl From<FrameValueKey<PxTransform>> for ReferenceFrameId
Source§fn from(value: FrameValueKey<PxTransform>) -> Self
fn from(value: FrameValueKey<PxTransform>) -> Self
Source§impl<T> PartialEq for FrameValueKey<T>
impl<T> PartialEq for FrameValueKey<T>
impl<T> Copy for FrameValueKey<T>
impl<T> Eq for FrameValueKey<T>
Auto Trait Implementations§
impl<T> Freeze for FrameValueKey<T>
impl<T> RefUnwindSafe for FrameValueKey<T>where
T: RefUnwindSafe,
impl<T> Send for FrameValueKey<T>where
T: Send,
impl<T> Sync for FrameValueKey<T>where
T: Sync,
impl<T> Unpin for FrameValueKey<T>where
T: Unpin,
impl<T> UnwindSafe for FrameValueKey<T>where
T: UnwindSafe,
Blanket Implementations§
Source§impl<T> AnyVarValue for T
impl<T> AnyVarValue for T
Source§fn clone_boxed(&self) -> BoxAnyVarValue
fn clone_boxed(&self) -> BoxAnyVarValue
Source§fn eq_any(&self, other: &(dyn AnyVarValue + 'static)) -> bool
fn eq_any(&self, other: &(dyn AnyVarValue + 'static)) -> bool
self and other are equal.Source§fn try_swap(&mut self, other: &mut (dyn AnyVarValue + 'static)) -> bool
fn try_swap(&mut self, other: &mut (dyn AnyVarValue + 'static)) -> bool
other if both are of the same type.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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more