Skip to content

Commit 85054bb

Browse files
ickshonpemockersf
authored andcommitted
Clip outlines using the local clipping rect. (#17385)
UI node Outlines are clipped using their parent's clipping rect instead of their own. Clip outlines using the UI node's own clipping rect.
1 parent 9afa86e commit 85054bb

File tree

1 file changed

+3
-10
lines changed
  • crates/bevy_ui/src/render

1 file changed

+3
-10
lines changed

crates/bevy_ui/src/render/mod.rs

Lines changed: 3 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,8 @@ mod ui_material_pipeline;
55
pub mod ui_texture_slice_pipeline;
66

77
use crate::{
8-
experimental::UiChildren, BackgroundColor, BorderColor, CalculatedClip, ComputedNode,
9-
DefaultUiCamera, ImageNode, Outline, ResolvedBorderRadius, TargetCamera, UiAntiAlias,
10-
UiBoxShadowSamples,
8+
BackgroundColor, BorderColor, CalculatedClip, ComputedNode, DefaultUiCamera, ImageNode,
9+
Outline, ResolvedBorderRadius, TargetCamera, UiAntiAlias, UiBoxShadowSamples,
1110
};
1211
use bevy_app::prelude::*;
1312
use bevy_asset::{load_internal_asset, AssetEvent, AssetId, Assets, Handle};
@@ -408,9 +407,7 @@ pub fn extract_uinode_borders(
408407
AnyOf<(&BorderColor, &Outline)>,
409408
)>,
410409
>,
411-
parent_clip_query: Extract<Query<&CalculatedClip>>,
412410
mapping: Extract<Query<RenderEntity>>,
413-
ui_children: UiChildren,
414411
) {
415412
let image = AssetId::<Image>::default();
416413

@@ -479,10 +476,6 @@ pub fn extract_uinode_borders(
479476
if let Some(outline) = maybe_outline.filter(|outline| !outline.color.is_fully_transparent())
480477
{
481478
let outline_size = computed_node.outlined_node_size();
482-
let parent_clip = ui_children
483-
.get_parent(entity)
484-
.and_then(|parent| parent_clip_query.get(parent).ok());
485-
486479
extracted_uinodes.uinodes.insert(
487480
commands.spawn(TemporaryRenderEntity).id(),
488481
ExtractedUiNode {
@@ -493,7 +486,7 @@ pub fn extract_uinode_borders(
493486
..Default::default()
494487
},
495488
image,
496-
clip: parent_clip.map(|clip| clip.clip),
489+
clip: maybe_clip.map(|clip| clip.clip),
497490
camera_entity: render_camera_entity,
498491
item: ExtractedUiItem::Node {
499492
transform: global_transform.compute_matrix(),

0 commit comments

Comments
 (0)