Struct CacheKeyFlags
pub struct CacheKeyFlags(/* private fields */);Expand description
Flags that change rendering
Implementations§
§impl CacheKeyFlags
impl CacheKeyFlags
pub const FAKE_ITALIC: CacheKeyFlags
pub const FAKE_ITALIC: CacheKeyFlags
Skew by 14 degrees to synthesize italic
pub const DISABLE_HINTING: CacheKeyFlags
pub const DISABLE_HINTING: CacheKeyFlags
Disable hinting
pub const PIXEL_FONT: CacheKeyFlags
pub const PIXEL_FONT: CacheKeyFlags
Render as a pixel font
§impl CacheKeyFlags
impl CacheKeyFlags
pub const fn empty() -> CacheKeyFlags
pub const fn empty() -> CacheKeyFlags
Get a flags value with all bits unset.
pub const fn all() -> CacheKeyFlags
pub const fn all() -> CacheKeyFlags
Get a flags value with all known bits set.
pub const fn bits(&self) -> u32
pub const fn bits(&self) -> u32
Get the underlying bits value.
The returned value is exactly the bits set in this flags value.
pub const fn from_bits(bits: u32) -> Option<CacheKeyFlags>
pub const fn from_bits(bits: u32) -> Option<CacheKeyFlags>
Convert from a bits value.
This method will return None if any unknown bits are set.
pub const fn from_bits_truncate(bits: u32) -> CacheKeyFlags
pub const fn from_bits_truncate(bits: u32) -> CacheKeyFlags
Convert from a bits value, unsetting any unknown bits.
pub const fn from_bits_retain(bits: u32) -> CacheKeyFlags
pub const fn from_bits_retain(bits: u32) -> CacheKeyFlags
Convert from a bits value exactly.
pub fn from_name(name: &str) -> Option<CacheKeyFlags>
pub fn from_name(name: &str) -> Option<CacheKeyFlags>
Get a flags value with the bits of a flag with the given name set.
This method will return None if name is empty or doesn’t
correspond to any named flag.
pub const fn intersects(&self, other: CacheKeyFlags) -> bool
pub const fn intersects(&self, other: CacheKeyFlags) -> bool
Whether any set bits in a source flags value are also set in a target flags value.
pub const fn contains(&self, other: CacheKeyFlags) -> bool
pub const fn contains(&self, other: CacheKeyFlags) -> bool
Whether all set bits in a source flags value are also set in a target flags value.
pub fn insert(&mut self, other: CacheKeyFlags)
pub fn insert(&mut self, other: CacheKeyFlags)
The bitwise or (|) of the bits in two flags values.
pub fn remove(&mut self, other: CacheKeyFlags)
pub fn remove(&mut self, other: CacheKeyFlags)
The intersection of a source flags value with the complement of a target flags
value (&!).
This method is not equivalent to self & !other when other has unknown bits set.
remove won’t truncate other, but the ! operator will.
pub fn toggle(&mut self, other: CacheKeyFlags)
pub fn toggle(&mut self, other: CacheKeyFlags)
The bitwise exclusive-or (^) of the bits in two flags values.
pub fn set(&mut self, other: CacheKeyFlags, value: bool)
pub fn set(&mut self, other: CacheKeyFlags, value: bool)
Call insert when value is true or remove when value is false.
pub const fn intersection(self, other: CacheKeyFlags) -> CacheKeyFlags
pub const fn intersection(self, other: CacheKeyFlags) -> CacheKeyFlags
The bitwise and (&) of the bits in two flags values.
pub const fn union(self, other: CacheKeyFlags) -> CacheKeyFlags
pub const fn union(self, other: CacheKeyFlags) -> CacheKeyFlags
The bitwise or (|) of the bits in two flags values.
pub const fn difference(self, other: CacheKeyFlags) -> CacheKeyFlags
pub const fn difference(self, other: CacheKeyFlags) -> CacheKeyFlags
The intersection of a source flags value with the complement of a target flags
value (&!).
This method is not equivalent to self & !other when other has unknown bits set.
difference won’t truncate other, but the ! operator will.
pub const fn symmetric_difference(self, other: CacheKeyFlags) -> CacheKeyFlags
pub const fn symmetric_difference(self, other: CacheKeyFlags) -> CacheKeyFlags
The bitwise exclusive-or (^) of the bits in two flags values.
pub const fn complement(self) -> CacheKeyFlags
pub const fn complement(self) -> CacheKeyFlags
The bitwise negation (!) of the bits in a flags value, truncating the result.
§impl CacheKeyFlags
impl CacheKeyFlags
pub const fn iter(&self) -> Iter<CacheKeyFlags>
pub const fn iter(&self) -> Iter<CacheKeyFlags>
Yield a set of contained flags values.
Each yielded flags value will correspond to a defined named flag. Any unknown bits will be yielded together as a final flags value.
pub const fn iter_names(&self) -> IterNames<CacheKeyFlags>
pub const fn iter_names(&self) -> IterNames<CacheKeyFlags>
Yield a set of contained named flags values.
This method is like iter, except only yields bits in contained named flags.
Any unknown bits, or bits not corresponding to a contained flag will not be yielded.
Trait Implementations§
§impl Binary for CacheKeyFlags
impl Binary for CacheKeyFlags
§impl BitAnd for CacheKeyFlags
impl BitAnd for CacheKeyFlags
§fn bitand(self, other: CacheKeyFlags) -> CacheKeyFlags
fn bitand(self, other: CacheKeyFlags) -> CacheKeyFlags
The bitwise and (&) of the bits in two flags values.
§type Output = CacheKeyFlags
type Output = CacheKeyFlags
& operator.§impl BitAndAssign for CacheKeyFlags
impl BitAndAssign for CacheKeyFlags
§fn bitand_assign(&mut self, other: CacheKeyFlags)
fn bitand_assign(&mut self, other: CacheKeyFlags)
The bitwise and (&) of the bits in two flags values.
§impl BitOr for CacheKeyFlags
impl BitOr for CacheKeyFlags
§fn bitor(self, other: CacheKeyFlags) -> CacheKeyFlags
fn bitor(self, other: CacheKeyFlags) -> CacheKeyFlags
The bitwise or (|) of the bits in two flags values.
§type Output = CacheKeyFlags
type Output = CacheKeyFlags
| operator.§impl BitOrAssign for CacheKeyFlags
impl BitOrAssign for CacheKeyFlags
§fn bitor_assign(&mut self, other: CacheKeyFlags)
fn bitor_assign(&mut self, other: CacheKeyFlags)
The bitwise or (|) of the bits in two flags values.
§impl BitXor for CacheKeyFlags
impl BitXor for CacheKeyFlags
§fn bitxor(self, other: CacheKeyFlags) -> CacheKeyFlags
fn bitxor(self, other: CacheKeyFlags) -> CacheKeyFlags
The bitwise exclusive-or (^) of the bits in two flags values.
§type Output = CacheKeyFlags
type Output = CacheKeyFlags
^ operator.§impl BitXorAssign for CacheKeyFlags
impl BitXorAssign for CacheKeyFlags
§fn bitxor_assign(&mut self, other: CacheKeyFlags)
fn bitxor_assign(&mut self, other: CacheKeyFlags)
The bitwise exclusive-or (^) of the bits in two flags values.
§impl Clone for CacheKeyFlags
impl Clone for CacheKeyFlags
§fn clone(&self) -> CacheKeyFlags
fn clone(&self) -> CacheKeyFlags
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more§impl Debug for CacheKeyFlags
impl Debug for CacheKeyFlags
§impl Extend<CacheKeyFlags> for CacheKeyFlags
impl Extend<CacheKeyFlags> for CacheKeyFlags
§fn extend<T>(&mut self, iterator: T)where
T: IntoIterator<Item = CacheKeyFlags>,
fn extend<T>(&mut self, iterator: T)where
T: IntoIterator<Item = CacheKeyFlags>,
The bitwise or (|) of the bits in each flags value.
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)§impl Flags for CacheKeyFlags
impl Flags for CacheKeyFlags
§const FLAGS: &'static [Flag<CacheKeyFlags>]
const FLAGS: &'static [Flag<CacheKeyFlags>]
§fn from_bits_retain(bits: u32) -> CacheKeyFlags
fn from_bits_retain(bits: u32) -> CacheKeyFlags
§fn known_bits(&self) -> Self::Bits
fn known_bits(&self) -> Self::Bits
§fn unknown_bits(&self) -> Self::Bits
fn unknown_bits(&self) -> Self::Bits
§fn contains_unknown_bits(&self) -> bool
fn contains_unknown_bits(&self) -> bool
true if any unknown bits are set.§fn from_bits_truncate(bits: Self::Bits) -> Self
fn from_bits_truncate(bits: Self::Bits) -> Self
§fn from_name(name: &str) -> Option<Self>
fn from_name(name: &str) -> Option<Self>
§fn iter_names(&self) -> IterNames<Self>
fn iter_names(&self) -> IterNames<Self>
§fn iter_defined_names() -> IterDefinedNames<Self>
fn iter_defined_names() -> IterDefinedNames<Self>
Self::FLAGS].§fn intersects(&self, other: Self) -> boolwhere
Self: Sized,
fn intersects(&self, other: Self) -> boolwhere
Self: Sized,
§fn contains(&self, other: Self) -> boolwhere
Self: Sized,
fn contains(&self, other: Self) -> boolwhere
Self: Sized,
§fn insert(&mut self, other: Self)where
Self: Sized,
fn insert(&mut self, other: Self)where
Self: Sized,
|) of the bits in two flags values.§fn remove(&mut self, other: Self)where
Self: Sized,
fn remove(&mut self, other: Self)where
Self: Sized,
&!). Read more§fn toggle(&mut self, other: Self)where
Self: Sized,
fn toggle(&mut self, other: Self)where
Self: Sized,
^) of the bits in two flags values.§fn set(&mut self, other: Self, value: bool)where
Self: Sized,
fn set(&mut self, other: Self, value: bool)where
Self: Sized,
Flags::insert] when value is true or [Flags::remove] when value is false.§fn intersection(self, other: Self) -> Self
fn intersection(self, other: Self) -> Self
&) of the bits in two flags values.§fn difference(self, other: Self) -> Self
fn difference(self, other: Self) -> Self
&!). Read more§fn symmetric_difference(self, other: Self) -> Self
fn symmetric_difference(self, other: Self) -> Self
^) of the bits in two flags values.§fn complement(self) -> Self
fn complement(self) -> Self
!) of the bits in a flags value, truncating the result.§impl FromIterator<CacheKeyFlags> for CacheKeyFlags
impl FromIterator<CacheKeyFlags> for CacheKeyFlags
§fn from_iter<T>(iterator: T) -> CacheKeyFlagswhere
T: IntoIterator<Item = CacheKeyFlags>,
fn from_iter<T>(iterator: T) -> CacheKeyFlagswhere
T: IntoIterator<Item = CacheKeyFlags>,
The bitwise or (|) of the bits in each flags value.
§impl Hash for CacheKeyFlags
impl Hash for CacheKeyFlags
§impl IntoIterator for CacheKeyFlags
impl IntoIterator for CacheKeyFlags
§type Item = CacheKeyFlags
type Item = CacheKeyFlags
§type IntoIter = Iter<CacheKeyFlags>
type IntoIter = Iter<CacheKeyFlags>
§fn into_iter(self) -> <CacheKeyFlags as IntoIterator>::IntoIter
fn into_iter(self) -> <CacheKeyFlags as IntoIterator>::IntoIter
§impl LowerHex for CacheKeyFlags
impl LowerHex for CacheKeyFlags
§impl Not for CacheKeyFlags
impl Not for CacheKeyFlags
§fn not(self) -> CacheKeyFlags
fn not(self) -> CacheKeyFlags
The bitwise negation (!) of the bits in a flags value, truncating the result.
§type Output = CacheKeyFlags
type Output = CacheKeyFlags
! operator.§impl Octal for CacheKeyFlags
impl Octal for CacheKeyFlags
§impl Ord for CacheKeyFlags
impl Ord for CacheKeyFlags
§fn cmp(&self, other: &CacheKeyFlags) -> Ordering
fn cmp(&self, other: &CacheKeyFlags) -> Ordering
1.21.0 (const: unstable) · Source§fn max(self, other: Self) -> Selfwhere
Self: Sized,
fn max(self, other: Self) -> Selfwhere
Self: Sized,
§impl PartialEq for CacheKeyFlags
impl PartialEq for CacheKeyFlags
§impl PartialOrd for CacheKeyFlags
impl PartialOrd for CacheKeyFlags
§impl Sub for CacheKeyFlags
impl Sub for CacheKeyFlags
§fn sub(self, other: CacheKeyFlags) -> CacheKeyFlags
fn sub(self, other: CacheKeyFlags) -> CacheKeyFlags
The intersection of a source flags value with the complement of a target flags value (&!).
This method is not equivalent to self & !other when other has unknown bits set.
difference won’t truncate other, but the ! operator will.
§type Output = CacheKeyFlags
type Output = CacheKeyFlags
- operator.§impl SubAssign for CacheKeyFlags
impl SubAssign for CacheKeyFlags
§fn sub_assign(&mut self, other: CacheKeyFlags)
fn sub_assign(&mut self, other: CacheKeyFlags)
The intersection of a source flags value with the complement of a target flags value (&!).
This method is not equivalent to self & !other when other has unknown bits set.
difference won’t truncate other, but the ! operator will.
§impl UpperHex for CacheKeyFlags
impl UpperHex for CacheKeyFlags
impl Copy for CacheKeyFlags
impl Eq for CacheKeyFlags
impl StructuralPartialEq for CacheKeyFlags
Auto Trait Implementations§
impl Freeze for CacheKeyFlags
impl RefUnwindSafe for CacheKeyFlags
impl Send for CacheKeyFlags
impl Sync for CacheKeyFlags
impl Unpin for CacheKeyFlags
impl UnsafeUnpin for CacheKeyFlags
impl UnwindSafe for CacheKeyFlags
Blanket Implementations§
§impl<T> AnyEq for T
impl<T> AnyEq for T
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,
§impl<Q, K> Comparable<K> for Q
impl<Q, K> Comparable<K> for Q
§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can
then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait.§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.§impl<T> DowncastSync for T
impl<T> DowncastSync for T
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§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