notedeck

One damus client to rule them all
git clone git://jb55.com/notedeck
Log | Files | Refs | README | LICENSE

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:
MCargo.lock | 1+
MCargo.toml | 2++
Msrc/app_style.rs | 13+++++++++++++
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 }