Struct Scale
pub struct Scale<T, Src, Dst>(pub T, _);geometry only.Expand description
A scaling factor between two different units of measurement.
This is effectively a type-safe float, intended to be used in combination with other types like
length::Length to enforce conversion between systems of measurement at compile time.
Src and Dst represent the units before and after multiplying a value by a Scale. They
may be types without values, such as empty enums. For example:
use euclid::Scale;
use euclid::Length;
enum Mm {};
enum Inch {};
let mm_per_inch: Scale<f32, Inch, Mm> = Scale::new(25.4);
let one_foot: Length<f32, Inch> = Length::new(12.0);
let one_foot_in_mm: Length<f32, Mm> = one_foot * mm_per_inch;Tuple Fields§
§0: TImplementations§
§impl<T, Src, Dst> Scale<T, Src, Dst>
impl<T, Src, Dst> Scale<T, Src, Dst>
pub const fn new(x: T) -> Scale<T, Src, Dst>
canvas only.pub fn identity() -> Scale<T, Src, Dst>where
T: One,
Available on crate feature canvas only.
pub fn identity() -> Scale<T, Src, Dst>where
T: One,
canvas only.Creates an identity scale (1.0).
pub fn transform_point(
self,
point: Point2D<T, Src>,
) -> Point2D<<T as Mul>::Output, Dst>
Available on crate feature canvas only.
pub fn transform_point( self, point: Point2D<T, Src>, ) -> Point2D<<T as Mul>::Output, Dst>
canvas only.Returns the given point transformed by this scale.
§Example
use euclid::{Scale, point2};
enum Mm {};
enum Cm {};
let to_mm: Scale<i32, Cm, Mm> = Scale::new(10);
assert_eq!(to_mm.transform_point(point2(42, -42)), point2(420, -420));pub fn transform_point3d(
self,
point: Point3D<T, Src>,
) -> Point3D<<T as Mul>::Output, Dst>
Available on crate feature canvas only.
pub fn transform_point3d( self, point: Point3D<T, Src>, ) -> Point3D<<T as Mul>::Output, Dst>
canvas only.Returns the given point transformed by this scale.
pub fn transform_vector(
self,
vec: Vector2D<T, Src>,
) -> Vector2D<<T as Mul>::Output, Dst>
Available on crate feature canvas only.
pub fn transform_vector( self, vec: Vector2D<T, Src>, ) -> Vector2D<<T as Mul>::Output, Dst>
canvas only.Returns the given vector transformed by this scale.
§Example
use euclid::{Scale, vec2};
enum Mm {};
enum Cm {};
let to_mm: Scale<i32, Cm, Mm> = Scale::new(10);
assert_eq!(to_mm.transform_vector(vec2(42, -42)), vec2(420, -420));pub fn transform_size(
self,
size: Size2D<T, Src>,
) -> Size2D<<T as Mul>::Output, Dst>
Available on crate feature canvas only.
pub fn transform_size( self, size: Size2D<T, Src>, ) -> Size2D<<T as Mul>::Output, Dst>
canvas only.Returns the given size transformed by this scale.
§Example
use euclid::{Scale, size2};
enum Mm {};
enum Cm {};
let to_mm: Scale<i32, Cm, Mm> = Scale::new(10);
assert_eq!(to_mm.transform_size(size2(42, -42)), size2(420, -420));pub fn transform_rect(
self,
rect: &Rect<T, Src>,
) -> Rect<<T as Mul>::Output, Dst>
Available on crate feature canvas only.
pub fn transform_rect( self, rect: &Rect<T, Src>, ) -> Rect<<T as Mul>::Output, Dst>
canvas only.Returns the given rect transformed by this scale.
§Example
use euclid::{Scale, rect};
enum Mm {};
enum Cm {};
let to_mm: Scale<i32, Cm, Mm> = Scale::new(10);
assert_eq!(to_mm.transform_rect(&rect(1, 2, 42, -42)), rect(10, 20, 420, -420));pub fn transform_box2d(
self,
b: &Box2D<T, Src>,
) -> Box2D<<T as Mul>::Output, Dst>
Available on crate feature canvas only.
pub fn transform_box2d( self, b: &Box2D<T, Src>, ) -> Box2D<<T as Mul>::Output, Dst>
canvas only.Returns the given box transformed by this scale.
pub fn transform_box3d(
self,
b: &Box3D<T, Src>,
) -> Box3D<<T as Mul>::Output, Dst>
Available on crate feature canvas only.
pub fn transform_box3d( self, b: &Box3D<T, Src>, ) -> Box3D<<T as Mul>::Output, Dst>
canvas only.Returns the given box transformed by this scale.
pub fn is_identity(self) -> bool
Available on crate feature canvas only.
pub fn is_identity(self) -> bool
canvas only.Returns true if this scale has no effect.
§Example
use euclid::Scale;
use euclid::num::One;
enum Mm {};
enum Cm {};
let cm_per_mm: Scale<f32, Mm, Cm> = Scale::new(0.1);
let mm_per_mm: Scale<f32, Mm, Mm> = Scale::new(1.0);
assert_eq!(cm_per_mm.is_identity(), false);
assert_eq!(mm_per_mm.is_identity(), true);
assert_eq!(mm_per_mm, Scale::one());pub fn get(self) -> T
Available on crate feature canvas only.
pub fn get(self) -> T
canvas only.Returns the underlying scalar scale factor.
pub fn inverse(self) -> Scale<<T as Div>::Output, Dst, Src>
Available on crate feature canvas only.
pub fn inverse(self) -> Scale<<T as Div>::Output, Dst, Src>
canvas only.The inverse Scale (1.0 / self).
§Example
use euclid::Scale;
enum Mm {};
enum Cm {};
let cm_per_mm: Scale<f32, Cm, Mm> = Scale::new(0.1);
assert_eq!(cm_per_mm.inverse(), Scale::new(10.0));pub fn with_source<NewSrc>(self) -> Scale<T, NewSrc, Dst>
Available on crate feature canvas only.
pub fn with_source<NewSrc>(self) -> Scale<T, NewSrc, Dst>
canvas only.Returns the same transform with a different source unit.
pub fn with_destination<NewDst>(self) -> Scale<T, Src, NewDst>
Available on crate feature canvas only.
pub fn with_destination<NewDst>(self) -> Scale<T, Src, NewDst>
canvas only.Returns the same transform with a different destination unit.
§impl<T, Src, Dst> Scale<T, Src, Dst>where
T: PartialOrd,
impl<T, Src, Dst> Scale<T, Src, Dst>where
T: PartialOrd,
§impl<T, Src, Dst> Scale<T, Src, Dst>where
T: NumCast,
impl<T, Src, Dst> Scale<T, Src, Dst>where
T: NumCast,
pub fn cast<NewT>(self) -> Scale<NewT, Src, Dst>where
NewT: NumCast,
Available on crate feature canvas only.
pub fn cast<NewT>(self) -> Scale<NewT, Src, Dst>where
NewT: NumCast,
canvas only.Cast from one numeric representation to another, preserving the units.
§Panics
If the source value cannot be represented by the target type NewT, then
method panics. Use try_cast if that must be case.
§Example
use euclid::Scale;
enum Mm {};
enum Cm {};
let to_mm: Scale<i32, Cm, Mm> = Scale::new(10);
assert_eq!(to_mm.cast::<f32>(), Scale::new(10.0));That conversion will panic, because i32 not enough to store such big numbers:
use euclid::Scale;
enum Mm {};// millimeter = 10^-2 meters
enum Em {};// exameter = 10^18 meters
// Panics
let to_em: Scale<i32, Mm, Em> = Scale::new(10e20).cast();pub fn try_cast<NewT>(self) -> Option<Scale<NewT, Src, Dst>>where
NewT: NumCast,
Available on crate feature canvas only.
pub fn try_cast<NewT>(self) -> Option<Scale<NewT, Src, Dst>>where
NewT: NumCast,
canvas only.Fallible cast from one numeric representation to another, preserving the units.
If the source value cannot be represented by the target type NewT, then None
is returned.
§Example
use euclid::Scale;
enum Mm {};
enum Cm {};
enum Em {};// Exameter = 10^18 meters
let to_mm: Scale<i32, Cm, Mm> = Scale::new(10);
let to_em: Scale<f32, Mm, Em> = Scale::new(10e20);
assert_eq!(to_mm.try_cast::<f32>(), Some(Scale::new(10.0)));
// Integer to small to store that number
assert_eq!(to_em.try_cast::<i32>(), None);Trait Implementations§
§impl<T, U1, U2> Div<Scale<T, U1, U2>> for SideOffsets2D<T, U2>
impl<T, U1, U2> Div<Scale<T, U1, U2>> for SideOffsets2D<T, U2>
§impl<T, U> DivAssign<Scale<T, U, U>> for Box2D<T, U>
impl<T, U> DivAssign<Scale<T, U, U>> for Box2D<T, U>
§fn div_assign(&mut self, scale: Scale<T, U, U>)
fn div_assign(&mut self, scale: Scale<T, U, U>)
/= operation. Read more§impl<T, U> DivAssign<Scale<T, U, U>> for Box3D<T, U>
impl<T, U> DivAssign<Scale<T, U, U>> for Box3D<T, U>
§fn div_assign(&mut self, scale: Scale<T, U, U>)
fn div_assign(&mut self, scale: Scale<T, U, U>)
/= operation. Read more§impl<T, U> DivAssign<Scale<T, U, U>> for Point2D<T, U>
impl<T, U> DivAssign<Scale<T, U, U>> for Point2D<T, U>
§fn div_assign(&mut self, scale: Scale<T, U, U>)
fn div_assign(&mut self, scale: Scale<T, U, U>)
/= operation. Read more§impl<T, U> DivAssign<Scale<T, U, U>> for Point3D<T, U>
impl<T, U> DivAssign<Scale<T, U, U>> for Point3D<T, U>
§fn div_assign(&mut self, scale: Scale<T, U, U>)
fn div_assign(&mut self, scale: Scale<T, U, U>)
/= operation. Read more§impl<T, U> DivAssign<Scale<T, U, U>> for Rect<T, U>
impl<T, U> DivAssign<Scale<T, U, U>> for Rect<T, U>
§fn div_assign(&mut self, scale: Scale<T, U, U>)
fn div_assign(&mut self, scale: Scale<T, U, U>)
/= operation. Read more§impl<T, U> DivAssign<Scale<T, U, U>> for SideOffsets2D<T, U>
impl<T, U> DivAssign<Scale<T, U, U>> for SideOffsets2D<T, U>
§fn div_assign(&mut self, other: Scale<T, U, U>)
fn div_assign(&mut self, other: Scale<T, U, U>)
/= operation. Read more§impl<T, U> DivAssign<Scale<T, U, U>> for Size2D<T, U>
impl<T, U> DivAssign<Scale<T, U, U>> for Size2D<T, U>
§fn div_assign(&mut self, other: Scale<T, U, U>)
fn div_assign(&mut self, other: Scale<T, U, U>)
/= operation. Read more§impl<T, U> DivAssign<Scale<T, U, U>> for Size3D<T, U>
impl<T, U> DivAssign<Scale<T, U, U>> for Size3D<T, U>
§fn div_assign(&mut self, other: Scale<T, U, U>)
fn div_assign(&mut self, other: Scale<T, U, U>)
/= operation. Read more§impl<T, U> DivAssign<Scale<T, U, U>> for Vector2D<T, U>
impl<T, U> DivAssign<Scale<T, U, U>> for Vector2D<T, U>
§fn div_assign(&mut self, scale: Scale<T, U, U>)
fn div_assign(&mut self, scale: Scale<T, U, U>)
/= operation. Read more§impl<T, U> DivAssign<Scale<T, U, U>> for Vector3D<T, U>
impl<T, U> DivAssign<Scale<T, U, U>> for Vector3D<T, U>
§fn div_assign(&mut self, scale: Scale<T, U, U>)
fn div_assign(&mut self, scale: Scale<T, U, U>)
/= operation. Read more§impl<T, Src, Dst> From<Scale<T, Src, Dst>> for ScaleOffset2D<T, Src, Dst>
impl<T, Src, Dst> From<Scale<T, Src, Dst>> for ScaleOffset2D<T, Src, Dst>
§fn from(s: Scale<T, Src, Dst>) -> ScaleOffset2D<T, Src, Dst>
fn from(s: Scale<T, Src, Dst>) -> ScaleOffset2D<T, Src, Dst>
§impl<T, Src, Dst> From<Scale<T, Src, Dst>> for Transform2D<T, Src, Dst>
impl<T, Src, Dst> From<Scale<T, Src, Dst>> for Transform2D<T, Src, Dst>
§fn from(s: Scale<T, Src, Dst>) -> Transform2D<T, Src, Dst>
fn from(s: Scale<T, Src, Dst>) -> Transform2D<T, Src, Dst>
§impl<T, Src, Dst> From<Scale<T, Src, Dst>> for Transform3D<T, Src, Dst>
impl<T, Src, Dst> From<Scale<T, Src, Dst>> for Transform3D<T, Src, Dst>
§fn from(s: Scale<T, Src, Dst>) -> Transform3D<T, Src, Dst>
fn from(s: Scale<T, Src, Dst>) -> Transform3D<T, Src, Dst>
§impl<T, U1, U2> Mul<Scale<T, U1, U2>> for SideOffsets2D<T, U1>
impl<T, U1, U2> Mul<Scale<T, U1, U2>> for SideOffsets2D<T, U1>
§impl<T, U> MulAssign<Scale<T, U, U>> for Box2D<T, U>
impl<T, U> MulAssign<Scale<T, U, U>> for Box2D<T, U>
§fn mul_assign(&mut self, scale: Scale<T, U, U>)
fn mul_assign(&mut self, scale: Scale<T, U, U>)
*= operation. Read more§impl<T, U> MulAssign<Scale<T, U, U>> for Box3D<T, U>
impl<T, U> MulAssign<Scale<T, U, U>> for Box3D<T, U>
§fn mul_assign(&mut self, scale: Scale<T, U, U>)
fn mul_assign(&mut self, scale: Scale<T, U, U>)
*= operation. Read more§impl<T, U> MulAssign<Scale<T, U, U>> for Point2D<T, U>
impl<T, U> MulAssign<Scale<T, U, U>> for Point2D<T, U>
§fn mul_assign(&mut self, scale: Scale<T, U, U>)
fn mul_assign(&mut self, scale: Scale<T, U, U>)
*= operation. Read more§impl<T, U> MulAssign<Scale<T, U, U>> for Point3D<T, U>
impl<T, U> MulAssign<Scale<T, U, U>> for Point3D<T, U>
§fn mul_assign(&mut self, scale: Scale<T, U, U>)
fn mul_assign(&mut self, scale: Scale<T, U, U>)
*= operation. Read more§impl<T, U> MulAssign<Scale<T, U, U>> for Rect<T, U>
impl<T, U> MulAssign<Scale<T, U, U>> for Rect<T, U>
§fn mul_assign(&mut self, scale: Scale<T, U, U>)
fn mul_assign(&mut self, scale: Scale<T, U, U>)
*= operation. Read more§impl<T, U> MulAssign<Scale<T, U, U>> for SideOffsets2D<T, U>
impl<T, U> MulAssign<Scale<T, U, U>> for SideOffsets2D<T, U>
§fn mul_assign(&mut self, other: Scale<T, U, U>)
fn mul_assign(&mut self, other: Scale<T, U, U>)
*= operation. Read more§impl<T, U> MulAssign<Scale<T, U, U>> for Size2D<T, U>
impl<T, U> MulAssign<Scale<T, U, U>> for Size2D<T, U>
§fn mul_assign(&mut self, other: Scale<T, U, U>)
fn mul_assign(&mut self, other: Scale<T, U, U>)
*= operation. Read more§impl<T, U> MulAssign<Scale<T, U, U>> for Size3D<T, U>
impl<T, U> MulAssign<Scale<T, U, U>> for Size3D<T, U>
§fn mul_assign(&mut self, other: Scale<T, U, U>)
fn mul_assign(&mut self, other: Scale<T, U, U>)
*= operation. Read more§impl<T, U> MulAssign<Scale<T, U, U>> for Vector2D<T, U>
impl<T, U> MulAssign<Scale<T, U, U>> for Vector2D<T, U>
§fn mul_assign(&mut self, scale: Scale<T, U, U>)
fn mul_assign(&mut self, scale: Scale<T, U, U>)
*= operation. Read more§impl<T, U> MulAssign<Scale<T, U, U>> for Vector3D<T, U>
impl<T, U> MulAssign<Scale<T, U, U>> for Vector3D<T, U>
§fn mul_assign(&mut self, scale: Scale<T, U, U>)
fn mul_assign(&mut self, scale: Scale<T, U, U>)
*= operation. Read more§impl<T, Src, Dst> Ord for Scale<T, Src, Dst>where
T: Ord,
impl<T, Src, Dst> Ord for Scale<T, Src, Dst>where
T: Ord,
1.21.0 · Source§fn max(self, other: Self) -> Selfwhere
Self: Sized,
fn max(self, other: Self) -> Selfwhere
Self: Sized,
§impl<T, Src, Dst> PartialOrd for Scale<T, Src, Dst>where
T: PartialOrd,
impl<T, Src, Dst> PartialOrd for Scale<T, Src, Dst>where
T: PartialOrd,
§impl<S> Transformation<S> for Scale<S, UnknownUnit, UnknownUnit>where
S: Scalar,
impl<S> Transformation<S> for Scale<S, UnknownUnit, UnknownUnit>where
S: Scalar,
fn transform_point(&self, p: Point2D<S, UnknownUnit>) -> Point2D<S, UnknownUnit>
fn transform_vector( &self, v: Vector2D<S, UnknownUnit>, ) -> Vector2D<S, UnknownUnit>
impl<T, Src, Dst> Copy for Scale<T, Src, Dst>where
T: Copy,
impl<T, Src, Dst> Eq for Scale<T, Src, Dst>where
T: Eq,
Auto Trait Implementations§
impl<T, Src, Dst> Freeze for Scale<T, Src, Dst>where
T: Freeze,
impl<T, Src, Dst> RefUnwindSafe for Scale<T, Src, Dst>
impl<T, Src, Dst> Send for Scale<T, Src, Dst>
impl<T, Src, Dst> Sync for Scale<T, Src, Dst>
impl<T, Src, Dst> Unpin for Scale<T, Src, Dst>
impl<T, Src, Dst> UnsafeUnpin for Scale<T, Src, Dst>where
T: UnsafeUnpin,
impl<T, Src, Dst> UnwindSafe for Scale<T, Src, Dst>
Blanket Implementations§
Source§impl<S, D, Swp, Dwp, T> AdaptInto<D, Swp, Dwp, T> for Swhere
T: Real + Zero + Arithmetics + Clone,
Swp: WhitePoint<T>,
Dwp: WhitePoint<T>,
D: AdaptFrom<S, Swp, Dwp, T>,
impl<S, D, Swp, Dwp, T> AdaptInto<D, Swp, Dwp, T> for Swhere
T: Real + Zero + Arithmetics + Clone,
Swp: WhitePoint<T>,
Dwp: WhitePoint<T>,
D: AdaptFrom<S, Swp, Dwp, T>,
Source§fn adapt_into_using<M>(self, method: M) -> Dwhere
M: TransformMatrix<T>,
fn adapt_into_using<M>(self, method: M) -> Dwhere
M: TransformMatrix<T>,
Source§fn adapt_into(self) -> D
fn adapt_into(self) -> D
§impl<T> AnyEq for T
impl<T> AnyEq for T
§impl<T, Res> Apply<Res> for Twhere
T: ?Sized,
impl<T, Res> Apply<Res> for Twhere
T: ?Sized,
Source§impl<T, C> ArraysFrom<C> for Twhere
C: IntoArrays<T>,
impl<T, C> ArraysFrom<C> for Twhere
C: IntoArrays<T>,
Source§fn arrays_from(colors: C) -> T
fn arrays_from(colors: C) -> T
Source§impl<T, C> ArraysInto<C> for Twhere
C: FromArrays<T>,
impl<T, C> ArraysInto<C> for Twhere
C: FromArrays<T>,
Source§fn arrays_into(self) -> C
fn arrays_into(self) -> C
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<WpParam, T, U> Cam16IntoUnclamped<WpParam, T> for Uwhere
T: FromCam16Unclamped<WpParam, U>,
impl<WpParam, T, U> Cam16IntoUnclamped<WpParam, T> for Uwhere
T: FromCam16Unclamped<WpParam, U>,
Source§type Scalar = <T as FromCam16Unclamped<WpParam, U>>::Scalar
type Scalar = <T as FromCam16Unclamped<WpParam, U>>::Scalar
parameters when converting.Source§fn cam16_into_unclamped(
self,
parameters: BakedParameters<WpParam, <U as Cam16IntoUnclamped<WpParam, T>>::Scalar>,
) -> T
fn cam16_into_unclamped( self, parameters: BakedParameters<WpParam, <U as Cam16IntoUnclamped<WpParam, T>>::Scalar>, ) -> T
self into C, using the provided parameters.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
Source§impl<T, C> ComponentsFrom<C> for Twhere
C: IntoComponents<T>,
impl<T, C> ComponentsFrom<C> for Twhere
C: IntoComponents<T>,
Source§fn components_from(colors: C) -> T
fn components_from(colors: C) -> T
§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
Source§impl<T> FromAngle<T> for T
impl<T> FromAngle<T> for T
Source§fn from_angle(angle: T) -> T
fn from_angle(angle: T) -> T
angle.Source§impl<T, U> FromStimulus<U> for Twhere
U: IntoStimulus<T>,
impl<T, U> FromStimulus<U> for Twhere
U: IntoStimulus<T>,
Source§fn from_stimulus(other: U) -> T
fn from_stimulus(other: U) -> T
other into Self, while performing the appropriate scaling,
rounding and clamping.§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§impl<T, U> IntoAngle<U> for Twhere
U: FromAngle<T>,
impl<T, U> IntoAngle<U> for Twhere
U: FromAngle<T>,
Source§fn into_angle(self) -> U
fn into_angle(self) -> U
T.§impl<State, Message> IntoBoot<State, Message> for State
impl<State, Message> IntoBoot<State, Message> for State
§fn into_boot(self) -> (State, Task<Message>)
fn into_boot(self) -> (State, Task<Message>)
Application.Source§impl<WpParam, T, U> IntoCam16Unclamped<WpParam, T> for Uwhere
T: Cam16FromUnclamped<WpParam, U>,
impl<WpParam, T, U> IntoCam16Unclamped<WpParam, T> for Uwhere
T: Cam16FromUnclamped<WpParam, U>,
Source§type Scalar = <T as Cam16FromUnclamped<WpParam, U>>::Scalar
type Scalar = <T as Cam16FromUnclamped<WpParam, U>>::Scalar
parameters when converting.Source§fn into_cam16_unclamped(
self,
parameters: BakedParameters<WpParam, <U as IntoCam16Unclamped<WpParam, T>>::Scalar>,
) -> T
fn into_cam16_unclamped( self, parameters: BakedParameters<WpParam, <U as IntoCam16Unclamped<WpParam, T>>::Scalar>, ) -> T
self into C, using the provided parameters.Source§impl<T, U> IntoColor<U> for Twhere
U: FromColor<T>,
impl<T, U> IntoColor<U> for Twhere
U: FromColor<T>,
Source§fn into_color(self) -> U
fn into_color(self) -> U
Source§impl<T, U> IntoColorUnclamped<U> for Twhere
U: FromColorUnclamped<T>,
impl<T, U> IntoColorUnclamped<U> for Twhere
U: FromColorUnclamped<T>,
Source§fn into_color_unclamped(self) -> U
fn into_color_unclamped(self) -> U
Source§impl<T> IntoStimulus<T> for T
impl<T> IntoStimulus<T> for T
Source§fn into_stimulus(self) -> T
fn into_stimulus(self) -> T
self into T, while performing the appropriate scaling,
rounding and clamping.§impl<T> NoneValue for Twhere
T: Default,
impl<T> NoneValue for Twhere
T: Default,
type NoneType = T
§fn null_value() -> T
fn null_value() -> T
Source§impl<T, C> TryComponentsInto<C> for Twhere
C: TryFromComponents<T>,
impl<T, C> TryComponentsInto<C> for Twhere
C: TryFromComponents<T>,
Source§type Error = <C as TryFromComponents<T>>::Error
type Error = <C as TryFromComponents<T>>::Error
try_into_colors fails to cast.Source§fn try_components_into(self) -> Result<C, <T as TryComponentsInto<C>>::Error>
fn try_components_into(self) -> Result<C, <T as TryComponentsInto<C>>::Error>
Source§impl<T, U> TryIntoColor<U> for Twhere
U: TryFromColor<T>,
impl<T, U> TryIntoColor<U> for Twhere
U: TryFromColor<T>,
Source§fn try_into_color(self) -> Result<U, OutOfBounds<U>>
fn try_into_color(self) -> Result<U, OutOfBounds<U>>
OutOfBounds error is returned which contains
the unclamped color. Read more