mirror of
https://github.com/bevyengine/bevy.git
synced 2026-05-06 06:06:42 -04:00
727a350fc6
# Objective - Fixes #22644 ## Solution - Create new subdirectories for categorization, and update the paths in `Cargo.toml` and `README`. ## Testing - `cargo check --example *`
93 lines
3.6 KiB
Rust
93 lines
3.6 KiB
Rust
//! Simple example demonstrating the `OverflowClipMargin` style property.
|
|
|
|
use bevy::{color::palettes::css::*, prelude::*};
|
|
|
|
fn main() {
|
|
App::new()
|
|
.add_plugins(DefaultPlugins)
|
|
.add_systems(Startup, setup)
|
|
.run();
|
|
}
|
|
|
|
fn setup(mut commands: Commands, asset_server: Res<AssetServer>) {
|
|
commands.spawn(Camera2d);
|
|
|
|
let image = asset_server.load("branding/icon.png");
|
|
|
|
commands
|
|
.spawn((
|
|
Node {
|
|
width: percent(100),
|
|
height: percent(100),
|
|
align_items: AlignItems::Center,
|
|
justify_content: JustifyContent::Center,
|
|
row_gap: px(40),
|
|
flex_direction: FlexDirection::Column,
|
|
..default()
|
|
},
|
|
BackgroundColor(ANTIQUE_WHITE.into()),
|
|
))
|
|
.with_children(|parent| {
|
|
for overflow_clip_margin in [
|
|
OverflowClipMargin::border_box().with_margin(25.),
|
|
OverflowClipMargin::border_box(),
|
|
OverflowClipMargin::padding_box(),
|
|
OverflowClipMargin::content_box(),
|
|
] {
|
|
parent
|
|
.spawn(Node {
|
|
flex_direction: FlexDirection::Row,
|
|
column_gap: px(20),
|
|
..default()
|
|
})
|
|
.with_children(|parent| {
|
|
parent
|
|
.spawn((
|
|
Node {
|
|
padding: UiRect::all(px(10)),
|
|
margin: UiRect::bottom(px(25)),
|
|
..default()
|
|
},
|
|
BackgroundColor(Color::srgb(0.25, 0.25, 0.25)),
|
|
))
|
|
.with_child(Text(format!("{overflow_clip_margin:#?}")));
|
|
|
|
parent
|
|
.spawn((
|
|
Node {
|
|
margin: UiRect::top(px(10)),
|
|
width: px(100),
|
|
height: px(100),
|
|
padding: UiRect::all(px(20)),
|
|
border: UiRect::all(px(5)),
|
|
overflow: Overflow::clip(),
|
|
overflow_clip_margin,
|
|
..default()
|
|
},
|
|
BackgroundColor(GRAY.into()),
|
|
BorderColor::all(Color::BLACK),
|
|
))
|
|
.with_children(|parent| {
|
|
parent
|
|
.spawn((
|
|
Node {
|
|
min_width: px(50),
|
|
min_height: px(50),
|
|
..default()
|
|
},
|
|
BackgroundColor(LIGHT_CYAN.into()),
|
|
))
|
|
.with_child((
|
|
ImageNode::new(image.clone()),
|
|
Node {
|
|
min_width: px(100),
|
|
min_height: px(100),
|
|
..default()
|
|
},
|
|
));
|
|
});
|
|
});
|
|
}
|
|
});
|
|
}
|