Merge 3d02c8bddc
into d195116426
This commit is contained in:
commit
f33611f935
@ -118,6 +118,56 @@ impl ImageNode {
|
|||||||
self
|
self
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// Crops an `ImageNode` to the portion described by
|
||||||
|
/// the provided `Rect`, measured from the top-left corner. This can be applied to `ImageNode`s created from
|
||||||
|
/// texture atlases.
|
||||||
|
/// The following example setup function demonstrates this use.
|
||||||
|
///
|
||||||
|
/// # Example
|
||||||
|
///
|
||||||
|
/// ```
|
||||||
|
/// use bevy_asset::{Assets,AssetServer};
|
||||||
|
/// use bevy_ecs::prelude::{Commands,Res,ResMut};
|
||||||
|
/// use bevy_image::{TextureAtlas,TextureAtlasLayout};
|
||||||
|
/// use bevy_math::{UVec2,Rect};
|
||||||
|
/// use bevy_ui::Node;
|
||||||
|
/// use bevy_ui::prelude::{Display,ImageNode};
|
||||||
|
/// use std::default::Default;
|
||||||
|
///
|
||||||
|
/// fn setup(
|
||||||
|
/// mut commands: Commands,
|
||||||
|
/// asset_server: Res<AssetServer>,
|
||||||
|
/// mut texture_atlas_layouts: ResMut<Assets<TextureAtlasLayout>>,
|
||||||
|
/// ) {
|
||||||
|
/// let texture = asset_server.load("textures/array_texture.png");
|
||||||
|
/// let layout = TextureAtlasLayout::from_grid(UVec2::splat(250), 1, 3, None, None);
|
||||||
|
/// let texture_atlas_layout = texture_atlas_layouts.add(layout);
|
||||||
|
///
|
||||||
|
/// commands.spawn(Node {
|
||||||
|
/// display: Display::Flex,
|
||||||
|
/// ..Default::default()
|
||||||
|
/// })
|
||||||
|
/// .with_children(|parent| {
|
||||||
|
/// // this example node shows a texture constrained by a rect
|
||||||
|
/// parent.spawn(
|
||||||
|
/// ImageNode::new(texture.clone())
|
||||||
|
/// .with_rect(
|
||||||
|
/// Rect::new(0., 200., 250., 450.)
|
||||||
|
/// ));
|
||||||
|
/// // this example node displays an index within a texture atlas
|
||||||
|
/// // constrained by a rect
|
||||||
|
/// parent.spawn(ImageNode::from_atlas_image(
|
||||||
|
/// texture.clone(),
|
||||||
|
/// TextureAtlas {
|
||||||
|
/// layout: texture_atlas_layout.clone(),
|
||||||
|
/// index: 1,
|
||||||
|
/// },
|
||||||
|
/// ).with_rect(
|
||||||
|
/// Rect::new(0., 0., 150., 150.)
|
||||||
|
/// ));
|
||||||
|
/// });
|
||||||
|
/// }
|
||||||
|
///````
|
||||||
#[must_use]
|
#[must_use]
|
||||||
pub const fn with_rect(mut self, rect: Rect) -> Self {
|
pub const fn with_rect(mut self, rect: Rect) -> Self {
|
||||||
self.rect = Some(rect);
|
self.rect = Some(rect);
|
||||||
|
Loading…
Reference in New Issue
Block a user