pub struct TextLayout {
pub justify: JustifyText,
pub linebreak: LineBreak,
}
Expand description
Component with text format settings for a block of text.
A block of text is composed of text spans, which each have a separate string value and TextFont
. Text
spans associated with a text block are collected into ComputedTextBlock
for layout, and then inserted
to TextLayoutInfo
for rendering.
See Text2d
for the core component of 2d text, and Text
in bevy_ui
for UI text.
Fields§
§justify: JustifyText
The text’s internal alignment. Should not affect its position within a container.
linebreak: LineBreak
How the text should linebreak when running out of the bounds determined by max_size
.
Implementations§
Source§impl TextLayout
impl TextLayout
Sourcepub const fn new(justify: JustifyText, linebreak: LineBreak) -> TextLayout
pub const fn new(justify: JustifyText, linebreak: LineBreak) -> TextLayout
Makes a new TextLayout
.
Examples found in repository?
345 pub fn setup(mut commands: Commands) {
346 commands.spawn((Camera2d, StateScoped(super::Scene::TextWrap)));
347
348 let root = commands
349 .spawn((
350 Node {
351 flex_direction: FlexDirection::Column,
352 width: Val::Px(200.),
353 height: Val::Percent(100.),
354 overflow: Overflow::clip_x(),
355 ..default()
356 },
357 BackgroundColor(Color::BLACK),
358 StateScoped(super::Scene::TextWrap),
359 ))
360 .id();
361
362 for linebreak in [
363 LineBreak::AnyCharacter,
364 LineBreak::WordBoundary,
365 LineBreak::WordOrCharacter,
366 LineBreak::NoWrap,
367 ] {
368 let messages = [
369 "Lorem ipsum dolor sit amet, consectetur adipiscing elit.".to_string(),
370 "pneumonoultramicroscopicsilicovolcanoconiosis".to_string(),
371 ];
372
373 for (j, message) in messages.into_iter().enumerate() {
374 commands.entity(root).with_child((
375 Text(message.clone()),
376 TextLayout::new(JustifyText::Left, linebreak),
377 BackgroundColor(Color::srgb(0.8 - j as f32 * 0.3, 0., 0.)),
378 ));
379 }
380 }
381 }
More examples
45fn spawn(mut commands: Commands, asset_server: Res<AssetServer>) {
46 commands.spawn(Camera2d);
47
48 let text_font = TextFont {
49 font: asset_server.load("fonts/FiraSans-Bold.ttf"),
50 font_size: 12.0,
51 ..default()
52 };
53
54 let root = commands
55 .spawn((
56 Node {
57 width: Val::Percent(100.),
58 height: Val::Percent(100.),
59 flex_direction: FlexDirection::Column,
60 ..default()
61 },
62 BackgroundColor(Color::BLACK),
63 ))
64 .id();
65
66 for linebreak in [
67 LineBreak::AnyCharacter,
68 LineBreak::WordBoundary,
69 LineBreak::WordOrCharacter,
70 LineBreak::NoWrap,
71 ] {
72 let row_id = commands
73 .spawn(Node {
74 flex_direction: FlexDirection::Row,
75 justify_content: JustifyContent::SpaceAround,
76 align_items: AlignItems::Center,
77 width: Val::Percent(100.),
78 height: Val::Percent(50.),
79 ..default()
80 })
81 .id();
82
83 let justifications = vec![
84 JustifyContent::Center,
85 JustifyContent::FlexStart,
86 JustifyContent::FlexEnd,
87 JustifyContent::SpaceAround,
88 JustifyContent::SpaceBetween,
89 JustifyContent::SpaceEvenly,
90 ];
91
92 for (i, justification) in justifications.into_iter().enumerate() {
93 let c = 0.3 + i as f32 * 0.1;
94 let column_id = commands
95 .spawn((
96 Node {
97 justify_content: justification,
98 flex_direction: FlexDirection::Column,
99 width: Val::Percent(16.),
100 height: Val::Percent(95.),
101 overflow: Overflow::clip_x(),
102 ..default()
103 },
104 BackgroundColor(Color::srgb(0.5, c, 1.0 - c)),
105 ))
106 .id();
107
108 let messages = [
109 format!("JustifyContent::{justification:?}"),
110 format!("LineBreakOn::{linebreak:?}"),
111 "Line 1\nLine 2".to_string(),
112 "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Maecenas auctor, nunc ac faucibus fringilla.".to_string(),
113 "pneumonoultramicroscopicsilicovolcanoconiosis".to_string()
114 ];
115
116 for (j, message) in messages.into_iter().enumerate() {
117 commands.entity(column_id).with_child((
118 Text(message.clone()),
119 text_font.clone(),
120 TextLayout::new(JustifyText::Left, linebreak),
121 BackgroundColor(Color::srgb(0.8 - j as f32 * 0.2, 0., 0.)),
122 ));
123 }
124 commands.entity(row_id).add_child(column_id);
125 }
126 commands.entity(root).add_child(row_id);
127 }
128}
36fn setup(mut commands: Commands, asset_server: Res<AssetServer>) {
37 let font = asset_server.load("fonts/FiraSans-Bold.ttf");
38 let text_font = TextFont {
39 font: font.clone(),
40 font_size: 50.0,
41 ..default()
42 };
43 let text_justification = JustifyText::Center;
44 commands.spawn(Camera2d);
45 // Demonstrate changing translation
46 commands.spawn((
47 Text2d::new("translation"),
48 text_font.clone(),
49 TextLayout::new_with_justify(text_justification),
50 AnimateTranslation,
51 ));
52 // Demonstrate changing rotation
53 commands.spawn((
54 Text2d::new("rotation"),
55 text_font.clone(),
56 TextLayout::new_with_justify(text_justification),
57 AnimateRotation,
58 ));
59 // Demonstrate changing scale
60 commands.spawn((
61 Text2d::new("scale"),
62 text_font,
63 TextLayout::new_with_justify(text_justification),
64 Transform::from_translation(Vec3::new(400.0, 0.0, 0.0)),
65 AnimateScale,
66 ));
67 // Demonstrate text wrapping
68 let slightly_smaller_text_font = TextFont {
69 font,
70 font_size: 35.0,
71 ..default()
72 };
73 let box_size = Vec2::new(300.0, 200.0);
74 let box_position = Vec2::new(0.0, -250.0);
75 commands
76 .spawn((
77 Sprite::from_color(Color::srgb(0.25, 0.25, 0.55), box_size),
78 Transform::from_translation(box_position.extend(0.0)),
79 ))
80 .with_children(|builder| {
81 builder.spawn((
82 Text2d::new("this text wraps in the box\n(Unicode linebreaks)"),
83 slightly_smaller_text_font.clone(),
84 TextLayout::new(JustifyText::Left, LineBreak::WordBoundary),
85 // Wrap text in the rectangle
86 TextBounds::from(box_size),
87 // Ensure the text is drawn on top of the box
88 Transform::from_translation(Vec3::Z),
89 ));
90 });
91
92 let other_box_size = Vec2::new(300.0, 200.0);
93 let other_box_position = Vec2::new(320.0, -250.0);
94 commands
95 .spawn((
96 Sprite::from_color(Color::srgb(0.25, 0.25, 0.55), other_box_size),
97 Transform::from_translation(other_box_position.extend(0.0)),
98 ))
99 .with_children(|builder| {
100 builder.spawn((
101 Text2d::new("this text wraps in the box\n(AnyCharacter linebreaks)"),
102 slightly_smaller_text_font.clone(),
103 TextLayout::new(JustifyText::Left, LineBreak::AnyCharacter),
104 // Wrap text in the rectangle
105 TextBounds::from(other_box_size),
106 // Ensure the text is drawn on top of the box
107 Transform::from_translation(Vec3::Z),
108 ));
109 });
110
111 // Demonstrate font smoothing off
112 commands.spawn((
113 Text2d::new("This text has\nFontSmoothing::None\nAnd JustifyText::Center"),
114 slightly_smaller_text_font
115 .clone()
116 .with_font_smoothing(FontSmoothing::None),
117 TextLayout::new_with_justify(JustifyText::Center),
118 Transform::from_translation(Vec3::new(-400.0, -250.0, 0.0)),
119 ));
120
121 commands
122 .spawn((
123 Sprite {
124 color: Color::Srgba(LIGHT_CYAN),
125 custom_size: Some(Vec2::new(10., 10.)),
126 ..Default::default()
127 },
128 Transform::from_translation(250. * Vec3::Y),
129 ))
130 .with_children(|commands| {
131 for (text_anchor, color) in [
132 (Anchor::TopLeft, Color::Srgba(LIGHT_SALMON)),
133 (Anchor::TopRight, Color::Srgba(LIGHT_GREEN)),
134 (Anchor::BottomRight, Color::Srgba(LIGHT_BLUE)),
135 (Anchor::BottomLeft, Color::Srgba(LIGHT_YELLOW)),
136 ] {
137 commands
138 .spawn((
139 Text2d::new(" Anchor".to_string()),
140 slightly_smaller_text_font.clone(),
141 text_anchor,
142 ))
143 .with_child((
144 TextSpan("::".to_string()),
145 slightly_smaller_text_font.clone(),
146 TextColor(LIGHT_GREY.into()),
147 ))
148 .with_child((
149 TextSpan(format!("{text_anchor:?} ")),
150 slightly_smaller_text_font.clone(),
151 TextColor(color),
152 ));
153 }
154 });
155}
Sourcepub fn new_with_justify(justify: JustifyText) -> TextLayout
pub fn new_with_justify(justify: JustifyText) -> TextLayout
Makes a new TextLayout
with the specified JustifyText
.
Examples found in repository?
More examples
273fn create_label(
274 commands: &mut Commands,
275 translation: (f32, f32, f32),
276 text: &str,
277 text_style: TextFont,
278) {
279 commands.spawn((
280 Text2d::new(text),
281 text_style,
282 TextLayout::new_with_justify(JustifyText::Center),
283 Transform {
284 translation: Vec3::new(translation.0, translation.1, translation.2),
285 ..default()
286 },
287 ));
288}
92fn setup_ui(mut commands: Commands) {
93 commands.spawn(Camera2d);
94 commands
95 .spawn((
96 Text::default(),
97 TextLayout::new_with_justify(JustifyText::Center),
98 Node {
99 align_self: AlignSelf::Center,
100 justify_self: JustifySelf::Center,
101 ..default()
102 },
103 ))
104 .with_children(|p| {
105 p.spawn(TextSpan::new("Press A or B to trigger a one-shot system\n"));
106 p.spawn(TextSpan::new("Last Triggered: "));
107 p.spawn((
108 TextSpan::new("-"),
109 TextColor(bevy::color::palettes::css::ORANGE.into()),
110 ));
111 });
112}
150fn setup_image_viewer_scene(
151 mut commands: Commands,
152 mut meshes: ResMut<Assets<Mesh>>,
153 mut materials: ResMut<Assets<StandardMaterial>>,
154 camera_transform: Res<CameraTransform>,
155) {
156 let mut transform = camera_transform.0;
157 transform.translation += *transform.forward();
158
159 // exr/hdr viewer (exr requires enabling bevy feature)
160 commands.spawn((
161 Mesh3d(meshes.add(Rectangle::default())),
162 MeshMaterial3d(materials.add(StandardMaterial {
163 base_color_texture: None,
164 unlit: true,
165 ..default()
166 })),
167 transform,
168 Visibility::Hidden,
169 SceneNumber(3),
170 HDRViewer,
171 ));
172
173 commands.spawn((
174 Text::new("Drag and drop an HDR or EXR file"),
175 TextFont {
176 font_size: 36.0,
177 ..default()
178 },
179 TextColor(Color::BLACK),
180 TextLayout::new_with_justify(JustifyText::Center),
181 Node {
182 align_self: AlignSelf::Center,
183 margin: UiRect::all(Val::Auto),
184 ..default()
185 },
186 SceneNumber(3),
187 Visibility::Hidden,
188 ));
189}
366fn setup_text(mut commands: Commands, cameras: Query<(Entity, &Camera)>) {
367 let active_camera = cameras
368 .iter()
369 .find_map(|(entity, camera)| camera.is_active.then_some(entity))
370 .expect("run condition ensures existence");
371 commands.spawn((
372 HeaderNode,
373 Node {
374 justify_self: JustifySelf::Center,
375 top: Val::Px(5.0),
376 ..Default::default()
377 },
378 UiTargetCamera(active_camera),
379 children![(
380 Text::default(),
381 HeaderText,
382 TextLayout::new_with_justify(JustifyText::Center),
383 children![
384 TextSpan::new("Primitive: "),
385 TextSpan(format!("{text}", text = PrimitiveSelected::default())),
386 TextSpan::new("\n\n"),
387 TextSpan::new(
388 "Press 'C' to switch between 2D and 3D mode\n\
389 Press 'Up' or 'Down' to switch to the next/previous primitive",
390 ),
391 TextSpan::new("\n\n"),
392 TextSpan::new("(If nothing is displayed, there's no rendering support yet)",),
393 ]
394 )],
395 ));
396}
206fn spawn_button(
207 parent: &mut ChildSpawnerCommands,
208 constraint: Constraint,
209 action: ButtonValue,
210 label: String,
211 text_style: (TextFont, TextColor),
212 active: bool,
213) {
214 parent
215 .spawn((
216 Button,
217 Node {
218 align_items: AlignItems::Center,
219 justify_content: JustifyContent::Center,
220 border: UiRect::all(Val::Px(2.)),
221 margin: UiRect::horizontal(Val::Px(2.)),
222 ..Default::default()
223 },
224 BorderColor(if active {
225 ACTIVE_BORDER_COLOR
226 } else {
227 INACTIVE_BORDER_COLOR
228 }),
229 constraint,
230 action,
231 ))
232 .with_children(|parent| {
233 parent
234 .spawn((
235 Node {
236 width: Val::Px(100.),
237 justify_content: JustifyContent::Center,
238 ..default()
239 },
240 BackgroundColor(if active {
241 ACTIVE_INNER_COLOR
242 } else {
243 INACTIVE_INNER_COLOR
244 }),
245 ))
246 .with_child((
247 Text::new(label),
248 text_style.0,
249 TextColor(if active {
250 ACTIVE_TEXT_COLOR
251 } else {
252 UNHOVERED_TEXT_COLOR
253 }),
254 TextLayout::new_with_justify(JustifyText::Center),
255 ));
256 });
257}
- examples/stress_tests/many_text2d.rs
- examples/testbed/2d.rs
- examples/animation/animated_ui.rs
- examples/time/virtual_time.rs
- examples/animation/animation_graph.rs
- examples/2d/sprite_slice.rs
- examples/ui/text.rs
- examples/ui/display_and_visibility.rs
- examples/2d/text2d.rs
- examples/animation/animation_masks.rs
- examples/2d/sprite_scale.rs
- examples/ui/text_debug.rs
Sourcepub fn new_with_linebreak(linebreak: LineBreak) -> TextLayout
pub fn new_with_linebreak(linebreak: LineBreak) -> TextLayout
Makes a new TextLayout
with the specified LineBreak
.
Sourcepub fn new_with_no_wrap() -> TextLayout
pub fn new_with_no_wrap() -> TextLayout
Makes a new TextLayout
with soft wrapping disabled.
Hard wrapping, where text contains an explicit linebreak such as the escape sequence \n
, will still occur.
Sourcepub const fn with_justify(self, justify: JustifyText) -> TextLayout
pub const fn with_justify(self, justify: JustifyText) -> TextLayout
Returns this TextLayout
with the specified JustifyText
.
Sourcepub const fn with_linebreak(self, linebreak: LineBreak) -> TextLayout
pub const fn with_linebreak(self, linebreak: LineBreak) -> TextLayout
Returns this TextLayout
with the specified LineBreak
.
Sourcepub const fn with_no_wrap(self) -> TextLayout
pub const fn with_no_wrap(self) -> TextLayout
Returns this TextLayout
with soft wrapping disabled.
Hard wrapping, where text contains an explicit linebreak such as the escape sequence \n
, will still occur.
Examples found in repository?
27fn setup(
28 mut commands: Commands,
29 mut meshes: ResMut<Assets<Mesh>>,
30 mut materials: ResMut<Assets<StandardMaterial>>,
31 asset_server: Res<AssetServer>,
32) {
33 let base_color = Color::srgb(0.9, 0.2, 0.3);
34 let icosphere_mesh = meshes.add(Sphere::new(0.9).mesh().ico(7).unwrap());
35
36 // Opaque
37 let opaque = commands
38 .spawn((
39 Mesh3d(icosphere_mesh.clone()),
40 MeshMaterial3d(materials.add(StandardMaterial {
41 base_color,
42 alpha_mode: AlphaMode::Opaque,
43 ..default()
44 })),
45 Transform::from_xyz(-4.0, 0.0, 0.0),
46 ExampleControls {
47 unlit: true,
48 color: true,
49 },
50 ))
51 .id();
52
53 // Blend
54 let blend = commands
55 .spawn((
56 Mesh3d(icosphere_mesh.clone()),
57 MeshMaterial3d(materials.add(StandardMaterial {
58 base_color,
59 alpha_mode: AlphaMode::Blend,
60 ..default()
61 })),
62 Transform::from_xyz(-2.0, 0.0, 0.0),
63 ExampleControls {
64 unlit: true,
65 color: true,
66 },
67 ))
68 .id();
69
70 // Premultiplied
71 let premultiplied = commands
72 .spawn((
73 Mesh3d(icosphere_mesh.clone()),
74 MeshMaterial3d(materials.add(StandardMaterial {
75 base_color,
76 alpha_mode: AlphaMode::Premultiplied,
77 ..default()
78 })),
79 Transform::from_xyz(0.0, 0.0, 0.0),
80 ExampleControls {
81 unlit: true,
82 color: true,
83 },
84 ))
85 .id();
86
87 // Add
88 let add = commands
89 .spawn((
90 Mesh3d(icosphere_mesh.clone()),
91 MeshMaterial3d(materials.add(StandardMaterial {
92 base_color,
93 alpha_mode: AlphaMode::Add,
94 ..default()
95 })),
96 Transform::from_xyz(2.0, 0.0, 0.0),
97 ExampleControls {
98 unlit: true,
99 color: true,
100 },
101 ))
102 .id();
103
104 // Multiply
105 let multiply = commands
106 .spawn((
107 Mesh3d(icosphere_mesh),
108 MeshMaterial3d(materials.add(StandardMaterial {
109 base_color,
110 alpha_mode: AlphaMode::Multiply,
111 ..default()
112 })),
113 Transform::from_xyz(4.0, 0.0, 0.0),
114 ExampleControls {
115 unlit: true,
116 color: true,
117 },
118 ))
119 .id();
120
121 // Chessboard Plane
122 let black_material = materials.add(Color::BLACK);
123 let white_material = materials.add(Color::WHITE);
124
125 let plane_mesh = meshes.add(Plane3d::default().mesh().size(2.0, 2.0));
126
127 for x in -3..4 {
128 for z in -3..4 {
129 commands.spawn((
130 Mesh3d(plane_mesh.clone()),
131 MeshMaterial3d(if (x + z) % 2 == 0 {
132 black_material.clone()
133 } else {
134 white_material.clone()
135 }),
136 Transform::from_xyz(x as f32 * 2.0, -1.0, z as f32 * 2.0),
137 ExampleControls {
138 unlit: false,
139 color: true,
140 },
141 ));
142 }
143 }
144
145 // Light
146 commands.spawn((PointLight::default(), Transform::from_xyz(4.0, 8.0, 4.0)));
147
148 // Camera
149 commands.spawn((
150 Camera3d::default(),
151 Transform::from_xyz(0.0, 2.5, 10.0).looking_at(Vec3::ZERO, Vec3::Y),
152 // Unfortunately, MSAA and HDR are not supported simultaneously under WebGL.
153 // Since this example uses HDR, we must disable MSAA for Wasm builds, at least
154 // until WebGPU is ready and no longer behind a feature flag in Web browsers.
155 #[cfg(target_arch = "wasm32")]
156 Msaa::Off,
157 ));
158
159 // Controls Text
160
161 // We need the full version of this font so we can use box drawing characters.
162 let text_style = TextFont {
163 font: asset_server.load("fonts/FiraMono-Medium.ttf"),
164 ..default()
165 };
166
167 let label_text_style = (text_style.clone(), TextColor(ORANGE.into()));
168
169 commands.spawn((Text::new("Up / Down — Increase / Decrease Alpha\nLeft / Right — Rotate Camera\nH - Toggle HDR\nSpacebar — Toggle Unlit\nC — Randomize Colors"),
170 text_style.clone(),
171 Node {
172 position_type: PositionType::Absolute,
173 top: Val::Px(12.0),
174 left: Val::Px(12.0),
175 ..default()
176 })
177 );
178
179 commands.spawn((
180 Text::default(),
181 text_style,
182 Node {
183 position_type: PositionType::Absolute,
184 top: Val::Px(12.0),
185 right: Val::Px(12.0),
186 ..default()
187 },
188 ExampleDisplay,
189 ));
190
191 let mut label = |entity: Entity, label: &str| {
192 commands
193 .spawn((
194 Node {
195 position_type: PositionType::Absolute,
196 ..default()
197 },
198 ExampleLabel { entity },
199 ))
200 .with_children(|parent| {
201 parent.spawn((
202 Text::new(label),
203 label_text_style.clone(),
204 Node {
205 position_type: PositionType::Absolute,
206 bottom: Val::ZERO,
207 ..default()
208 },
209 TextLayout::default().with_no_wrap(),
210 ));
211 });
212 };
213
214 label(opaque, "┌─ Opaque\n│\n│\n│\n│");
215 label(blend, "┌─ Blend\n│\n│\n│");
216 label(premultiplied, "┌─ Premultiplied\n│\n│");
217 label(add, "┌─ Add\n│");
218 label(multiply, "┌─ Multiply");
219}
Trait Implementations§
Source§impl Clone for TextLayout
impl Clone for TextLayout
Source§fn clone(&self) -> TextLayout
fn clone(&self) -> TextLayout
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moreSource§impl Component for TextLayout
Required Components: ComputedTextBlock
, TextLayoutInfo
.
impl Component for TextLayout
Required Components: ComputedTextBlock
, TextLayoutInfo
.
A component’s Required Components are inserted whenever it is inserted. Note that this will also insert the required components of the required components, recursively, in depth-first order.
Source§const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table
Source§type Mutability = Mutable
type Mutability = Mutable
Component<Mutability = Mutable>
],
while immutable components will instead have [Component<Mutability = Immutable>
]. Read moreSource§fn register_required_components(
requiree: ComponentId,
components: &mut ComponentsRegistrator<'_>,
required_components: &mut RequiredComponents,
inheritance_depth: u16,
recursion_check_stack: &mut Vec<ComponentId>,
)
fn register_required_components( requiree: ComponentId, components: &mut ComponentsRegistrator<'_>, required_components: &mut RequiredComponents, inheritance_depth: u16, recursion_check_stack: &mut Vec<ComponentId>, )
Source§fn clone_behavior() -> ComponentCloneBehavior
fn clone_behavior() -> ComponentCloneBehavior
Source§fn register_component_hooks(hooks: &mut ComponentHooks)
fn register_component_hooks(hooks: &mut ComponentHooks)
Component::on_add
, etc.)ComponentHooks
.Source§fn on_add() -> Option<for<'w> fn(DeferredWorld<'w>, HookContext)>
fn on_add() -> Option<for<'w> fn(DeferredWorld<'w>, HookContext)>
Source§fn on_insert() -> Option<for<'w> fn(DeferredWorld<'w>, HookContext)>
fn on_insert() -> Option<for<'w> fn(DeferredWorld<'w>, HookContext)>
Source§fn on_replace() -> Option<for<'w> fn(DeferredWorld<'w>, HookContext)>
fn on_replace() -> Option<for<'w> fn(DeferredWorld<'w>, HookContext)>
Source§fn on_remove() -> Option<for<'w> fn(DeferredWorld<'w>, HookContext)>
fn on_remove() -> Option<for<'w> fn(DeferredWorld<'w>, HookContext)>
Source§fn on_despawn() -> Option<for<'w> fn(DeferredWorld<'w>, HookContext)>
fn on_despawn() -> Option<for<'w> fn(DeferredWorld<'w>, HookContext)>
Source§fn map_entities<E>(_this: &mut Self, _mapper: &mut E)where
E: EntityMapper,
fn map_entities<E>(_this: &mut Self, _mapper: &mut E)where
E: EntityMapper,
EntityMapper
. This is used to remap entities in contexts like scenes and entity cloning.
When deriving Component
, this is populated by annotating fields containing entities with #[entities]
Read moreSource§impl Debug for TextLayout
impl Debug for TextLayout
Source§impl Default for TextLayout
impl Default for TextLayout
Source§fn default() -> TextLayout
fn default() -> TextLayout
Source§impl FromArg for &'static TextLayoutwhere
TextLayout: Any + Send + Sync,
JustifyText: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
LineBreak: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
impl FromArg for &'static TextLayoutwhere
TextLayout: Any + Send + Sync,
JustifyText: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
LineBreak: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
Source§impl FromArg for &'static mut TextLayoutwhere
TextLayout: Any + Send + Sync,
JustifyText: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
LineBreak: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
impl FromArg for &'static mut TextLayoutwhere
TextLayout: Any + Send + Sync,
JustifyText: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
LineBreak: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
Source§impl FromArg for TextLayoutwhere
TextLayout: Any + Send + Sync,
JustifyText: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
LineBreak: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
impl FromArg for TextLayoutwhere
TextLayout: Any + Send + Sync,
JustifyText: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
LineBreak: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
Source§impl FromReflect for TextLayoutwhere
TextLayout: Any + Send + Sync,
JustifyText: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
LineBreak: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
impl FromReflect for TextLayoutwhere
TextLayout: Any + Send + Sync,
JustifyText: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
LineBreak: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
Source§fn from_reflect(reflect: &(dyn PartialReflect + 'static)) -> Option<TextLayout>
fn from_reflect(reflect: &(dyn PartialReflect + 'static)) -> Option<TextLayout>
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>>
Self
using,
constructing the value using from_reflect
if that fails. Read moreSource§impl GetOwnership for &TextLayoutwhere
TextLayout: Any + Send + Sync,
JustifyText: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
LineBreak: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
impl GetOwnership for &TextLayoutwhere
TextLayout: Any + Send + Sync,
JustifyText: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
LineBreak: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
Source§impl GetOwnership for &mut TextLayoutwhere
TextLayout: Any + Send + Sync,
JustifyText: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
LineBreak: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
impl GetOwnership for &mut TextLayoutwhere
TextLayout: Any + Send + Sync,
JustifyText: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
LineBreak: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
Source§impl GetOwnership for TextLayoutwhere
TextLayout: Any + Send + Sync,
JustifyText: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
LineBreak: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
impl GetOwnership for TextLayoutwhere
TextLayout: Any + Send + Sync,
JustifyText: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
LineBreak: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
Source§impl GetTypeRegistration for TextLayoutwhere
TextLayout: Any + Send + Sync,
JustifyText: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
LineBreak: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
impl GetTypeRegistration for TextLayoutwhere
TextLayout: Any + Send + Sync,
JustifyText: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
LineBreak: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
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 IntoReturn for &TextLayoutwhere
TextLayout: Any + Send + Sync,
JustifyText: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
LineBreak: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
impl IntoReturn for &TextLayoutwhere
TextLayout: Any + Send + Sync,
JustifyText: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
LineBreak: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
Source§fn into_return<'into_return>(self) -> Return<'into_return>where
&TextLayout: 'into_return,
fn into_return<'into_return>(self) -> Return<'into_return>where
&TextLayout: 'into_return,
Source§impl IntoReturn for &mut TextLayoutwhere
TextLayout: Any + Send + Sync,
JustifyText: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
LineBreak: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
impl IntoReturn for &mut TextLayoutwhere
TextLayout: Any + Send + Sync,
JustifyText: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
LineBreak: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
Source§fn into_return<'into_return>(self) -> Return<'into_return>where
&mut TextLayout: 'into_return,
fn into_return<'into_return>(self) -> Return<'into_return>where
&mut TextLayout: 'into_return,
Source§impl IntoReturn for TextLayoutwhere
TextLayout: Any + Send + Sync,
JustifyText: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
LineBreak: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
impl IntoReturn for TextLayoutwhere
TextLayout: Any + Send + Sync,
JustifyText: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
LineBreak: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
Source§fn into_return<'into_return>(self) -> Return<'into_return>where
TextLayout: 'into_return,
fn into_return<'into_return>(self) -> Return<'into_return>where
TextLayout: 'into_return,
Source§impl PartialReflect for TextLayoutwhere
TextLayout: Any + Send + Sync,
JustifyText: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
LineBreak: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
impl PartialReflect for TextLayoutwhere
TextLayout: Any + Send + Sync,
JustifyText: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
LineBreak: 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 + 'static),
) -> Result<(), ApplyError>
fn try_apply( &mut self, value: &(dyn PartialReflect + 'static), ) -> Result<(), ApplyError>
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<TextLayout>) -> ReflectOwned
fn reflect_owned(self: Box<TextLayout>) -> ReflectOwned
Source§fn try_into_reflect(
self: Box<TextLayout>,
) -> Result<Box<dyn Reflect>, Box<dyn PartialReflect>>
fn try_into_reflect( self: Box<TextLayout>, ) -> Result<Box<dyn Reflect>, Box<dyn PartialReflect>>
Source§fn try_as_reflect(&self) -> Option<&(dyn Reflect + 'static)>
fn try_as_reflect(&self) -> Option<&(dyn Reflect + 'static)>
Source§fn try_as_reflect_mut(&mut self) -> Option<&mut (dyn Reflect + 'static)>
fn try_as_reflect_mut(&mut self) -> Option<&mut (dyn Reflect + 'static)>
Source§fn into_partial_reflect(self: Box<TextLayout>) -> Box<dyn PartialReflect>
fn into_partial_reflect(self: Box<TextLayout>) -> Box<dyn PartialReflect>
Source§fn as_partial_reflect(&self) -> &(dyn PartialReflect + 'static)
fn as_partial_reflect(&self) -> &(dyn PartialReflect + 'static)
Source§fn as_partial_reflect_mut(&mut self) -> &mut (dyn PartialReflect + 'static)
fn as_partial_reflect_mut(&mut self) -> &mut (dyn PartialReflect + 'static)
Source§fn reflect_partial_eq(
&self,
value: &(dyn PartialReflect + 'static),
) -> Option<bool>
fn reflect_partial_eq( &self, value: &(dyn PartialReflect + 'static), ) -> Option<bool>
Source§fn debug(&self, f: &mut Formatter<'_>) -> Result<(), Error>
fn debug(&self, f: &mut Formatter<'_>) -> Result<(), Error>
Source§fn reflect_clone(&self) -> Result<Box<dyn Reflect>, ReflectCloneError>
fn reflect_clone(&self) -> Result<Box<dyn Reflect>, ReflectCloneError>
Self
using reflection. Read moreSource§fn apply(&mut self, value: &(dyn PartialReflect + 'static))
fn apply(&mut self, value: &(dyn PartialReflect + 'static))
Source§fn clone_value(&self) -> Box<dyn PartialReflect>
fn clone_value(&self) -> Box<dyn PartialReflect>
reflect_clone
. To convert reflected values to dynamic ones, use to_dynamic
.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>
Source§fn is_dynamic(&self) -> bool
fn is_dynamic(&self) -> bool
Source§impl Reflect for TextLayoutwhere
TextLayout: Any + Send + Sync,
JustifyText: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
LineBreak: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
impl Reflect for TextLayoutwhere
TextLayout: Any + Send + Sync,
JustifyText: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
LineBreak: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
Source§fn into_any(self: Box<TextLayout>) -> Box<dyn Any>
fn into_any(self: Box<TextLayout>) -> Box<dyn Any>
Box<dyn Any>
. Read moreSource§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&mut dyn Any
. Read moreSource§fn into_reflect(self: Box<TextLayout>) -> Box<dyn Reflect>
fn into_reflect(self: Box<TextLayout>) -> 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§impl Struct for TextLayoutwhere
TextLayout: Any + Send + Sync,
JustifyText: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
LineBreak: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
impl Struct for TextLayoutwhere
TextLayout: Any + Send + Sync,
JustifyText: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
LineBreak: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
Source§fn field(&self, name: &str) -> Option<&(dyn PartialReflect + 'static)>
fn field(&self, name: &str) -> Option<&(dyn PartialReflect + 'static)>
name
as a &dyn PartialReflect
.Source§fn field_mut(
&mut self,
name: &str,
) -> Option<&mut (dyn PartialReflect + 'static)>
fn field_mut( &mut self, name: &str, ) -> Option<&mut (dyn PartialReflect + 'static)>
name
as a
&mut dyn PartialReflect
.Source§fn field_at(&self, index: usize) -> Option<&(dyn PartialReflect + 'static)>
fn field_at(&self, index: usize) -> Option<&(dyn PartialReflect + 'static)>
index
as a
&dyn PartialReflect
.Source§fn field_at_mut(
&mut self,
index: usize,
) -> Option<&mut (dyn PartialReflect + 'static)>
fn field_at_mut( &mut self, index: usize, ) -> Option<&mut (dyn PartialReflect + 'static)>
index
as a &mut dyn PartialReflect
.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<'_> ⓘ
fn to_dynamic_struct(&self) -> DynamicStruct
Source§fn clone_dynamic(&self) -> DynamicStruct
fn clone_dynamic(&self) -> DynamicStruct
to_dynamic_struct
insteadDynamicStruct
.Source§fn get_represented_struct_info(&self) -> Option<&'static StructInfo>
fn get_represented_struct_info(&self) -> Option<&'static StructInfo>
None
if TypeInfo
is not available.Source§impl TypePath for TextLayout
impl TypePath for TextLayout
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 TextLayoutwhere
TextLayout: Any + Send + Sync,
JustifyText: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
LineBreak: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
impl Typed for TextLayoutwhere
TextLayout: Any + Send + Sync,
JustifyText: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
LineBreak: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
impl Copy for TextLayout
Auto Trait Implementations§
impl Freeze for TextLayout
impl RefUnwindSafe for TextLayout
impl Send for TextLayout
impl Sync for TextLayout
impl Unpin for TextLayout
impl UnwindSafe for TextLayout
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<C> Bundle for Cwhere
C: Component,
impl<C> Bundle for Cwhere
C: Component,
fn component_ids( components: &mut ComponentsRegistrator<'_>, ids: &mut impl FnMut(ComponentId), )
Source§fn register_required_components(
components: &mut ComponentsRegistrator<'_>,
required_components: &mut RequiredComponents,
)
fn register_required_components( components: &mut ComponentsRegistrator<'_>, required_components: &mut RequiredComponents, )
Bundle
.Source§fn get_component_ids(
components: &Components,
ids: &mut impl FnMut(Option<ComponentId>),
)
fn get_component_ids( components: &Components, ids: &mut impl FnMut(Option<ComponentId>), )
Source§impl<C> BundleFromComponents for Cwhere
C: Component,
impl<C> BundleFromComponents for Cwhere
C: Component,
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>
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>
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)
&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> 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> DowncastSend for T
impl<T> DowncastSend for T
Source§impl<T> DowncastSync for T
impl<T> DowncastSync for T
Source§impl<C> DynamicBundle for Cwhere
C: Component,
impl<C> DynamicBundle for Cwhere
C: Component,
fn get_components( self, func: &mut impl FnMut(StorageType, OwningPtr<'_>), ) -> <C as DynamicBundle>::Effect
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<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
Typed::type_info
.Source§impl<T> FmtForward for T
impl<T> FmtForward for T
Source§fn fmt_binary(self) -> FmtBinary<Self>where
Self: Binary,
fn fmt_binary(self) -> FmtBinary<Self>where
Self: Binary,
self
to use its Binary
implementation when Debug
-formatted.Source§fn fmt_display(self) -> FmtDisplay<Self>where
Self: Display,
fn fmt_display(self) -> FmtDisplay<Self>where
Self: Display,
self
to use its Display
implementation when
Debug
-formatted.Source§fn fmt_lower_exp(self) -> FmtLowerExp<Self>where
Self: LowerExp,
fn fmt_lower_exp(self) -> FmtLowerExp<Self>where
Self: LowerExp,
self
to use its LowerExp
implementation when
Debug
-formatted.Source§fn fmt_lower_hex(self) -> FmtLowerHex<Self>where
Self: LowerHex,
fn fmt_lower_hex(self) -> FmtLowerHex<Self>where
Self: LowerHex,
self
to use its LowerHex
implementation when
Debug
-formatted.Source§fn fmt_octal(self) -> FmtOctal<Self>where
Self: Octal,
fn fmt_octal(self) -> FmtOctal<Self>where
Self: Octal,
self
to use its Octal
implementation when Debug
-formatted.Source§fn fmt_pointer(self) -> FmtPointer<Self>where
Self: Pointer,
fn fmt_pointer(self) -> FmtPointer<Self>where
Self: Pointer,
self
to use its Pointer
implementation when
Debug
-formatted.Source§fn fmt_upper_exp(self) -> FmtUpperExp<Self>where
Self: UpperExp,
fn fmt_upper_exp(self) -> FmtUpperExp<Self>where
Self: UpperExp,
self
to use its UpperExp
implementation when
Debug
-formatted.Source§fn fmt_upper_hex(self) -> FmtUpperHex<Self>where
Self: UpperHex,
fn fmt_upper_hex(self) -> FmtUpperHex<Self>where
Self: UpperHex,
self
to use its UpperHex
implementation when
Debug
-formatted.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>>
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>>
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 moreSource§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> ⓘ
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 moreSource§impl<F, T> IntoSample<T> for Fwhere
T: FromSample<F>,
impl<F, T> IntoSample<T> for Fwhere
T: FromSample<F>,
fn into_sample(self) -> T
Source§impl<T> Pipe for Twhere
T: ?Sized,
impl<T> Pipe for Twhere
T: ?Sized,
Source§fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
Self: Sized,
fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
Self: Sized,
Source§fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere
R: 'a,
fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere
R: 'a,
self
and passes that borrow into the pipe function. Read moreSource§fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> Rwhere
R: 'a,
fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> Rwhere
R: 'a,
self
and passes that borrow into the pipe function. Read moreSource§fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R
fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R
Source§fn pipe_borrow_mut<'a, B, R>(
&'a mut self,
func: impl FnOnce(&'a mut B) -> R,
) -> R
fn pipe_borrow_mut<'a, B, R>( &'a mut self, func: impl FnOnce(&'a mut B) -> R, ) -> R
Source§fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
self
, then passes self.as_ref()
into the pipe function.Source§fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> R
fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> R
self
, then passes self.as_mut()
into the pipe
function.Source§fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R
fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R
self
, then passes self.deref()
into the pipe function.Source§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<R, P> ReadPrimitive<R> for P
impl<R, P> ReadPrimitive<R> for P
Source§fn read_from_little_endian(read: &mut R) -> Result<Self, Error>
fn read_from_little_endian(read: &mut R) -> Result<Self, Error>
ReadEndian::read_from_little_endian()
.Source§impl<T> Tap for T
impl<T> Tap for T
Source§fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
Borrow<B>
of a value. Read moreSource§fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
BorrowMut<B>
of a value. Read moreSource§fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
AsRef<R>
view of a value. Read moreSource§fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
AsMut<R>
view of a value. Read moreSource§fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
Deref::Target
of a value. Read moreSource§fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
Deref::Target
of a value. Read moreSource§fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
.tap()
only in debug builds, and is erased in release builds.Source§fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
.tap_mut()
only in debug builds, and is erased in release
builds.Source§fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
.tap_borrow()
only in debug builds, and is erased in release
builds.Source§fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self
fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self
.tap_borrow_mut()
only in debug builds, and is erased in release
builds.Source§fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
.tap_ref()
only in debug builds, and is erased in release
builds.Source§fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self
fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self
.tap_ref_mut()
only in debug builds, and is erased in release
builds.Source§fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
.tap_deref()
only in debug builds, and is erased in release
builds.