commit aafddf5acbaecd0ccab8f9d9a75ebf4974802502
parent 5dcab460e5a70d4b983370f7666ce1aae5a8e243
Author: Ken Sedgwick <ken@bonsai.com>
Date: Wed, 18 Sep 2024 16:04:38 -0700
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
Diffstat:
3 files changed, 16 insertions(+), 0 deletions(-)
diff --git a/Cargo.lock b/Cargo.lock
@@ -1112,6 +1112,7 @@ source = "git+https://github.com/emilk/egui?rev=fcb7764e48ce00f8f8e58da10f937410
dependencies = [
"accesskit",
"ahash",
+ "backtrace",
"emath",
"epaint",
"log",
diff --git a/Cargo.toml b/Cargo.toml
@@ -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'
diff --git a/src/app_style.rs b/src/app_style.rs
@@ -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
}