Struct style::servo::restyle_damage::ServoRestyleDamage
source · pub struct ServoRestyleDamage {
bits: u8,
}
Expand description
Individual layout actions that may be necessary after restyling.
Fields§
§bits: u8
Implementations§
source§impl ServoRestyleDamage
impl ServoRestyleDamage
sourcepub const REPAINT: Self = _
pub const REPAINT: Self = _
Repaint the node itself.
Currently unused; need to decide how this propagates.
sourcepub const REPOSITION: Self = _
pub const REPOSITION: Self = _
The stacking-context-relative position of this node or its descendants has changed.
Propagates both up and down the flow tree.
sourcepub const STORE_OVERFLOW: Self = _
pub const STORE_OVERFLOW: Self = _
Recompute the overflow regions (bounding box of object and all descendants).
Propagates down the flow tree because the computation is bottom-up.
sourcepub const BUBBLE_ISIZES: Self = _
pub const BUBBLE_ISIZES: Self = _
Recompute intrinsic inline_sizes (minimum and preferred).
Propagates down the flow tree because the computation is. bottom-up.
sourcepub const REFLOW_OUT_OF_FLOW: Self = _
pub const REFLOW_OUT_OF_FLOW: Self = _
Recompute actual inline-sizes and block-sizes, only taking out-of-flow children into account.
Propagates up the flow tree because the computation is top-down.
sourcepub const REFLOW: Self = _
pub const REFLOW: Self = _
Recompute actual inline_sizes and block_sizes.
Propagates up the flow tree because the computation is top-down.
sourcepub const RESOLVE_GENERATED_CONTENT: Self = _
pub const RESOLVE_GENERATED_CONTENT: Self = _
Re-resolve generated content.
Propagates up the flow tree because the computation is inorder.
sourcepub const RECONSTRUCT_FLOW: Self = _
pub const RECONSTRUCT_FLOW: Self = _
The entire flow needs to be reconstructed.
sourcepub const fn from_bits(bits: u8) -> Option<Self>
pub const fn from_bits(bits: u8) -> 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: u8) -> Self
pub const fn from_bits_truncate(bits: u8) -> Self
Convert from underlying bit representation, dropping any bits that do not correspond to flags.
sourcepub const unsafe fn from_bits_unchecked(bits: u8) -> Self
pub const unsafe fn from_bits_unchecked(bits: u8) -> 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 ServoRestyleDamage
impl ServoRestyleDamage
sourcepub fn compute_style_difference(
old: &ComputedValues,
new: &ComputedValues
) -> StyleDifference
pub fn compute_style_difference( old: &ComputedValues, new: &ComputedValues ) -> StyleDifference
Compute the StyleDifference
(including the appropriate restyle damage)
for a given style change between old
and new
.
sourcepub fn rebuild_and_reflow() -> ServoRestyleDamage
pub fn rebuild_and_reflow() -> ServoRestyleDamage
Returns a bitmask that represents a flow that needs to be rebuilt and reflowed.
FIXME(bholley): Do we ever actually need this? Shouldn’t RECONSTRUCT_FLOW imply everything else?
sourcepub fn reconstruct() -> ServoRestyleDamage
pub fn reconstruct() -> ServoRestyleDamage
Returns a bitmask indicating that the frame needs to be reconstructed.
sourcepub fn damage_for_parent(
self,
child_is_absolutely_positioned: bool
) -> ServoRestyleDamage
pub fn damage_for_parent( self, child_is_absolutely_positioned: bool ) -> ServoRestyleDamage
Supposing a flow has the given position
property and this damage,
returns the damage that we should add to the parent of this flow.
sourcepub fn damage_for_child(
self,
parent_is_absolutely_positioned: bool,
child_is_absolutely_positioned: bool
) -> ServoRestyleDamage
pub fn damage_for_child( self, parent_is_absolutely_positioned: bool, child_is_absolutely_positioned: bool ) -> ServoRestyleDamage
Supposing the parent of a flow with the given position
property has
this damage, returns the damage that we should add to this flow.
Trait Implementations§
source§impl Binary for ServoRestyleDamage
impl Binary for ServoRestyleDamage
source§impl BitAndAssign<ServoRestyleDamage> for ServoRestyleDamage
impl BitAndAssign<ServoRestyleDamage> for ServoRestyleDamage
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<ServoRestyleDamage> for ServoRestyleDamage
impl BitOr<ServoRestyleDamage> for ServoRestyleDamage
source§fn bitor(self, other: ServoRestyleDamage) -> Self
fn bitor(self, other: ServoRestyleDamage) -> Self
Returns the union of the two sets of flags.
§type Output = ServoRestyleDamage
type Output = ServoRestyleDamage
|
operator.source§impl BitOrAssign<ServoRestyleDamage> for ServoRestyleDamage
impl BitOrAssign<ServoRestyleDamage> for ServoRestyleDamage
source§fn bitor_assign(&mut self, other: Self)
fn bitor_assign(&mut self, other: Self)
Adds the set of flags.
source§impl BitXorAssign<ServoRestyleDamage> for ServoRestyleDamage
impl BitXorAssign<ServoRestyleDamage> for ServoRestyleDamage
source§fn bitxor_assign(&mut self, other: Self)
fn bitxor_assign(&mut self, other: Self)
Toggles the set of flags.
source§impl Clone for ServoRestyleDamage
impl Clone for ServoRestyleDamage
source§fn clone(&self) -> ServoRestyleDamage
fn clone(&self) -> ServoRestyleDamage
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moresource§impl Debug for ServoRestyleDamage
impl Debug for ServoRestyleDamage
source§impl Default for ServoRestyleDamage
impl Default for ServoRestyleDamage
source§impl Display for ServoRestyleDamage
impl Display for ServoRestyleDamage
source§impl Extend<ServoRestyleDamage> for ServoRestyleDamage
impl Extend<ServoRestyleDamage> for ServoRestyleDamage
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<ServoRestyleDamage> for ServoRestyleDamage
impl FromIterator<ServoRestyleDamage> for ServoRestyleDamage
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 ServoRestyleDamage
impl Hash for ServoRestyleDamage
source§impl LowerHex for ServoRestyleDamage
impl LowerHex for ServoRestyleDamage
source§impl MallocSizeOf for ServoRestyleDamage
impl MallocSizeOf for ServoRestyleDamage
source§fn size_of(&self, _: &mut MallocSizeOfOps) -> usize
fn size_of(&self, _: &mut MallocSizeOfOps) -> usize
source§impl Not for ServoRestyleDamage
impl Not for ServoRestyleDamage
source§impl Octal for ServoRestyleDamage
impl Octal for ServoRestyleDamage
source§impl Ord for ServoRestyleDamage
impl Ord for ServoRestyleDamage
source§fn cmp(&self, other: &ServoRestyleDamage) -> Ordering
fn cmp(&self, other: &ServoRestyleDamage) -> Ordering
1.21.0 · source§fn max(self, other: Self) -> Selfwhere
Self: Sized,
fn max(self, other: Self) -> Selfwhere Self: Sized,
source§impl PartialEq<ServoRestyleDamage> for ServoRestyleDamage
impl PartialEq<ServoRestyleDamage> for ServoRestyleDamage
source§fn eq(&self, other: &ServoRestyleDamage) -> bool
fn eq(&self, other: &ServoRestyleDamage) -> bool
self
and other
values to be equal, and is used
by ==
.source§impl PartialOrd<ServoRestyleDamage> for ServoRestyleDamage
impl PartialOrd<ServoRestyleDamage> for ServoRestyleDamage
source§fn partial_cmp(&self, other: &ServoRestyleDamage) -> Option<Ordering>
fn partial_cmp(&self, other: &ServoRestyleDamage) -> 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<ServoRestyleDamage> for ServoRestyleDamage
impl Sub<ServoRestyleDamage> for ServoRestyleDamage
source§impl SubAssign<ServoRestyleDamage> for ServoRestyleDamage
impl SubAssign<ServoRestyleDamage> for ServoRestyleDamage
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 ServoRestyleDamage
impl UpperHex for ServoRestyleDamage
source§impl __BitFlags for ServoRestyleDamage
impl __BitFlags for ServoRestyleDamage
fn REPAINT(&self) -> bool
fn REPOSITION(&self) -> bool
fn STORE_OVERFLOW(&self) -> bool
fn BUBBLE_ISIZES(&self) -> bool
fn REFLOW_OUT_OF_FLOW(&self) -> bool
fn REFLOW(&self) -> bool
fn RESOLVE_GENERATED_CONTENT(&self) -> bool
fn RECONSTRUCT_FLOW(&self) -> bool
source§impl __BitFlags for ServoRestyleDamage
impl __BitFlags for ServoRestyleDamage
impl Copy for ServoRestyleDamage
impl Eq for ServoRestyleDamage
impl StructuralEq for ServoRestyleDamage
impl StructuralPartialEq for ServoRestyleDamage
Auto Trait Implementations§
impl RefUnwindSafe for ServoRestyleDamage
impl Send for ServoRestyleDamage
impl Sync for ServoRestyleDamage
impl Unpin for ServoRestyleDamage
impl UnwindSafe for ServoRestyleDamage
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.