pub struct AngularColorStop {
pub color: Color,
pub angle: Option<f32>,
pub hint: f32,
}Expand description
An angular color stop for a conic gradient
Fields§
§color: ColorColor of the stop
angle: Option<f32>The angle of the stop.
Angles are relative to the start of the gradient and not other stops.
If set to None the angle of the stop will be interpolated between the explicit stops or 0 and 2 PI degrees if there no explicit stops.
Given angles are clamped to between 0., and TAU.
This means that a list of stops:
[
ColorStop::new(Color::WHITE, 0.),
ColorStop::new(Color::BLACK, -1.),
ColorStop::new(RED, 2. * TAU),
ColorStop::new(BLUE, TAU),
]is equivalent to:
[
ColorStop::new(Color::WHITE, 0.),
ColorStop::new(Color::BLACK, 0.),
ColorStop::new(RED, TAU),
ColorStop::new(BLUE, TAU),
]Resulting in a black to red gradient, not white to blue.
hint: f32Normalized angle between this and the following stop of the interpolation midpoint.
Implementations§
Source§impl AngularColorStop
impl AngularColorStop
Sourcepub fn new(color: impl Into<Color>, angle: f32) -> Self
pub fn new(color: impl Into<Color>, angle: f32) -> Self
Examples found in repository?
examples/clocks.rs (line 69)
53fn update_clocks(time: Res<Time>, mut query: Query<(&ClockMode, &mut BackgroundGradient)>) {
54 let t = time.elapsed_secs();
55 for (clock_mode, mut gradient) in query.iter_mut() {
56 let angle = match clock_mode.0 {
57 0 => t,
58 1 => TAU - t,
59 2 => t.rem_euclid(TAU),
60 3 => TAU - (time.elapsed_secs() % (2.0 * TAU) - TAU).abs(),
61 4 => time.elapsed_secs().rem_euclid(12.).floor() * TAU / 12.,
62 5 => 0.,
63 _ => TAU,
64 };
65 *gradient = BackgroundGradient::from(ConicGradient {
66 start: 0.,
67 position: Default::default(),
68 stops: vec![
69 AngularColorStop::new(RED, 0.0),
70 AngularColorStop::new(RED, angle),
71 AngularColorStop::new(BLUE, angle),
72 ],
73 });
74 }
75}More examples
examples/test.rs (line 30)
14fn setup(mut commands: Commands) {
15 commands.spawn(Camera2d);
16 commands.spawn(Node::default()).with_children(|commands| {
17 for _ in 0..10 {
18 commands.spawn((
19 Node {
20 aspect_ratio: Some(1.),
21 height: Val::Px(103.),
22 border: UiRect::all(Val::Px(10.)),
23 margin: UiRect::left(Val::Px(30.)),
24 ..default()
25 },
26 BorderRadius::all(Val::Px(20.)),
27 BackgroundGradient::from(ConicGradient {
28 start: 0.,
29 stops: vec![
30 AngularColorStop::new(RED, 0.),
31 AngularColorStop::new(RED, 0.),
32 AngularColorStop::new(Color::NONE, 0.),
33 ],
34 position: Position::CENTER,
35 }),
36 BorderColor(WHITE.into()),
37 ));
38 }
39 });
40}Sourcepub fn auto(color: impl Into<Color>) -> Self
pub fn auto(color: impl Into<Color>) -> Self
An angular stop without an explicit angle. The angles of automatic stops are interpolated evenly between explicit stops.
Examples found in repository?
examples/stacked_gradients.rs (line 50)
17fn setup(mut commands: Commands) {
18 commands.spawn(Camera2d);
19 commands
20 .spawn(Node {
21 display: Display::Grid,
22 width: Val::Percent(100.),
23 height: Val::Percent(100.),
24
25 ..Default::default()
26 })
27 .with_children(|commands| {
28 commands.spawn((
29 Node {
30 width: Val::Percent(100.),
31 height: Val::Percent(100.),
32 ..Default::default()
33 },
34 BackgroundColor(Color::BLACK),
35 BackgroundGradient(vec![
36 LinearGradient::to_top_right(vec![
37 ColorStop::auto(RED),
38 ColorStop::auto(RED.with_alpha(0.)),
39 ])
40 .into(),
41 LinearGradient::to_top_left(vec![
42 ColorStop::auto(BLUE),
43 ColorStop::auto(BLUE.with_alpha(0.)),
44 ])
45 .into(),
46 ConicGradient {
47 start: 0.,
48 position: Position::CENTER,
49 stops: vec![
50 AngularColorStop::auto(YELLOW.with_alpha(0.)),
51 AngularColorStop::auto(YELLOW.with_alpha(0.)),
52 AngularColorStop::auto(YELLOW),
53 AngularColorStop::auto(YELLOW.with_alpha(0.)),
54 AngularColorStop::auto(YELLOW.with_alpha(0.)),
55 ],
56 }
57 .into(),
58 RadialGradient {
59 position: Position::TOP.at_x(Val::Percent(5.)),
60 shape: RadialGradientShape::Circle(Val::Vh(30.)),
61 stops: vec![
62 ColorStop::auto(Color::WHITE),
63 ColorStop::auto(YELLOW),
64 ColorStop::auto(YELLOW.with_alpha(0.1)),
65 ColorStop::auto(YELLOW.with_alpha(0.)),
66 ],
67 }
68 .into(),
69 LinearGradient {
70 angle: TAU / 16.,
71 stops: vec![
72 ColorStop::auto(Color::BLACK),
73 ColorStop::auto(Color::BLACK.with_alpha(0.)),
74 ],
75 }
76 .into(),
77 LinearGradient {
78 angle: 15. * TAU / 16.,
79 stops: vec![
80 ColorStop::auto(Color::BLACK),
81 ColorStop::auto(Color::BLACK.with_alpha(0.)),
82 ],
83 }
84 .into(),
85 ]),
86 ));
87 });
88}More examples
examples/gradients.rs (line 162)
23fn setup(mut commands: Commands) {
24 commands.spawn(Camera2d);
25
26 commands
27 .spawn(Node {
28 flex_direction: FlexDirection::Column,
29 row_gap: Val::Px(30.),
30 margin: UiRect::all(Val::Px(30.)),
31 ..Default::default()
32 })
33 .with_children(|commands| {
34 for (i, (b, stops)) in [
35 (
36 5.,
37 vec![
38 ColorStop::new(Color::WHITE, Val::Percent(15.)),
39 ColorStop::new(Color::BLACK, Val::Percent(85.)),
40 ],
41 ),
42 (5., vec![RED.into(), BLUE.into(), LIME.into()]),
43 (
44 0.,
45 vec![
46 RED.into(),
47 ColorStop::new(RED, Val::Percent(100. / 7.)),
48 ColorStop::new(ORANGE, Val::Percent(100. / 7.)),
49 ColorStop::new(ORANGE, Val::Percent(200. / 7.)),
50 ColorStop::new(YELLOW, Val::Percent(200. / 7.)),
51 ColorStop::new(YELLOW, Val::Percent(300. / 7.)),
52 ColorStop::new(GREEN, Val::Percent(300. / 7.)),
53 ColorStop::new(GREEN, Val::Percent(400. / 7.)),
54 ColorStop::new(BLUE, Val::Percent(400. / 7.)),
55 ColorStop::new(BLUE, Val::Percent(500. / 7.)),
56 ColorStop::new(INDIGO, Val::Percent(500. / 7.)),
57 ColorStop::new(INDIGO, Val::Percent(600. / 7.)),
58 ColorStop::new(VIOLET, Val::Percent(600. / 7.)),
59 VIOLET.into(),
60 ],
61 ),
62 ]
63 .into_iter()
64 .enumerate()
65 {
66 commands.spawn(Node::default()).with_children(|commands| {
67 commands
68 .spawn(Node {
69 flex_direction: FlexDirection::Column,
70 row_gap: Val::Px(10.),
71 ..Default::default()
72 })
73 .with_children(|commands| {
74 for (w, h) in [(100., 100.), (50., 100.), (100., 50.)] {
75 commands
76 .spawn(Node {
77 column_gap: Val::Px(10.),
78 ..Default::default()
79 })
80 .with_children(|commands| {
81 for angle in (0..8).map(|i| i as f32 * TAU / 8.) {
82 commands.spawn((
83 Node {
84 width: Val::Px(w),
85 height: Val::Px(h),
86 border: UiRect::all(Val::Px(b)),
87 ..default()
88 },
89 BorderRadius::all(Val::Px(20.)),
90 BackgroundGradient::from(LinearGradient {
91 angle,
92 stops: stops.clone(),
93 }),
94 BorderGradient::from(LinearGradient {
95 angle: 3. * TAU / 8.,
96 stops: vec![
97 YELLOW.into(),
98 Color::WHITE.into(),
99 ORANGE.into(),
100 ],
101 }),
102 ));
103 }
104 });
105 }
106 });
107
108 commands.spawn(Node::default()).with_children(|commands| {
109 commands.spawn((
110 Node {
111 aspect_ratio: Some(1.),
112 height: Val::Percent(100.),
113 border: UiRect::all(Val::Px(b)),
114 margin: UiRect::left(Val::Px(30.)),
115 ..default()
116 },
117 BorderRadius::all(Val::Px(20.)),
118 BackgroundGradient::from(LinearGradient {
119 angle: 0.,
120 stops: stops.clone(),
121 }),
122 BorderGradient::from(LinearGradient {
123 angle: 3. * TAU / 8.,
124 stops: vec![YELLOW.into(), Color::WHITE.into(), ORANGE.into()],
125 }),
126 AnimateMarker,
127 ));
128
129 commands.spawn((
130 Node {
131 aspect_ratio: Some(1.),
132 height: Val::Percent(100.),
133 border: UiRect::all(Val::Px(b)),
134 margin: UiRect::left(Val::Px(30.)),
135 ..default()
136 },
137 BorderRadius::all(Val::Px(20.)),
138 BackgroundGradient::from(RadialGradient {
139 stops: stops.clone(),
140 shape: RadialGradientShape::ClosestSide,
141 position: Position::CENTER,
142 }),
143 BorderGradient::from(LinearGradient {
144 angle: 3. * TAU / 8.,
145 stops: vec![YELLOW.into(), Color::WHITE.into(), ORANGE.into()],
146 }),
147 AnimateMarker,
148 ));
149 commands.spawn((
150 Node {
151 aspect_ratio: Some(1.),
152 height: Val::Percent(100.),
153 border: UiRect::all(Val::Px(b)),
154 margin: UiRect::left(Val::Px(30.)),
155 ..default()
156 },
157 BorderRadius::all(Val::Px(20.)),
158 BackgroundGradient::from(ConicGradient {
159 start: (0.25001) * TAU * i as f32,
160 stops: stops
161 .iter()
162 .map(|stop| AngularColorStop::auto(stop.color))
163 .collect(),
164 position: Position::CENTER,
165 }),
166 BorderGradient::from(LinearGradient {
167 angle: 3. * TAU / 8.,
168 stops: vec![YELLOW.into(), Color::WHITE.into(), ORANGE.into()],
169 }),
170 AnimateMarker,
171 ));
172 });
173 });
174 }
175 });
176}pub fn with_hint(self, hint: f32) -> Self
Trait Implementations§
Source§impl Clone for AngularColorStop
impl Clone for AngularColorStop
Source§fn clone(&self) -> AngularColorStop
fn clone(&self) -> AngularColorStop
Returns a duplicate of the value. Read more
1.0.0 · 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 AngularColorStop
impl Debug for AngularColorStop
Source§impl Default for AngularColorStop
impl Default for AngularColorStop
Source§fn default() -> AngularColorStop
fn default() -> AngularColorStop
Returns the “default value” for a type. Read more
Source§impl FromReflect for AngularColorStopwhere
AngularColorStop: Any + Send + Sync,
Color: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
Option<f32>: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
f32: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
impl FromReflect for AngularColorStopwhere
AngularColorStop: Any + Send + Sync,
Color: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
Option<f32>: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
f32: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
Source§fn from_reflect(reflect: &dyn PartialReflect) -> Option<Self>
fn from_reflect(reflect: &dyn PartialReflect) -> Option<Self>
Constructs a concrete instance of
Self from a reflected value.Source§fn take_from_reflect(
reflect: Box<dyn PartialReflect>,
) -> Result<Self, Box<dyn PartialReflect>>
fn take_from_reflect( reflect: Box<dyn PartialReflect>, ) -> Result<Self, Box<dyn PartialReflect>>
Attempts to downcast the given value to
Self using,
constructing the value using from_reflect if that fails. Read moreSource§impl GetTypeRegistration for AngularColorStopwhere
AngularColorStop: Any + Send + Sync,
Color: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
Option<f32>: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
f32: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
impl GetTypeRegistration for AngularColorStopwhere
AngularColorStop: Any + Send + Sync,
Color: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
Option<f32>: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
f32: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
Source§fn get_type_registration() -> TypeRegistration
fn get_type_registration() -> TypeRegistration
Returns the default
TypeRegistration for this type.Source§fn register_type_dependencies(registry: &mut TypeRegistry)
fn register_type_dependencies(registry: &mut TypeRegistry)
Registers other types needed by this type. Read more
Source§impl PartialEq for AngularColorStop
impl PartialEq for AngularColorStop
Source§impl PartialReflect for AngularColorStopwhere
AngularColorStop: Any + Send + Sync,
Color: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
Option<f32>: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
f32: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
impl PartialReflect for AngularColorStopwhere
AngularColorStop: Any + Send + Sync,
Color: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
Option<f32>: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
f32: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
Source§fn get_represented_type_info(&self) -> Option<&'static TypeInfo>
fn get_represented_type_info(&self) -> Option<&'static TypeInfo>
Source§fn try_apply(&mut self, value: &dyn PartialReflect) -> Result<(), ApplyError>
fn try_apply(&mut self, value: &dyn PartialReflect) -> Result<(), ApplyError>
Source§fn reflect_kind(&self) -> ReflectKind
fn reflect_kind(&self) -> ReflectKind
Returns a zero-sized enumeration of “kinds” of type. Read more
Source§fn reflect_ref(&self) -> ReflectRef<'_>
fn reflect_ref(&self) -> ReflectRef<'_>
Returns an immutable enumeration of “kinds” of type. Read more
Source§fn reflect_mut(&mut self) -> ReflectMut<'_>
fn reflect_mut(&mut self) -> ReflectMut<'_>
Returns a mutable enumeration of “kinds” of type. Read more
Source§fn reflect_owned(self: Box<Self>) -> ReflectOwned
fn reflect_owned(self: Box<Self>) -> ReflectOwned
Returns an owned enumeration of “kinds” of type. Read more
Source§fn try_into_reflect(
self: Box<Self>,
) -> Result<Box<dyn Reflect>, Box<dyn PartialReflect>>
fn try_into_reflect( self: Box<Self>, ) -> Result<Box<dyn Reflect>, Box<dyn PartialReflect>>
Attempts to cast this type to a boxed, fully-reflected value.
Source§fn try_as_reflect(&self) -> Option<&dyn Reflect>
fn try_as_reflect(&self) -> Option<&dyn Reflect>
Attempts to cast this type to a fully-reflected value.
Source§fn try_as_reflect_mut(&mut self) -> Option<&mut dyn Reflect>
fn try_as_reflect_mut(&mut self) -> Option<&mut dyn Reflect>
Attempts to cast this type to a mutable, fully-reflected value.
Source§fn into_partial_reflect(self: Box<Self>) -> Box<dyn PartialReflect>
fn into_partial_reflect(self: Box<Self>) -> Box<dyn PartialReflect>
Casts this type to a boxed, reflected value. Read more
Source§fn as_partial_reflect(&self) -> &dyn PartialReflect
fn as_partial_reflect(&self) -> &dyn PartialReflect
Casts this type to a reflected value. Read more
Source§fn as_partial_reflect_mut(&mut self) -> &mut dyn PartialReflect
fn as_partial_reflect_mut(&mut self) -> &mut dyn PartialReflect
Casts this type to a mutable, reflected value. Read more
Source§fn reflect_partial_eq(&self, value: &dyn PartialReflect) -> Option<bool>
fn reflect_partial_eq(&self, value: &dyn PartialReflect) -> Option<bool>
Returns a “partial equality” comparison result. Read more
Source§fn reflect_clone(&self) -> Result<Box<dyn Reflect>, ReflectCloneError>
fn reflect_clone(&self) -> Result<Box<dyn Reflect>, ReflectCloneError>
Attempts to clone
Self using reflection. Read moreSource§fn apply(&mut self, value: &(dyn PartialReflect + 'static))
fn apply(&mut self, value: &(dyn PartialReflect + 'static))
Applies a reflected value to this value. Read more
Source§fn clone_value(&self) -> Box<dyn PartialReflect>
fn clone_value(&self) -> Box<dyn PartialReflect>
👎Deprecated since 0.16.0: to clone reflected values, prefer using
reflect_clone. To convert reflected values to dynamic ones, use to_dynamic.Clones
Self into its dynamic representation. Read moreSource§fn to_dynamic(&self) -> Box<dyn PartialReflect>
fn to_dynamic(&self) -> Box<dyn PartialReflect>
Source§fn reflect_hash(&self) -> Option<u64>
fn reflect_hash(&self) -> Option<u64>
Returns a hash of the value (which includes the type). Read more
Source§fn is_dynamic(&self) -> bool
fn is_dynamic(&self) -> bool
Indicates whether or not this type is a dynamic type. Read more
Source§impl Reflect for AngularColorStopwhere
AngularColorStop: Any + Send + Sync,
Color: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
Option<f32>: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
f32: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
impl Reflect for AngularColorStopwhere
AngularColorStop: Any + Send + Sync,
Color: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
Option<f32>: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
f32: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
Source§fn as_any_mut(&mut self) -> &mut dyn Any
fn as_any_mut(&mut self) -> &mut dyn Any
Returns the value as a
&mut dyn Any. Read moreSource§fn into_reflect(self: Box<Self>) -> Box<dyn Reflect>
fn into_reflect(self: Box<Self>) -> Box<dyn Reflect>
Casts this type to a boxed, fully-reflected value.
Source§fn as_reflect(&self) -> &dyn Reflect
fn as_reflect(&self) -> &dyn Reflect
Casts this type to a fully-reflected value.
Source§fn as_reflect_mut(&mut self) -> &mut dyn Reflect
fn as_reflect_mut(&mut self) -> &mut dyn Reflect
Casts this type to a mutable, fully-reflected value.
Source§impl Struct for AngularColorStopwhere
AngularColorStop: Any + Send + Sync,
Color: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
Option<f32>: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
f32: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
impl Struct for AngularColorStopwhere
AngularColorStop: Any + Send + Sync,
Color: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
Option<f32>: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
f32: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
Source§fn field(&self, name: &str) -> Option<&dyn PartialReflect>
fn field(&self, name: &str) -> Option<&dyn PartialReflect>
Returns a reference to the value of the field named
name as a &dyn PartialReflect.Source§fn field_mut(&mut self, name: &str) -> Option<&mut dyn PartialReflect>
fn field_mut(&mut self, name: &str) -> Option<&mut dyn PartialReflect>
Returns a mutable reference to the value of the field named
name as a
&mut dyn PartialReflect.Source§fn field_at(&self, index: usize) -> Option<&dyn PartialReflect>
fn field_at(&self, index: usize) -> Option<&dyn PartialReflect>
Returns a reference to the value of the field with index
index as a
&dyn PartialReflect.Source§fn field_at_mut(&mut self, index: usize) -> Option<&mut dyn PartialReflect>
fn field_at_mut(&mut self, index: usize) -> Option<&mut dyn PartialReflect>
Returns a mutable reference to the value of the field with index
index
as a &mut dyn PartialReflect.Source§fn name_at(&self, index: usize) -> Option<&str>
fn name_at(&self, index: usize) -> Option<&str>
Returns the name of the field with index
index.Source§fn iter_fields(&self) -> FieldIter<'_>
fn iter_fields(&self) -> FieldIter<'_>
Returns an iterator over the values of the reflectable fields for this struct.
fn to_dynamic_struct(&self) -> DynamicStruct
Source§fn clone_dynamic(&self) -> DynamicStruct
fn clone_dynamic(&self) -> DynamicStruct
👎Deprecated since 0.16.0: use
to_dynamic_struct insteadClones the struct into a
DynamicStruct.Source§fn get_represented_struct_info(&self) -> Option<&'static StructInfo>
fn get_represented_struct_info(&self) -> Option<&'static StructInfo>
Will return
None if TypeInfo is not available.Source§impl TypePath for AngularColorStop
impl TypePath for AngularColorStop
Source§fn type_path() -> &'static str
fn type_path() -> &'static str
Returns the fully qualified path of the underlying type. Read more
Source§fn short_type_path() -> &'static str
fn short_type_path() -> &'static str
Returns a short, pretty-print enabled path to the type. Read more
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 AngularColorStopwhere
AngularColorStop: Any + Send + Sync,
Color: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
Option<f32>: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
f32: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
impl Typed for AngularColorStopwhere
AngularColorStop: Any + Send + Sync,
Color: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
Option<f32>: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
f32: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
impl Copy for AngularColorStop
impl StructuralPartialEq for AngularColorStop
Auto Trait Implementations§
impl Freeze for AngularColorStop
impl RefUnwindSafe for AngularColorStop
impl Send for AngularColorStop
impl Sync for AngularColorStop
impl Unpin for AngularColorStop
impl UnwindSafe for AngularColorStop
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
Return the
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
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>
Converts
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>, which can then be
downcast into Box<dyn 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>
Converts
Rc<Trait> (where Trait: Downcast) to Rc<Any>, which 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)
Converts
&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)
Converts
&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> DowncastSend for T
impl<T> DowncastSend 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
See
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>
See
TypePath::type_ident.Source§fn reflect_crate_name(&self) -> Option<&str>
fn reflect_crate_name(&self) -> Option<&str>
See
TypePath::crate_name.Source§fn reflect_module_path(&self) -> Option<&str>
fn reflect_module_path(&self) -> Option<&str>
Source§impl<T> DynamicTyped for Twhere
T: Typed,
impl<T> DynamicTyped for Twhere
T: Typed,
Source§fn reflect_type_info(&self) -> &'static TypeInfo
fn reflect_type_info(&self) -> &'static TypeInfo
See
Typed::type_info.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
Creates Self using default().
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 PartialReflect + 'static), ReflectPathError<'p>>
fn reflect_path<'p>( &self, path: impl ReflectPath<'p>, ) -> Result<&(dyn PartialReflect + 'static), ReflectPathError<'p>>
Returns a reference to the value specified by
path. Read moreSource§fn reflect_path_mut<'p>(
&mut self,
path: impl ReflectPath<'p>,
) -> Result<&mut (dyn PartialReflect + 'static), ReflectPathError<'p>>
fn reflect_path_mut<'p>( &mut self, path: impl ReflectPath<'p>, ) -> Result<&mut (dyn PartialReflect + 'static), ReflectPathError<'p>>
Returns a mutable reference to the value specified by
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,
Returns a statically typed reference to the value specified by
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,
Returns a statically typed mutable reference to the value specified by
path. Read moreSource§impl<T, W> HasTypeWitness<W> for Twhere
W: MakeTypeWitness<Arg = T>,
T: ?Sized,
impl<T, W> HasTypeWitness<W> for Twhere
W: MakeTypeWitness<Arg = T>,
T: ?Sized,
Source§impl<T> Identity for Twhere
T: ?Sized,
impl<T> Identity for Twhere
T: ?Sized,
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