Struct style::invalidation::element::restyle_hints::RestyleHint
source · #[repr(C)]pub struct RestyleHint {
bits: u16,
}
Expand description
The kind of restyle we need to do for a given element.
Fields§
§bits: u16
Implementations§
source§impl RestyleHint
impl RestyleHint
sourcepub const RESTYLE_SELF: Self = _
pub const RESTYLE_SELF: Self = _
Do a selector match of the element.
sourcepub const RESTYLE_PSEUDOS: Self = _
pub const RESTYLE_PSEUDOS: Self = _
Do a selector match of the element’s pseudo-elements. Always to be combined with RESTYLE_SELF.
sourcepub const RESTYLE_SELF_IF_PSEUDO: Self = _
pub const RESTYLE_SELF_IF_PSEUDO: Self = _
Do a selector match if the element is a pseudo-element.
sourcepub const RESTYLE_DESCENDANTS: Self = _
pub const RESTYLE_DESCENDANTS: Self = _
Do a selector match of the element’s descendants.
sourcepub const RECASCADE_SELF: Self = _
pub const RECASCADE_SELF: Self = _
Recascade the current element.
sourcepub const RECASCADE_SELF_IF_INHERIT_RESET_STYLE: Self = _
pub const RECASCADE_SELF_IF_INHERIT_RESET_STYLE: Self = _
Recascade the current element if it inherits any reset style.
sourcepub const RECASCADE_DESCENDANTS: Self = _
pub const RECASCADE_DESCENDANTS: Self = _
Recascade all descendant elements.
sourcepub const RESTYLE_CSS_TRANSITIONS: Self = _
pub const RESTYLE_CSS_TRANSITIONS: Self = _
Replace the style data coming from CSS transitions without updating any other style data. This hint is only processed in animation-only traversal which is prior to normal traversal.
sourcepub const RESTYLE_CSS_ANIMATIONS: Self = _
pub const RESTYLE_CSS_ANIMATIONS: Self = _
Replace the style data coming from CSS animations without updating any other style data. This hint is only processed in animation-only traversal which is prior to normal traversal.
sourcepub const RESTYLE_STYLE_ATTRIBUTE: Self = _
pub const RESTYLE_STYLE_ATTRIBUTE: Self = _
Don’t re-run selector-matching on the element, only the style attribute has changed, and this change didn’t have any other dependencies.
sourcepub const RESTYLE_SMIL: Self = _
pub const RESTYLE_SMIL: Self = _
Replace the style data coming from SMIL animations without updating any other style data. This hint is only processed in animation-only traversal which is prior to normal traversal.
sourcepub const fn from_bits(bits: u16) -> Option<Self>
pub const fn from_bits(bits: u16) -> Option<Self>
Convert from underlying bit representation, unless that representation contains bits that do not correspond to a flag.
sourcepub const fn from_bits_truncate(bits: u16) -> Self
pub const fn from_bits_truncate(bits: u16) -> Self
Convert from underlying bit representation, dropping any bits that do not correspond to flags.
sourcepub const unsafe fn from_bits_unchecked(bits: u16) -> Self
pub const unsafe fn from_bits_unchecked(bits: u16) -> Self
Convert from underlying bit representation, preserving all bits (even those not corresponding to a defined flag).
Safety
The caller of the bitflags!
macro can chose to allow or
disallow extra bits for their bitflags type.
The caller of from_bits_unchecked()
has to ensure that
all bits correspond to a defined flag or that extra bits
are valid for this bitflags type.
sourcepub const fn intersects(&self, other: Self) -> bool
pub const fn intersects(&self, other: Self) -> bool
Returns true
if there are flags common to both self
and other
.
sourcepub const fn contains(&self, other: Self) -> bool
pub const fn contains(&self, other: Self) -> bool
Returns true
if all of the flags in other
are contained within self
.
sourcepub fn set(&mut self, other: Self, value: bool)
pub fn set(&mut self, other: Self, value: bool)
Inserts or removes the specified flags depending on the passed value.
sourcepub const fn intersection(self, other: Self) -> Self
pub const fn intersection(self, other: Self) -> Self
Returns the intersection between the flags in self
and
other
.
Specifically, the returned set contains only the flags which are
present in both self
and other
.
This is equivalent to using the &
operator (e.g.
ops::BitAnd
), as in flags & other
.
sourcepub const fn union(self, other: Self) -> Self
pub const fn union(self, other: Self) -> Self
Returns the union of between the flags in self
and other
.
Specifically, the returned set contains all flags which are
present in either self
or other
, including any which are
present in both (see Self::symmetric_difference
if that
is undesirable).
This is equivalent to using the |
operator (e.g.
ops::BitOr
), as in flags | other
.
sourcepub const fn difference(self, other: Self) -> Self
pub const fn difference(self, other: Self) -> Self
Returns the difference between the flags in self
and other
.
Specifically, the returned set contains all flags present in
self
, except for the ones present in other
.
It is also conceptually equivalent to the “bit-clear” operation:
flags & !other
(and this syntax is also supported).
This is equivalent to using the -
operator (e.g.
ops::Sub
), as in flags - other
.
sourcepub const fn symmetric_difference(self, other: Self) -> Self
pub const fn symmetric_difference(self, other: Self) -> Self
Returns the symmetric difference between the flags
in self
and other
.
Specifically, the returned set contains the flags present which
are present in self
or other
, but that are not present in
both. Equivalently, it contains the flags present in exactly
one of the sets self
and other
.
This is equivalent to using the ^
operator (e.g.
ops::BitXor
), as in flags ^ other
.
sourcepub const fn complement(self) -> Self
pub const fn complement(self) -> Self
Returns the complement of this set of flags.
Specifically, the returned set contains all the flags which are
not set in self
, but which are allowed for this type.
Alternatively, it can be thought of as the set difference
between Self::all()
and self
(e.g. Self::all() - self
)
This is equivalent to using the !
operator (e.g.
ops::Not
), as in !flags
.
source§impl RestyleHint
impl RestyleHint
sourcepub fn restyle_subtree() -> Self
pub fn restyle_subtree() -> Self
Creates a new RestyleHint
indicating that the current element and all
its descendants must be fully restyled.
sourcepub fn recascade_subtree() -> Self
pub fn recascade_subtree() -> Self
Creates a new RestyleHint
indicating that the current element and all
its descendants must be recascaded.
sourcepub fn contains_subtree(&self) -> bool
pub fn contains_subtree(&self) -> bool
Returns whether this hint invalidates the element and all its descendants.
sourcepub fn will_recascade_subtree(&self) -> bool
pub fn will_recascade_subtree(&self) -> bool
Returns whether we’ll recascade all of the descendants.
sourcepub fn has_non_animation_invalidations(&self) -> bool
pub fn has_non_animation_invalidations(&self) -> bool
Returns whether we need to restyle this element.
sourcepub fn propagate(&mut self, traversal_flags: &TraversalFlags) -> Self
pub fn propagate(&mut self, traversal_flags: &TraversalFlags) -> Self
Propagates this restyle hint to a child element.
sourcefn propagate_for_non_animation_restyle(&self) -> Self
fn propagate_for_non_animation_restyle(&self) -> Self
Returns a new RestyleHint
appropriate for children of the current element.
sourcepub fn replacements() -> Self
pub fn replacements() -> Self
Returns a hint that contains all the replacement hints.
sourcepub fn for_animations() -> Self
pub fn for_animations() -> Self
The replacements for the animation cascade levels.
sourcepub fn has_animation_hint(&self) -> bool
pub fn has_animation_hint(&self) -> bool
Returns whether the hint specifies that an animation cascade level must be replaced.
sourcepub fn has_animation_hint_or_recascade(&self) -> bool
pub fn has_animation_hint_or_recascade(&self) -> bool
Returns whether the hint specifies that an animation cascade level must be replaced.
sourcepub fn has_non_animation_hint(&self) -> bool
pub fn has_non_animation_hint(&self) -> bool
Returns whether the hint specifies some restyle work other than an animation cascade level replacement.
sourcepub fn has_replacements(&self) -> bool
pub fn has_replacements(&self) -> bool
Returns whether the hint specifies that some cascade levels must be replaced.
sourcepub fn remove_animation_hints(&mut self)
pub fn remove_animation_hints(&mut self)
Removes all of the animation-related hints.
Trait Implementations§
source§impl Binary for RestyleHint
impl Binary for RestyleHint
source§impl BitAnd<RestyleHint> for RestyleHint
impl BitAnd<RestyleHint> for RestyleHint
source§impl BitAndAssign<RestyleHint> for RestyleHint
impl BitAndAssign<RestyleHint> for RestyleHint
source§fn bitand_assign(&mut self, other: Self)
fn bitand_assign(&mut self, other: Self)
Disables all flags disabled in the set.
source§impl BitOr<RestyleHint> for RestyleHint
impl BitOr<RestyleHint> for RestyleHint
source§fn bitor(self, other: RestyleHint) -> Self
fn bitor(self, other: RestyleHint) -> Self
Returns the union of the two sets of flags.
§type Output = RestyleHint
type Output = RestyleHint
|
operator.source§impl BitOrAssign<RestyleHint> for RestyleHint
impl BitOrAssign<RestyleHint> for RestyleHint
source§fn bitor_assign(&mut self, other: Self)
fn bitor_assign(&mut self, other: Self)
Adds the set of flags.
source§impl BitXor<RestyleHint> for RestyleHint
impl BitXor<RestyleHint> for RestyleHint
source§impl BitXorAssign<RestyleHint> for RestyleHint
impl BitXorAssign<RestyleHint> for RestyleHint
source§fn bitxor_assign(&mut self, other: Self)
fn bitxor_assign(&mut self, other: Self)
Toggles the set of flags.
source§impl Clone for RestyleHint
impl Clone for RestyleHint
source§fn clone(&self) -> RestyleHint
fn clone(&self) -> RestyleHint
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moresource§impl Debug for RestyleHint
impl Debug for RestyleHint
source§impl Default for RestyleHint
impl Default for RestyleHint
source§impl Extend<RestyleHint> for RestyleHint
impl Extend<RestyleHint> for RestyleHint
source§fn extend<T: IntoIterator<Item = Self>>(&mut self, iterator: T)
fn extend<T: IntoIterator<Item = Self>>(&mut self, iterator: T)
source§fn extend_one(&mut self, item: A)
fn extend_one(&mut self, item: A)
extend_one
)source§fn extend_reserve(&mut self, additional: usize)
fn extend_reserve(&mut self, additional: usize)
extend_one
)source§impl FromIterator<RestyleHint> for RestyleHint
impl FromIterator<RestyleHint> for RestyleHint
source§fn from_iter<T: IntoIterator<Item = Self>>(iterator: T) -> Self
fn from_iter<T: IntoIterator<Item = Self>>(iterator: T) -> Self
source§impl Hash for RestyleHint
impl Hash for RestyleHint
source§impl LowerHex for RestyleHint
impl LowerHex for RestyleHint
source§impl MallocSizeOf for RestyleHint
impl MallocSizeOf for RestyleHint
source§fn size_of(&self, _: &mut MallocSizeOfOps) -> usize
fn size_of(&self, _: &mut MallocSizeOfOps) -> usize
source§impl Not for RestyleHint
impl Not for RestyleHint
source§impl Octal for RestyleHint
impl Octal for RestyleHint
source§impl Ord for RestyleHint
impl Ord for RestyleHint
source§fn cmp(&self, other: &RestyleHint) -> Ordering
fn cmp(&self, other: &RestyleHint) -> Ordering
1.21.0 · source§fn max(self, other: Self) -> Selfwhere
Self: Sized,
fn max(self, other: Self) -> Selfwhere Self: Sized,
source§impl PartialEq<RestyleHint> for RestyleHint
impl PartialEq<RestyleHint> for RestyleHint
source§fn eq(&self, other: &RestyleHint) -> bool
fn eq(&self, other: &RestyleHint) -> bool
self
and other
values to be equal, and is used
by ==
.source§impl PartialOrd<RestyleHint> for RestyleHint
impl PartialOrd<RestyleHint> for RestyleHint
source§fn partial_cmp(&self, other: &RestyleHint) -> Option<Ordering>
fn partial_cmp(&self, other: &RestyleHint) -> Option<Ordering>
1.0.0 · source§fn le(&self, other: &Rhs) -> bool
fn le(&self, other: &Rhs) -> bool
self
and other
) and is used by the <=
operator. Read moresource§impl Sub<RestyleHint> for RestyleHint
impl Sub<RestyleHint> for RestyleHint
source§impl SubAssign<RestyleHint> for RestyleHint
impl SubAssign<RestyleHint> for RestyleHint
source§fn sub_assign(&mut self, other: Self)
fn sub_assign(&mut self, other: Self)
Disables all flags enabled in the set.
source§impl UpperHex for RestyleHint
impl UpperHex for RestyleHint
source§impl __BitFlags for RestyleHint
impl __BitFlags for RestyleHint
fn RESTYLE_SELF(&self) -> bool
fn RESTYLE_PSEUDOS(&self) -> bool
fn RESTYLE_SELF_IF_PSEUDO(&self) -> bool
fn RESTYLE_DESCENDANTS(&self) -> bool
fn RECASCADE_SELF(&self) -> bool
fn RECASCADE_SELF_IF_INHERIT_RESET_STYLE(&self) -> bool
fn RECASCADE_DESCENDANTS(&self) -> bool
fn RESTYLE_CSS_TRANSITIONS(&self) -> bool
fn RESTYLE_CSS_ANIMATIONS(&self) -> bool
fn RESTYLE_STYLE_ATTRIBUTE(&self) -> bool
fn RESTYLE_SMIL(&self) -> bool
source§impl __BitFlags for RestyleHint
impl __BitFlags for RestyleHint
const RESTYLE_SELF: u16 = 1u16
const RESTYLE_PSEUDOS: u16 = 2u16
const RESTYLE_SELF_IF_PSEUDO: u16 = 4u16
const RESTYLE_DESCENDANTS: u16 = 8u16
const RECASCADE_SELF: u16 = 16u16
const RECASCADE_SELF_IF_INHERIT_RESET_STYLE: u16 = 32u16
const RECASCADE_DESCENDANTS: u16 = 64u16
const RESTYLE_CSS_TRANSITIONS: u16 = 128u16
const RESTYLE_CSS_ANIMATIONS: u16 = 256u16
const RESTYLE_STYLE_ATTRIBUTE: u16 = 512u16
const RESTYLE_SMIL: u16 = 1_024u16
impl Copy for RestyleHint
impl Eq for RestyleHint
impl StructuralEq for RestyleHint
impl StructuralPartialEq for RestyleHint
Auto Trait Implementations§
impl RefUnwindSafe for RestyleHint
impl Send for RestyleHint
impl Sync for RestyleHint
impl Unpin for RestyleHint
impl UnwindSafe for RestyleHint
Blanket Implementations§
source§impl<Q, K> Equivalent<K> for Qwhere
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
impl<Q, K> Equivalent<K> for Qwhere Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,
source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key
and return true
if they are equal.