Struct bevy::color::LinearRgba
source · #[repr(C)]pub struct LinearRgba {
pub red: f32,
pub green: f32,
pub blue: f32,
pub alpha: f32,
}
Expand description
Linear RGB color with alpha.
§Conversion
Conversion between the various color spaces is achieved using Rust’s native From trait. Because certain color spaces are defined by their transformation to and from another space, these From implementations reflect that set of definitions.
let color = Srgba::rgb(0.5, 0.5, 0.5);
// Using From explicitly
let linear_color = LinearRgba::from(color);
// Using Into
let linear_color: LinearRgba = color.into();
For example, the sRGB space is defined by its relationship with Linear RGB, and HWB by its with sRGB. As such, it is the responsibility of sRGB to provide From implementations for Linear RGB, and HWB for sRGB. To then provide conversion between Linear RGB and HWB directly, HWB is responsible for implementing these conversions, delegating to sRGB as an intermediatory. This ensures that all conversions take the shortest path between any two spaces, and limit the proliferation of domain specific knowledge for each color space to their respective definitions.
Fields§
§red: f32
The red channel. [0.0, 1.0]
green: f32
The green channel. [0.0, 1.0]
blue: f32
The blue channel. [0.0, 1.0]
alpha: f32
The alpha channel. [0.0, 1.0]
Implementations§
source§impl LinearRgba
impl LinearRgba
sourcepub const BLACK: LinearRgba = _
pub const BLACK: LinearRgba = _
A fully black color with full alpha.
sourcepub const WHITE: LinearRgba = _
pub const WHITE: LinearRgba = _
A fully white color with full alpha.
sourcepub const NONE: LinearRgba = _
pub const NONE: LinearRgba = _
A fully transparent color.
sourcepub const RED: LinearRgba = _
pub const RED: LinearRgba = _
A fully red color with full alpha.
sourcepub const GREEN: LinearRgba = _
pub const GREEN: LinearRgba = _
A fully green color with full alpha.
sourcepub const BLUE: LinearRgba = _
pub const BLUE: LinearRgba = _
A fully blue color with full alpha.
sourcepub const NAN: LinearRgba = _
pub const NAN: LinearRgba = _
An invalid color.
This type can be used to represent an invalid color value;
in some rendering applications the color will be ignored,
enabling performant hacks like hiding lines by setting their color to INVALID
.
sourcepub const fn new(red: f32, green: f32, blue: f32, alpha: f32) -> LinearRgba
pub const fn new(red: f32, green: f32, blue: f32, alpha: f32) -> LinearRgba
Construct a new LinearRgba
color from components.
sourcepub const fn rgb(red: f32, green: f32, blue: f32) -> LinearRgba
pub const fn rgb(red: f32, green: f32, blue: f32) -> LinearRgba
Construct a new LinearRgba
color from (r, g, b) components, with the default alpha (1.0).
§Arguments
red
- Red channel. [0.0, 1.0]green
- Green channel. [0.0, 1.0]blue
- Blue channel. [0.0, 1.0]
sourcepub const fn with_red(self, red: f32) -> LinearRgba
pub const fn with_red(self, red: f32) -> LinearRgba
Return a copy of this color with the red channel set to the given value.
sourcepub const fn with_green(self, green: f32) -> LinearRgba
pub const fn with_green(self, green: f32) -> LinearRgba
Return a copy of this color with the green channel set to the given value.
sourcepub const fn with_blue(self, blue: f32) -> LinearRgba
pub const fn with_blue(self, blue: f32) -> LinearRgba
Return a copy of this color with the blue channel set to the given value.
Trait Implementations§
source§impl Add for LinearRgba
impl Add for LinearRgba
§type Output = LinearRgba
type Output = LinearRgba
+
operator.source§fn add(self, rhs: LinearRgba) -> <LinearRgba as Add>::Output
fn add(self, rhs: LinearRgba) -> <LinearRgba as Add>::Output
+
operation. Read moresource§impl AddAssign for LinearRgba
impl AddAssign for LinearRgba
source§fn add_assign(&mut self, rhs: LinearRgba)
fn add_assign(&mut self, rhs: LinearRgba)
+=
operation. Read moresource§impl Alpha for LinearRgba
impl Alpha for LinearRgba
source§fn with_alpha(&self, alpha: f32) -> LinearRgba
fn with_alpha(&self, alpha: f32) -> LinearRgba
source§fn is_fully_transparent(&self) -> bool
fn is_fully_transparent(&self) -> bool
source§fn is_fully_opaque(&self) -> bool
fn is_fully_opaque(&self) -> bool
source§impl Animatable for LinearRgba
impl Animatable for LinearRgba
source§fn interpolate(a: &LinearRgba, b: &LinearRgba, t: f32) -> LinearRgba
fn interpolate(a: &LinearRgba, b: &LinearRgba, t: f32) -> LinearRgba
source§fn blend(inputs: impl Iterator<Item = BlendInput<LinearRgba>>) -> LinearRgba
fn blend(inputs: impl Iterator<Item = BlendInput<LinearRgba>>) -> LinearRgba
source§fn post_process(&mut self, _world: &World)
fn post_process(&mut self, _world: &World)
World
.
Most animatable types do not need to implement this.source§impl Clone for LinearRgba
impl Clone for LinearRgba
source§fn clone(&self) -> LinearRgba
fn clone(&self) -> LinearRgba
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moresource§impl ColorToComponents for LinearRgba
impl ColorToComponents for LinearRgba
source§fn to_f32_array(self) -> [f32; 4]
fn to_f32_array(self) -> [f32; 4]
source§fn to_f32_array_no_alpha(self) -> [f32; 3]
fn to_f32_array_no_alpha(self) -> [f32; 3]
source§fn from_f32_array(color: [f32; 4]) -> LinearRgba
fn from_f32_array(color: [f32; 4]) -> LinearRgba
source§fn from_f32_array_no_alpha(color: [f32; 3]) -> LinearRgba
fn from_f32_array_no_alpha(color: [f32; 3]) -> LinearRgba
source§fn from_vec4(color: Vec4) -> LinearRgba
fn from_vec4(color: Vec4) -> LinearRgba
source§fn from_vec3(color: Vec3) -> LinearRgba
fn from_vec3(color: Vec3) -> LinearRgba
source§impl ColorToPacked for LinearRgba
impl ColorToPacked for LinearRgba
source§fn to_u8_array(self) -> [u8; 4]
fn to_u8_array(self) -> [u8; 4]
source§fn to_u8_array_no_alpha(self) -> [u8; 3]
fn to_u8_array_no_alpha(self) -> [u8; 3]
source§fn from_u8_array(color: [u8; 4]) -> LinearRgba
fn from_u8_array(color: [u8; 4]) -> LinearRgba
source§fn from_u8_array_no_alpha(color: [u8; 3]) -> LinearRgba
fn from_u8_array_no_alpha(color: [u8; 3]) -> LinearRgba
source§impl CreateFrom for LinearRgba
impl CreateFrom for LinearRgba
fn create_from<B>(reader: &mut Reader<B>) -> LinearRgbawhere
B: BufferRef,
source§impl Debug for LinearRgba
impl Debug for LinearRgba
source§impl Default for LinearRgba
impl Default for LinearRgba
source§fn default() -> LinearRgba
fn default() -> LinearRgba
Construct a new LinearRgba
color with the default values (white with full alpha).
source§impl<'de> Deserialize<'de> for LinearRgba
impl<'de> Deserialize<'de> for LinearRgba
source§fn deserialize<__D>(
__deserializer: __D
) -> Result<LinearRgba, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(
__deserializer: __D
) -> Result<LinearRgba, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
source§impl Div<f32> for LinearRgba
impl Div<f32> for LinearRgba
source§impl DivAssign<f32> for LinearRgba
impl DivAssign<f32> for LinearRgba
source§fn div_assign(&mut self, rhs: f32)
fn div_assign(&mut self, rhs: f32)
/=
operation. Read moresource§impl EuclideanDistance for LinearRgba
impl EuclideanDistance for LinearRgba
source§fn distance_squared(&self, other: &LinearRgba) -> f32
fn distance_squared(&self, other: &LinearRgba) -> f32
self
to other
.source§impl From<Color> for LinearRgba
impl From<Color> for LinearRgba
source§fn from(value: Color) -> LinearRgba
fn from(value: Color) -> LinearRgba
source§impl From<Hsla> for LinearRgba
impl From<Hsla> for LinearRgba
source§fn from(value: Hsla) -> LinearRgba
fn from(value: Hsla) -> LinearRgba
source§impl From<Hsva> for LinearRgba
impl From<Hsva> for LinearRgba
source§fn from(value: Hsva) -> LinearRgba
fn from(value: Hsva) -> LinearRgba
source§impl From<Hwba> for LinearRgba
impl From<Hwba> for LinearRgba
source§fn from(value: Hwba) -> LinearRgba
fn from(value: Hwba) -> LinearRgba
source§impl From<Laba> for LinearRgba
impl From<Laba> for LinearRgba
source§fn from(value: Laba) -> LinearRgba
fn from(value: Laba) -> LinearRgba
source§impl From<Lcha> for LinearRgba
impl From<Lcha> for LinearRgba
source§fn from(value: Lcha) -> LinearRgba
fn from(value: Lcha) -> LinearRgba
source§impl From<LinearRgba> for Color
impl From<LinearRgba> for Color
source§fn from(value: LinearRgba) -> Color
fn from(value: LinearRgba) -> Color
source§impl From<LinearRgba> for Color
impl From<LinearRgba> for Color
source§fn from(color: LinearRgba) -> Color
fn from(color: LinearRgba) -> Color
source§impl From<LinearRgba> for Hsla
impl From<LinearRgba> for Hsla
source§fn from(value: LinearRgba) -> Hsla
fn from(value: LinearRgba) -> Hsla
source§impl From<LinearRgba> for Hsva
impl From<LinearRgba> for Hsva
source§fn from(value: LinearRgba) -> Hsva
fn from(value: LinearRgba) -> Hsva
source§impl From<LinearRgba> for Hwba
impl From<LinearRgba> for Hwba
source§fn from(value: LinearRgba) -> Hwba
fn from(value: LinearRgba) -> Hwba
source§impl From<LinearRgba> for Laba
impl From<LinearRgba> for Laba
source§fn from(value: LinearRgba) -> Laba
fn from(value: LinearRgba) -> Laba
source§impl From<LinearRgba> for Lcha
impl From<LinearRgba> for Lcha
source§fn from(value: LinearRgba) -> Lcha
fn from(value: LinearRgba) -> Lcha
source§impl From<LinearRgba> for Oklaba
impl From<LinearRgba> for Oklaba
source§fn from(value: LinearRgba) -> Oklaba
fn from(value: LinearRgba) -> Oklaba
source§impl From<LinearRgba> for Oklcha
impl From<LinearRgba> for Oklcha
source§fn from(value: LinearRgba) -> Oklcha
fn from(value: LinearRgba) -> Oklcha
source§impl From<LinearRgba> for Srgba
impl From<LinearRgba> for Srgba
source§fn from(value: LinearRgba) -> Srgba
fn from(value: LinearRgba) -> Srgba
source§impl From<LinearRgba> for Xyza
impl From<LinearRgba> for Xyza
source§fn from(_: LinearRgba) -> Xyza
fn from(_: LinearRgba) -> Xyza
source§impl From<Oklaba> for LinearRgba
impl From<Oklaba> for LinearRgba
source§fn from(value: Oklaba) -> LinearRgba
fn from(value: Oklaba) -> LinearRgba
source§impl From<Oklcha> for LinearRgba
impl From<Oklcha> for LinearRgba
source§fn from(value: Oklcha) -> LinearRgba
fn from(value: Oklcha) -> LinearRgba
source§impl From<Srgba> for LinearRgba
impl From<Srgba> for LinearRgba
source§fn from(value: Srgba) -> LinearRgba
fn from(value: Srgba) -> LinearRgba
source§impl From<Xyza> for LinearRgba
impl From<Xyza> for LinearRgba
source§fn from(_: Xyza) -> LinearRgba
fn from(_: Xyza) -> LinearRgba
source§impl FromReflect for LinearRgba
impl FromReflect for LinearRgba
source§fn from_reflect(reflect: &(dyn Reflect + 'static)) -> Option<LinearRgba>
fn from_reflect(reflect: &(dyn Reflect + 'static)) -> Option<LinearRgba>
Self
from a reflected value.source§fn take_from_reflect(
reflect: Box<dyn Reflect>
) -> Result<Self, Box<dyn Reflect>>
fn take_from_reflect( reflect: Box<dyn Reflect> ) -> Result<Self, Box<dyn Reflect>>
Self
using,
constructing the value using from_reflect
if that fails. Read moresource§impl GetTypeRegistration for LinearRgba
impl GetTypeRegistration for LinearRgba
source§fn get_type_registration() -> TypeRegistration
fn get_type_registration() -> TypeRegistration
TypeRegistration
for this type.source§fn register_type_dependencies(registry: &mut TypeRegistry)
fn register_type_dependencies(registry: &mut TypeRegistry)
source§impl Gray for LinearRgba
impl Gray for LinearRgba
source§impl Luminance for LinearRgba
impl Luminance for LinearRgba
source§fn luminance(&self) -> f32
fn luminance(&self) -> f32
Luminance calculated using the CIE XYZ formula.
source§fn with_luminance(&self, luminance: f32) -> LinearRgba
fn with_luminance(&self, luminance: f32) -> LinearRgba
source§fn darker(&self, amount: f32) -> LinearRgba
fn darker(&self, amount: f32) -> LinearRgba
amount
should be between 0.0 and 1.0.
The amount represents an absolute decrease in luminance, and is distributive:
color.darker(a).darker(b) == color.darker(a + b)
. Colors are clamped to black
if the amount would cause them to go below black. Read moresource§fn lighter(&self, amount: f32) -> LinearRgba
fn lighter(&self, amount: f32) -> LinearRgba
amount
should be between 0.0 and 1.0.
The amount represents an absolute increase in luminance, and is distributive:
color.lighter(a).lighter(b) == color.lighter(a + b)
. Colors are clamped to white
if the amount would cause them to go above white. Read moresource§impl Mix for LinearRgba
impl Mix for LinearRgba
source§fn mix(&self, other: &LinearRgba, factor: f32) -> LinearRgba
fn mix(&self, other: &LinearRgba, factor: f32) -> LinearRgba
source§fn mix_assign(&mut self, other: Self, factor: f32)
fn mix_assign(&mut self, other: Self, factor: f32)
source§impl Mul<LinearRgba> for f32
impl Mul<LinearRgba> for f32
§type Output = LinearRgba
type Output = LinearRgba
*
operator.source§fn mul(self, rhs: LinearRgba) -> <f32 as Mul<LinearRgba>>::Output
fn mul(self, rhs: LinearRgba) -> <f32 as Mul<LinearRgba>>::Output
*
operation. Read moresource§impl Mul<f32> for LinearRgba
impl Mul<f32> for LinearRgba
source§impl MulAssign<f32> for LinearRgba
impl MulAssign<f32> for LinearRgba
source§fn mul_assign(&mut self, rhs: f32)
fn mul_assign(&mut self, rhs: f32)
*=
operation. Read moresource§impl Neg for LinearRgba
impl Neg for LinearRgba
§type Output = LinearRgba
type Output = LinearRgba
-
operator.source§impl PartialEq for LinearRgba
impl PartialEq for LinearRgba
source§fn eq(&self, other: &LinearRgba) -> bool
fn eq(&self, other: &LinearRgba) -> bool
self
and other
values to be equal, and is used
by ==
.source§impl ReadFrom for LinearRgba
impl ReadFrom for LinearRgba
source§impl Reflect for LinearRgba
impl Reflect for LinearRgba
source§fn get_represented_type_info(&self) -> Option<&'static TypeInfo>
fn get_represented_type_info(&self) -> Option<&'static TypeInfo>
source§fn into_any(self: Box<LinearRgba>) -> Box<dyn Any>
fn into_any(self: Box<LinearRgba>) -> Box<dyn Any>
Box<dyn Any>
.source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&mut dyn Any
.source§fn into_reflect(self: Box<LinearRgba>) -> Box<dyn Reflect>
fn into_reflect(self: Box<LinearRgba>) -> Box<dyn Reflect>
source§fn as_reflect(&self) -> &(dyn Reflect + 'static)
fn as_reflect(&self) -> &(dyn Reflect + 'static)
source§fn as_reflect_mut(&mut self) -> &mut (dyn Reflect + 'static)
fn as_reflect_mut(&mut self) -> &mut (dyn Reflect + 'static)
source§fn clone_value(&self) -> Box<dyn Reflect>
fn clone_value(&self) -> Box<dyn Reflect>
Reflect
trait object. Read moresource§fn set(&mut self, value: Box<dyn Reflect>) -> Result<(), Box<dyn Reflect>>
fn set(&mut self, value: Box<dyn Reflect>) -> Result<(), Box<dyn Reflect>>
source§fn reflect_kind(&self) -> ReflectKind
fn reflect_kind(&self) -> ReflectKind
source§fn reflect_ref(&self) -> ReflectRef<'_>
fn reflect_ref(&self) -> ReflectRef<'_>
source§fn reflect_mut(&mut self) -> ReflectMut<'_>
fn reflect_mut(&mut self) -> ReflectMut<'_>
source§fn reflect_owned(self: Box<LinearRgba>) -> ReflectOwned
fn reflect_owned(self: Box<LinearRgba>) -> ReflectOwned
source§fn reflect_partial_eq(&self, value: &(dyn Reflect + 'static)) -> Option<bool>
fn reflect_partial_eq(&self, value: &(dyn Reflect + 'static)) -> Option<bool>
source§fn apply(&mut self, value: &(dyn Reflect + 'static))
fn apply(&mut self, value: &(dyn Reflect + 'static))
source§fn reflect_hash(&self) -> Option<u64>
fn reflect_hash(&self) -> Option<u64>
source§fn debug(&self, f: &mut Formatter<'_>) -> Result<(), Error>
fn debug(&self, f: &mut Formatter<'_>) -> Result<(), Error>
source§fn serializable(&self) -> Option<Serializable<'_>>
fn serializable(&self) -> Option<Serializable<'_>>
source§fn is_dynamic(&self) -> bool
fn is_dynamic(&self) -> bool
source§impl Serialize for LinearRgba
impl Serialize for LinearRgba
source§fn serialize<__S>(
&self,
__serializer: __S
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
fn serialize<__S>(
&self,
__serializer: __S
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
source§impl ShaderSize for LinearRgba
impl ShaderSize for LinearRgba
source§const SHADER_SIZE: NonZero<u64> = _
const SHADER_SIZE: NonZero<u64> = _
ShaderType::min_size
)source§impl ShaderType for LinearRgba
impl ShaderType for LinearRgba
source§fn assert_uniform_compat()
fn assert_uniform_compat()
Self
meets the requirements of the
uniform address space restrictions on stored values and the
uniform address space layout constraints Read moresource§impl Struct for LinearRgba
impl Struct for LinearRgba
source§fn field(&self, name: &str) -> Option<&(dyn Reflect + 'static)>
fn field(&self, name: &str) -> Option<&(dyn Reflect + 'static)>
name
as a &dyn Reflect
.source§fn field_mut(&mut self, name: &str) -> Option<&mut (dyn Reflect + 'static)>
fn field_mut(&mut self, name: &str) -> Option<&mut (dyn Reflect + 'static)>
name
as a
&mut dyn Reflect
.source§fn field_at(&self, index: usize) -> Option<&(dyn Reflect + 'static)>
fn field_at(&self, index: usize) -> Option<&(dyn Reflect + 'static)>
index
as a
&dyn Reflect
.source§fn field_at_mut(&mut self, index: usize) -> Option<&mut (dyn Reflect + 'static)>
fn field_at_mut(&mut self, index: usize) -> Option<&mut (dyn Reflect + 'static)>
index
as a &mut dyn Reflect
.source§fn name_at(&self, index: usize) -> Option<&str>
fn name_at(&self, index: usize) -> Option<&str>
index
.source§fn iter_fields(&self) -> FieldIter<'_> ⓘ
fn iter_fields(&self) -> FieldIter<'_> ⓘ
source§fn clone_dynamic(&self) -> DynamicStruct
fn clone_dynamic(&self) -> DynamicStruct
DynamicStruct
.source§impl Sub for LinearRgba
impl Sub for LinearRgba
§type Output = LinearRgba
type Output = LinearRgba
-
operator.source§fn sub(self, rhs: LinearRgba) -> <LinearRgba as Sub>::Output
fn sub(self, rhs: LinearRgba) -> <LinearRgba as Sub>::Output
-
operation. Read moresource§impl SubAssign for LinearRgba
impl SubAssign for LinearRgba
source§fn sub_assign(&mut self, rhs: LinearRgba)
fn sub_assign(&mut self, rhs: LinearRgba)
-=
operation. Read moresource§impl TypePath for LinearRgba
impl TypePath for LinearRgba
source§fn type_path() -> &'static str
fn type_path() -> &'static str
source§fn short_type_path() -> &'static str
fn short_type_path() -> &'static str
source§fn type_ident() -> Option<&'static str>
fn type_ident() -> Option<&'static str>
source§fn crate_name() -> Option<&'static str>
fn crate_name() -> Option<&'static str>
source§impl Typed for LinearRgba
impl Typed for LinearRgba
source§impl VectorSpace for LinearRgba
impl VectorSpace for LinearRgba
source§const ZERO: LinearRgba = _
const ZERO: LinearRgba = _
source§impl WriteInto for LinearRgba
impl WriteInto for LinearRgba
fn write_into<B>(&self, writer: &mut Writer<B>)where
B: BufferMut,
impl Copy for LinearRgba
impl Pod for LinearRgba
impl StructuralPartialEq for LinearRgba
Auto Trait Implementations§
impl Freeze for LinearRgba
impl RefUnwindSafe for LinearRgba
impl Send for LinearRgba
impl Sync for LinearRgba
impl Unpin for LinearRgba
impl UnwindSafe for LinearRgba
Blanket Implementations§
source§impl<T, U> AsBindGroupShaderType<U> for T
impl<T, U> AsBindGroupShaderType<U> for T
source§fn as_bind_group_shader_type(&self, _images: &RenderAssets<GpuImage>) -> U
fn as_bind_group_shader_type(&self, _images: &RenderAssets<GpuImage>) -> U
T
ShaderType
for self
. When used in AsBindGroup
derives, it is safe to assume that all images in self
exist.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> CheckedBitPattern for Twhere
T: AnyBitPattern,
impl<T> CheckedBitPattern for Twhere
T: AnyBitPattern,
§type Bits = T
type Bits = T
Self
must have the same layout as the specified Bits
except for
the possible invalid bit patterns being checked during
is_valid_bit_pattern
.source§fn is_valid_bit_pattern(_bits: &T) -> bool
fn is_valid_bit_pattern(_bits: &T) -> bool
bits
as &Self
.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>
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>
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)
&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)
&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<T> DynamicTypePath for Twhere
T: TypePath,
impl<T> DynamicTypePath for Twhere
T: TypePath,
source§fn reflect_type_path(&self) -> &str
fn reflect_type_path(&self) -> &str
TypePath::type_path
.source§fn reflect_short_type_path(&self) -> &str
fn reflect_short_type_path(&self) -> &str
source§fn reflect_type_ident(&self) -> Option<&str>
fn reflect_type_ident(&self) -> Option<&str>
TypePath::type_ident
.source§fn reflect_crate_name(&self) -> Option<&str>
fn reflect_crate_name(&self) -> Option<&str>
TypePath::crate_name
.source§fn reflect_module_path(&self) -> Option<&str>
fn reflect_module_path(&self) -> Option<&str>
source§impl<S> FromSample<S> for S
impl<S> FromSample<S> for S
fn from_sample_(s: S) -> S
source§impl<T> FromWorld for Twhere
T: Default,
impl<T> FromWorld for Twhere
T: Default,
source§fn from_world(_world: &mut World) -> T
fn from_world(_world: &mut World) -> T
Self
using data from the given World
.source§impl<S> GetField for Swhere
S: Struct,
impl<S> GetField for Swhere
S: Struct,
source§impl<T> GetPath for T
impl<T> GetPath for T
source§fn reflect_path<'p>(
&self,
path: impl ReflectPath<'p>
) -> Result<&(dyn Reflect + 'static), ReflectPathError<'p>>
fn reflect_path<'p>( &self, path: impl ReflectPath<'p> ) -> Result<&(dyn Reflect + 'static), ReflectPathError<'p>>
path
. Read moresource§fn reflect_path_mut<'p>(
&mut self,
path: impl ReflectPath<'p>
) -> Result<&mut (dyn Reflect + 'static), ReflectPathError<'p>>
fn reflect_path_mut<'p>( &mut self, path: impl ReflectPath<'p> ) -> Result<&mut (dyn Reflect + 'static), ReflectPathError<'p>>
path
. Read moresource§fn path<'p, T>(
&self,
path: impl ReflectPath<'p>
) -> Result<&T, ReflectPathError<'p>>where
T: Reflect,
fn path<'p, T>(
&self,
path: impl ReflectPath<'p>
) -> Result<&T, ReflectPathError<'p>>where
T: Reflect,
path
. Read moresource§fn path_mut<'p, T>(
&mut self,
path: impl ReflectPath<'p>
) -> Result<&mut T, ReflectPathError<'p>>where
T: Reflect,
fn path_mut<'p, T>(
&mut self,
path: impl ReflectPath<'p>
) -> Result<&mut T, ReflectPathError<'p>>where
T: Reflect,
path
. Read more