pub enum ColorBlindMode {
Normal,
Protanopia,
Deuteranopia,
Tritanopia,
Protanomaly,
Deuteranomaly,
}Expand description
Color blindness simulation modes.
Variants§
Normal
Normal vision (identity transform — no-op, useful for A/B comparison).
Protanopia
Protanopia: absence of L (red) cones.
Deuteranopia
Deuteranopia: absence of M (green) cones.
Tritanopia
Tritanopia: absence of S (blue) cones.
Protanomaly
Protanomaly: reduced L cone sensitivity (milder form).
Deuteranomaly
Deuteranomaly: reduced M cone sensitivity (milder form).
Implementations§
Source§impl ColorBlindMode
impl ColorBlindMode
Sourcepub fn matrix(&self) -> [f32; 9]
pub fn matrix(&self) -> [f32; 9]
Returns the 3x3 color transformation matrix for this mode.
Matrix is in column-major order for WGLSL, operating on linear RGB. Values are based on the Brettel, Viénot & Mollon (1997) model.
Sourcepub fn display_name(&self) -> &'static str
pub fn display_name(&self) -> &'static str
Human-readable display name.
Sourcepub fn is_identity(&self) -> bool
pub fn is_identity(&self) -> bool
Whether this mode performs any actual transformation.
Trait Implementations§
Source§impl Clone for ColorBlindMode
impl Clone for ColorBlindMode
Source§fn clone(&self) -> ColorBlindMode
fn clone(&self) -> ColorBlindMode
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 moreSource§impl Debug for ColorBlindMode
impl Debug for ColorBlindMode
Source§impl PartialEq for ColorBlindMode
impl PartialEq for ColorBlindMode
Source§fn eq(&self, other: &ColorBlindMode) -> bool
fn eq(&self, other: &ColorBlindMode) -> bool
Tests for
self and other values to be equal, and is used by ==.impl Copy for ColorBlindMode
impl Eq for ColorBlindMode
impl StructuralPartialEq for ColorBlindMode
Auto Trait Implementations§
impl Freeze for ColorBlindMode
impl RefUnwindSafe for ColorBlindMode
impl Send for ColorBlindMode
impl Sync for ColorBlindMode
impl Unpin for ColorBlindMode
impl UnsafeUnpin for ColorBlindMode
impl UnwindSafe for ColorBlindMode
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Convert
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.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Convert
Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Convert
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Convert
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.Source§impl<T> DowncastSync for T
impl<T> DowncastSync for T
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
Compare self to
key and return true if they are equal.Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
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>
Converts
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>
Converts
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