From a6b8883acd51e50ad90d7bf791c01d282d228364 Mon Sep 17 00:00:00 2001 From: Nathan Adams Date: Thu, 1 Jun 2023 23:07:21 +0200 Subject: [PATCH] core: Add mask/masker/clip info to debug UI --- core/src/debug_ui/display_object.rs | 37 ++++++++++++++++++++++++----- 1 file changed, 31 insertions(+), 6 deletions(-) diff --git a/core/src/debug_ui/display_object.rs b/core/src/debug_ui/display_object.rs index c25ab8e98..a53ccc3fd 100644 --- a/core/src/debug_ui/display_object.rs +++ b/core/src/debug_ui/display_object.rs @@ -83,13 +83,21 @@ impl DisplayObjectWindow { Grid::new(ui.id().with("display")) .num_columns(2) .show(ui, |ui| { - if let Some(parent) = object.parent() { + if let Some(other) = object.parent() { ui.label("Parent"); - if ui.button(summary_name(parent)).clicked() { - messages.push(Message::TrackDisplayObject(DisplayObjectHandle::new( - context, parent, - ))); - } + display_object_button(ui, context, messages, other); + ui.end_row(); + } + + if let Some(other) = object.masker() { + ui.label("Masker"); + display_object_button(ui, context, messages, other); + ui.end_row(); + } + + if let Some(other) = object.maskee() { + ui.label("Maskee"); + display_object_button(ui, context, messages, other); ui.end_row(); } @@ -142,6 +150,10 @@ impl DisplayObjectWindow { ui.label(object.depth().to_string()); ui.end_row(); + ui.label("Clip Depth"); + ui.label(object.clip_depth().to_string()); + ui.end_row(); + ui.label("World Bounds"); ui.label(object.world_bounds().to_string()); ui.end_row(); @@ -290,3 +302,16 @@ fn blend_mode_name(mode: BlendMode) -> &'static str { BlendMode::HardLight => "HardLight", } } + +fn display_object_button<'gc>( + ui: &mut Ui, + context: &mut UpdateContext<'_, 'gc>, + messages: &mut Vec, + object: DisplayObject<'gc>, +) { + if ui.button(summary_name(object)).clicked() { + messages.push(Message::TrackDisplayObject(DisplayObjectHandle::new( + context, object, + ))); + } +}