debug: add crate features which enable egui DebugOptions

--features debug-widget-callstack
  Show callstack for the current widget on hover if all modifier keys
  are pressed down

--features debug-interactive-widgets
  Show an overlay on all interactive widgets

Notes:
- debug-widget-callstack asserts `egui:callstack` feature when enabled
- Only works in debug builds, compile error w/ release builds
This commit is contained in:
Ken Sedgwick
2024-09-18 16:04:38 -07:00
parent 5dcab460e5
commit aafddf5acb
3 changed files with 16 additions and 0 deletions

1
Cargo.lock generated
View File

@@ -1112,6 +1112,7 @@ source = "git+https://github.com/emilk/egui?rev=fcb7764e48ce00f8f8e58da10f937410
dependencies = [
"accesskit",
"ahash",
"backtrace",
"emath",
"epaint",
"log",

View File

@@ -67,6 +67,8 @@ security-framework = "2.11.0"
[features]
default = []
profiling = ["puffin", "puffin_egui", "eframe/puffin"]
debug-widget-callstack = ["egui/callstack"]
debug-interactive-widgets = []
[profile.small]
inherits = 'release'

View File

@@ -69,6 +69,19 @@ pub fn create_custom_style(ctx: &Context, font_size: fn(&NotedeckTextStyle) -> f
..Interaction::default()
};
// debug: show callstack for the current widget on hover if all
// modifier keys are pressed down.
#[cfg(feature = "debug-widget-callstack")]
{
style.debug.debug_on_hover_with_all_modifiers = true;
}
// debug: show an overlay on all interactive widgets
#[cfg(feature = "debug-interactive-widgets")]
{
style.debug.show_interactive_widgets = true;
}
style
}