Struct TextLayout

Source
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

Source

pub const fn new(justify: JustifyText, linebreak: LineBreak) -> TextLayout

Makes a new TextLayout.

Examples found in repository?
examples/testbed/ui.rs (line 376)
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
Hide additional examples
examples/ui/text_wrap_debug.rs (line 120)
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}
examples/2d/text2d.rs (line 84)
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}
Source

pub fn new_with_justify(justify: JustifyText) -> TextLayout

Makes a new TextLayout with the specified JustifyText.

Examples found in repository?
examples/async_tasks/external_source_external_thread.rs (line 57)
53fn spawn_text(mut commands: Commands, mut reader: EventReader<StreamEvent>) {
54    for (per_frame, event) in reader.read().enumerate() {
55        commands.spawn((
56            Text2d::new(event.0.to_string()),
57            TextLayout::new_with_justify(JustifyText::Center),
58            Transform::from_xyz(per_frame as f32 * 100.0, 300.0, 0.0),
59        ));
60    }
61}
More examples
Hide additional examples
examples/2d/texture_atlas.rs (line 282)
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}
examples/ecs/one_shot_systems.rs (line 97)
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}
examples/3d/tonemapping.rs (line 180)
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}
examples/math/render_primitives.rs (line 382)
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}
examples/ui/size_constraints.rs (line 254)
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}
Source

pub fn new_with_linebreak(linebreak: LineBreak) -> TextLayout

Makes a new TextLayout with the specified LineBreak.

Source

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.

Source

pub const fn with_justify(self, justify: JustifyText) -> TextLayout

Returns this TextLayout with the specified JustifyText.

Source

pub const fn with_linebreak(self, linebreak: LineBreak) -> TextLayout

Returns this TextLayout with the specified LineBreak.

Source

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?
examples/3d/blend_modes.rs (line 209)
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

Source§

fn clone(&self) -> TextLayout

Returns a copy of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Component for TextLayout
where TextLayout: Send + Sync + 'static,

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

A constant indicating the storage type used for this component.
Source§

type Mutability = Mutable

A marker type to assist Bevy with determining if this component is mutable, or immutable. Mutable components will have [Component<Mutability = Mutable>], while immutable components will instead have [Component<Mutability = Immutable>]. Read more
Source§

fn register_required_components( requiree: ComponentId, components: &mut ComponentsRegistrator<'_>, required_components: &mut RequiredComponents, inheritance_depth: u16, recursion_check_stack: &mut Vec<ComponentId>, )

Registers required components.
Source§

fn clone_behavior() -> ComponentCloneBehavior

Called when registering this component, allowing to override clone function (or disable cloning altogether) for this component. Read more
Source§

fn register_component_hooks(hooks: &mut ComponentHooks)

👎Deprecated since 0.16.0: Use the individual hook methods instead (e.g., Component::on_add, etc.)
Called when registering this component, allowing mutable access to its ComponentHooks.
Source§

fn on_add() -> Option<for<'w> fn(DeferredWorld<'w>, HookContext)>

Gets the on_add ComponentHook for this Component if one is defined.
Source§

fn on_insert() -> Option<for<'w> fn(DeferredWorld<'w>, HookContext)>

Gets the on_insert ComponentHook for this Component if one is defined.
Source§

fn on_replace() -> Option<for<'w> fn(DeferredWorld<'w>, HookContext)>

Gets the on_replace ComponentHook for this Component if one is defined.
Source§

fn on_remove() -> Option<for<'w> fn(DeferredWorld<'w>, HookContext)>

Gets the on_remove ComponentHook for this Component if one is defined.
Source§

fn on_despawn() -> Option<for<'w> fn(DeferredWorld<'w>, HookContext)>

Gets the on_despawn ComponentHook for this Component if one is defined.
Source§

fn map_entities<E>(_this: &mut Self, _mapper: &mut E)
where E: EntityMapper,

Maps the entities on this component using the given 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 more
Source§

impl Debug for TextLayout

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more
Source§

impl Default for TextLayout

Source§

fn default() -> TextLayout

Returns the “default value” for a type. Read more
Source§

impl FromArg for &'static TextLayout
where TextLayout: Any + Send + Sync, JustifyText: FromReflect + TypePath + MaybeTyped + RegisterForReflection, LineBreak: FromReflect + TypePath + MaybeTyped + RegisterForReflection,

Source§

type This<'from_arg> = &'from_arg TextLayout

The type to convert into. Read more
Source§

fn from_arg( arg: Arg<'_>, ) -> Result<<&'static TextLayout as FromArg>::This<'_>, ArgError>

Creates an item from an argument. Read more
Source§

impl FromArg for &'static mut TextLayout
where TextLayout: Any + Send + Sync, JustifyText: FromReflect + TypePath + MaybeTyped + RegisterForReflection, LineBreak: FromReflect + TypePath + MaybeTyped + RegisterForReflection,

Source§

type This<'from_arg> = &'from_arg mut TextLayout

The type to convert into. Read more
Source§

fn from_arg( arg: Arg<'_>, ) -> Result<<&'static mut TextLayout as FromArg>::This<'_>, ArgError>

Creates an item from an argument. Read more
Source§

impl FromArg for TextLayout
where TextLayout: Any + Send + Sync, JustifyText: FromReflect + TypePath + MaybeTyped + RegisterForReflection, LineBreak: FromReflect + TypePath + MaybeTyped + RegisterForReflection,

Source§

type This<'from_arg> = TextLayout

The type to convert into. Read more
Source§

fn from_arg(arg: Arg<'_>) -> Result<<TextLayout as FromArg>::This<'_>, ArgError>

Creates an item from an argument. Read more
Source§

impl FromReflect for TextLayout
where TextLayout: Any + Send + Sync, JustifyText: FromReflect + TypePath + MaybeTyped + RegisterForReflection, LineBreak: FromReflect + TypePath + MaybeTyped + RegisterForReflection,

Source§

fn from_reflect(reflect: &(dyn PartialReflect + 'static)) -> Option<TextLayout>

Constructs a concrete instance of Self from a reflected value.
Source§

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 more
Source§

impl GetOwnership for &TextLayout
where TextLayout: Any + Send + Sync, JustifyText: FromReflect + TypePath + MaybeTyped + RegisterForReflection, LineBreak: FromReflect + TypePath + MaybeTyped + RegisterForReflection,

Source§

fn ownership() -> Ownership

Returns the ownership of Self.
Source§

impl GetOwnership for &mut TextLayout
where TextLayout: Any + Send + Sync, JustifyText: FromReflect + TypePath + MaybeTyped + RegisterForReflection, LineBreak: FromReflect + TypePath + MaybeTyped + RegisterForReflection,

Source§

fn ownership() -> Ownership

Returns the ownership of Self.
Source§

impl GetOwnership for TextLayout
where TextLayout: Any + Send + Sync, JustifyText: FromReflect + TypePath + MaybeTyped + RegisterForReflection, LineBreak: FromReflect + TypePath + MaybeTyped + RegisterForReflection,

Source§

fn ownership() -> Ownership

Returns the ownership of Self.
Source§

impl GetTypeRegistration for TextLayout
where TextLayout: Any + Send + Sync, JustifyText: FromReflect + TypePath + MaybeTyped + RegisterForReflection, LineBreak: FromReflect + TypePath + MaybeTyped + RegisterForReflection,

Source§

fn get_type_registration() -> TypeRegistration

Returns the default TypeRegistration for this type.
Source§

fn register_type_dependencies(registry: &mut TypeRegistry)

Registers other types needed by this type. Read more
Source§

impl IntoReturn for &TextLayout
where 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,

Converts Self into a Return value.
Source§

impl IntoReturn for &mut TextLayout
where 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,

Converts Self into a Return value.
Source§

impl IntoReturn for TextLayout
where 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,

Converts Self into a Return value.
Source§

impl PartialReflect for TextLayout
where TextLayout: Any + Send + Sync, JustifyText: FromReflect + TypePath + MaybeTyped + RegisterForReflection, LineBreak: FromReflect + TypePath + MaybeTyped + RegisterForReflection,

Source§

fn get_represented_type_info(&self) -> Option<&'static TypeInfo>

Returns the TypeInfo of the type represented by this value. Read more
Source§

fn try_apply( &mut self, value: &(dyn PartialReflect + 'static), ) -> Result<(), ApplyError>

Tries to apply a reflected value to this value. Read more
Source§

fn reflect_kind(&self) -> ReflectKind

Returns a zero-sized enumeration of “kinds” of type. Read more
Source§

fn reflect_ref(&self) -> ReflectRef<'_>

Returns an immutable enumeration of “kinds” of type. Read more
Source§

fn reflect_mut(&mut self) -> ReflectMut<'_>

Returns a mutable enumeration of “kinds” of type. Read more
Source§

fn reflect_owned(self: Box<TextLayout>) -> ReflectOwned

Returns an owned enumeration of “kinds” of type. Read more
Source§

fn try_into_reflect( self: Box<TextLayout>, ) -> 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 + 'static)>

Attempts to cast this type to a fully-reflected value.
Source§

fn try_as_reflect_mut(&mut self) -> Option<&mut (dyn Reflect + 'static)>

Attempts to cast this type to a mutable, fully-reflected value.
Source§

fn into_partial_reflect(self: Box<TextLayout>) -> Box<dyn PartialReflect>

Casts this type to a boxed, reflected value. Read more
Source§

fn as_partial_reflect(&self) -> &(dyn PartialReflect + 'static)

Casts this type to a reflected value. Read more
Source§

fn as_partial_reflect_mut(&mut self) -> &mut (dyn PartialReflect + 'static)

Casts this type to a mutable, reflected value. Read more
Source§

fn reflect_partial_eq( &self, value: &(dyn PartialReflect + 'static), ) -> Option<bool>

Returns a “partial equality” comparison result. Read more
Source§

fn debug(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Debug formatter for the value. Read more
Source§

fn reflect_clone(&self) -> Result<Box<dyn Reflect>, ReflectCloneError>

Attempts to clone Self using reflection. Read more
Source§

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>

👎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 more
Source§

fn to_dynamic(&self) -> Box<dyn PartialReflect>

Converts this reflected value into its dynamic representation based on its kind. Read more
Source§

fn reflect_hash(&self) -> Option<u64>

Returns a hash of the value (which includes the type). Read more
Source§

fn is_dynamic(&self) -> bool

Indicates whether or not this type is a dynamic type. Read more
Source§

impl Reflect for TextLayout
where TextLayout: Any + Send + Sync, JustifyText: FromReflect + TypePath + MaybeTyped + RegisterForReflection, LineBreak: FromReflect + TypePath + MaybeTyped + RegisterForReflection,

Source§

fn into_any(self: Box<TextLayout>) -> Box<dyn Any>

Returns the value as a Box<dyn Any>. Read more
Source§

fn as_any(&self) -> &(dyn Any + 'static)

Returns the value as a &dyn Any. Read more
Source§

fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)

Returns the value as a &mut dyn Any. Read more
Source§

fn into_reflect(self: Box<TextLayout>) -> Box<dyn Reflect>

Casts this type to a boxed, fully-reflected value.
Source§

fn as_reflect(&self) -> &(dyn Reflect + 'static)

Casts this type to a fully-reflected value.
Source§

fn as_reflect_mut(&mut self) -> &mut (dyn Reflect + 'static)

Casts this type to a mutable, fully-reflected value.
Source§

fn set(&mut self, value: Box<dyn Reflect>) -> Result<(), Box<dyn Reflect>>

Performs a type-checked assignment of a reflected value to this value. Read more
Source§

impl Struct for TextLayout
where TextLayout: Any + Send + Sync, JustifyText: FromReflect + TypePath + MaybeTyped + RegisterForReflection, LineBreak: FromReflect + TypePath + MaybeTyped + RegisterForReflection,

Source§

fn field(&self, name: &str) -> Option<&(dyn PartialReflect + 'static)>

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 + 'static)>

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 + 'static)>

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 + 'static)>

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>

Returns the name of the field with index index.
Source§

fn field_len(&self) -> usize

Returns the number of fields in the struct.
Source§

fn iter_fields(&self) -> FieldIter<'_>

Returns an iterator over the values of the reflectable fields for this struct.
Source§

fn to_dynamic_struct(&self) -> DynamicStruct

Source§

fn clone_dynamic(&self) -> DynamicStruct

👎Deprecated since 0.16.0: use to_dynamic_struct instead
Clones the struct into a DynamicStruct.
Source§

fn get_represented_struct_info(&self) -> Option<&'static StructInfo>

Will return None if TypeInfo is not available.
Source§

impl TypePath for TextLayout
where TextLayout: Any + Send + Sync,

Source§

fn type_path() -> &'static str

Returns the fully qualified path of the underlying type. Read more
Source§

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>

Returns the name of the type, or None if it is anonymous. Read more
Source§

fn crate_name() -> Option<&'static str>

Returns the name of the crate the type is in, or None if it is anonymous. Read more
Source§

fn module_path() -> Option<&'static str>

Returns the path to the module the type is in, or None if it is anonymous. Read more
Source§

impl Typed for TextLayout
where TextLayout: Any + Send + Sync, JustifyText: FromReflect + TypePath + MaybeTyped + RegisterForReflection, LineBreak: FromReflect + TypePath + MaybeTyped + RegisterForReflection,

Source§

fn type_info() -> &'static TypeInfo

Returns the compile-time info for the underlying type.
Source§

impl Copy for TextLayout

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T, U> AsBindGroupShaderType<U> for T
where U: ShaderType, &'a T: for<'a> Into<U>,

Source§

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> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<C> Bundle for C
where C: Component,

Source§

fn component_ids( components: &mut ComponentsRegistrator<'_>, ids: &mut impl FnMut(ComponentId), )

Source§

fn register_required_components( components: &mut ComponentsRegistrator<'_>, required_components: &mut RequiredComponents, )

Registers components that are required by the components in this Bundle.
Source§

fn get_component_ids( components: &Components, ids: &mut impl FnMut(Option<ComponentId>), )

Gets this Bundle’s component ids. This will be None if the component has not been registered.
Source§

impl<C> BundleFromComponents for C
where C: Component,

Source§

unsafe fn from_components<T, F>(ctx: &mut T, func: &mut F) -> C
where F: for<'a> FnMut(&'a mut T) -> OwningPtr<'a>,

Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> Conv for T

Source§

fn conv<T>(self) -> T
where Self: Into<T>,

Converts self into T using Into<T>. Read more
Source§

impl<T> Downcast<T> for T

Source§

fn downcast(&self) -> &T

Source§

impl<T> Downcast for T
where T: Any,

Source§

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>

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)

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)

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> Downcast for T
where T: Any,

Source§

fn into_any(self: Box<T>) -> Box<dyn Any>

Convert Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.
Source§

fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>

Convert Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be further downcast into Rc<ConcreteType> where ConcreteType implements Trait.
Source§

fn as_any(&self) -> &(dyn Any + 'static)

Convert &Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot generate &Any’s vtable from &Trait’s.
Source§

fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)

Convert &mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot generate &mut Any’s vtable from &mut Trait’s.
Source§

impl<T> DowncastSend for T
where T: Any + Send,

Source§

fn into_any_send(self: Box<T>) -> Box<dyn Any + Send>

Converts Box<Trait> (where Trait: DowncastSend) to Box<dyn Any + Send>, which can then be downcast into Box<ConcreteType> where ConcreteType implements Trait.
Source§

impl<T> DowncastSync for T
where T: Any + Send + Sync,

Source§

fn into_any_arc(self: Arc<T>) -> Arc<dyn Any + Sync + Send>

Convert Arc<Trait> (where Trait: Downcast) to Arc<Any>. Arc<Any> can then be further downcast into Arc<ConcreteType> where ConcreteType implements Trait.
Source§

impl<C> DynamicBundle for C
where C: Component,

Source§

type Effect = ()

An operation on the entity that happens after inserting this bundle.
Source§

fn get_components( self, func: &mut impl FnMut(StorageType, OwningPtr<'_>), ) -> <C as DynamicBundle>::Effect

Source§

impl<T> DynamicTypePath for T
where T: TypePath,

Source§

impl<T> DynamicTyped for T
where T: Typed,

Source§

impl<T> FmtForward for T

Source§

fn fmt_binary(self) -> FmtBinary<Self>
where Self: Binary,

Causes self to use its Binary implementation when Debug-formatted.
Source§

fn fmt_display(self) -> FmtDisplay<Self>
where Self: Display,

Causes self to use its Display implementation when Debug-formatted.
Source§

fn fmt_lower_exp(self) -> FmtLowerExp<Self>
where Self: LowerExp,

Causes self to use its LowerExp implementation when Debug-formatted.
Source§

fn fmt_lower_hex(self) -> FmtLowerHex<Self>
where Self: LowerHex,

Causes self to use its LowerHex implementation when Debug-formatted.
Source§

fn fmt_octal(self) -> FmtOctal<Self>
where Self: Octal,

Causes self to use its Octal implementation when Debug-formatted.
Source§

fn fmt_pointer(self) -> FmtPointer<Self>
where Self: Pointer,

Causes self to use its Pointer implementation when Debug-formatted.
Source§

fn fmt_upper_exp(self) -> FmtUpperExp<Self>
where Self: UpperExp,

Causes self to use its UpperExp implementation when Debug-formatted.
Source§

fn fmt_upper_hex(self) -> FmtUpperHex<Self>
where Self: UpperHex,

Causes self to use its UpperHex implementation when Debug-formatted.
Source§

fn fmt_list(self) -> FmtList<Self>
where &'a Self: for<'a> IntoIterator,

Formats each item in a sequence. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<S> FromSample<S> for S

Source§

fn from_sample_(s: S) -> S

Source§

impl<T> FromWorld for T
where T: Default,

Source§

fn from_world(_world: &mut World) -> T

Creates Self using default().

Source§

impl<S> GetField for S
where S: Struct,

Source§

fn get_field<T>(&self, name: &str) -> Option<&T>
where T: Reflect,

Returns a reference to the value of the field named name, downcast to T.
Source§

fn get_field_mut<T>(&mut self, name: &str) -> Option<&mut T>
where T: Reflect,

Returns a mutable reference to the value of the field named name, downcast to T.
Source§

impl<T> GetPath for T
where T: Reflect + ?Sized,

Source§

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 more
Source§

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 more
Source§

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 more
Source§

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 more
Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> IntoEither for T

Source§

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 more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

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
Source§

impl<F, T> IntoSample<T> for F
where T: FromSample<F>,

Source§

fn into_sample(self) -> T

Source§

impl<T> NoneValue for T
where T: Default,

Source§

type NoneType = T

Source§

fn null_value() -> T

The none-equivalent value.
Source§

impl<T> Pipe for T
where T: ?Sized,

Source§

fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> R
where Self: Sized,

Pipes by value. This is generally the method you want to use. Read more
Source§

fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> R
where R: 'a,

Borrows self and passes that borrow into the pipe function. Read more
Source§

fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> R
where R: 'a,

Mutably borrows self and passes that borrow into the pipe function. Read more
Source§

fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R
where Self: Borrow<B>, B: 'a + ?Sized, R: 'a,

Borrows self, then passes self.borrow() into the pipe function. Read more
Source§

fn pipe_borrow_mut<'a, B, R>( &'a mut self, func: impl FnOnce(&'a mut B) -> R, ) -> R
where Self: BorrowMut<B>, B: 'a + ?Sized, R: 'a,

Mutably borrows self, then passes self.borrow_mut() into the pipe function. Read more
Source§

fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
where Self: AsRef<U>, U: 'a + ?Sized, R: 'a,

Borrows 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
where Self: AsMut<U>, U: 'a + ?Sized, R: 'a,

Mutably borrows 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
where Self: Deref<Target = T>, T: 'a + ?Sized, R: 'a,

Borrows self, then passes self.deref() into the pipe function.
Source§

fn pipe_deref_mut<'a, T, R>( &'a mut self, func: impl FnOnce(&'a mut T) -> R, ) -> R
where Self: DerefMut<Target = T> + Deref, T: 'a + ?Sized, R: 'a,

Mutably borrows self, then passes self.deref_mut() into the pipe function.
Source§

impl<T> Pointable for T

Source§

const ALIGN: usize

The alignment of pointer.
Source§

type Init = T

The type for initializers.
Source§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
Source§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
Source§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
Source§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
Source§

impl<R, P> ReadPrimitive<R> for P
where R: Read + ReadEndian<P>, P: Default,

Source§

fn read_from_little_endian(read: &mut R) -> Result<Self, Error>

Read this value from the supplied reader. Same as ReadEndian::read_from_little_endian().
Source§

fn read_from_big_endian(read: &mut R) -> Result<Self, Error>

Read this value from the supplied reader. Same as ReadEndian::read_from_big_endian().
Source§

fn read_from_native_endian(read: &mut R) -> Result<Self, Error>

Read this value from the supplied reader. Same as ReadEndian::read_from_native_endian().
Source§

impl<T> Tap for T

Source§

fn tap(self, func: impl FnOnce(&Self)) -> Self

Immutable access to a value. Read more
Source§

fn tap_mut(self, func: impl FnOnce(&mut Self)) -> Self

Mutable access to a value. Read more
Source§

fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
where Self: Borrow<B>, B: ?Sized,

Immutable access to the Borrow<B> of a value. Read more
Source§

fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
where Self: BorrowMut<B>, B: ?Sized,

Mutable access to the BorrowMut<B> of a value. Read more
Source§

fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
where Self: AsRef<R>, R: ?Sized,

Immutable access to the AsRef<R> view of a value. Read more
Source§

fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
where Self: AsMut<R>, R: ?Sized,

Mutable access to the AsMut<R> view of a value. Read more
Source§

fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
where Self: Deref<Target = T>, T: ?Sized,

Immutable access to the Deref::Target of a value. Read more
Source§

fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
where Self: DerefMut<Target = T> + Deref, T: ?Sized,

Mutable access to the Deref::Target of a value. Read more
Source§

fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self

Calls .tap() only in debug builds, and is erased in release builds.
Source§

fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self

Calls .tap_mut() only in debug builds, and is erased in release builds.
Source§

fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
where Self: Borrow<B>, B: ?Sized,

Calls .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
where Self: BorrowMut<B>, B: ?Sized,

Calls .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
where Self: AsRef<R>, R: ?Sized,

Calls .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
where Self: AsMut<R>, R: ?Sized,

Calls .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
where Self: Deref<Target = T>, T: ?Sized,

Calls .tap_deref() only in debug builds, and is erased in release builds.
Source§

fn tap_deref_mut_dbg<T>(self, func: impl FnOnce(&mut T)) -> Self
where Self: DerefMut<Target = T> + Deref, T: ?Sized,

Calls .tap_deref_mut() only in debug builds, and is erased in release builds.
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> ToSample<U> for T
where U: FromSample<T>,

Source§

fn to_sample_(self) -> U

Source§

impl<T> TryConv for T

Source§

fn try_conv<T>(self) -> Result<T, Self::Error>
where Self: TryInto<T>,

Attempts to convert self into T using TryInto<T>. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> TypeData for T
where T: 'static + Send + Sync + Clone,

Source§

impl<T> Upcast<T> for T

Source§

fn upcast(&self) -> Option<&T>

Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V

Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

impl<T> ConditionalSend for T
where T: Send,

Source§

impl<S, T> Duplex<S> for T
where T: FromSample<S> + ToSample<S>,

Source§

impl<T> Reflectable for T

Source§

impl<T> Settings for T
where T: 'static + Send + Sync,

Source§

impl<T> WasmNotSend for T
where T: Send,

Source§

impl<T> WasmNotSendSync for T

Source§

impl<T> WasmNotSync for T
where T: Sync,