servoshell/desktop/
tracing.rs1macro_rules! trace_winit_event {
18 ($event:expr, $($rest:tt)+) => {
21 ::log::trace!(target: $crate::desktop::tracing::LogTarget::log_target(&$event), $($rest)+)
22 };
23}
24
25pub(crate) use trace_winit_event;
26
27pub(crate) trait LogTarget {
29 fn log_target(&self) -> &'static str;
30}
31
32mod from_winit {
33 use super::LogTarget;
34 use crate::desktop::event_loop::AppEvent;
35
36 macro_rules! target {
37 ($($name:literal)+) => {
38 concat!("servoshell<winit@", $($name),+)
39 };
40 }
41
42 impl LogTarget for winit::event::Event<AppEvent> {
43 fn log_target(&self) -> &'static str {
44 use winit::event::StartCause;
45 match self {
46 Self::NewEvents(start_cause) => match start_cause {
47 StartCause::ResumeTimeReached { .. } => target!("NewEvents(ResumeTimeReached)"),
48 StartCause::WaitCancelled { .. } => target!("NewEvents(WaitCancelled)"),
49 StartCause::Poll => target!("NewEvents(Poll)"),
50 StartCause::Init => target!("NewEvents(Init)"),
51 },
52 Self::WindowEvent { event, .. } => event.log_target(),
53 Self::DeviceEvent { .. } => target!("DeviceEvent"),
54 Self::UserEvent(AppEvent::Waker) => target!("UserEvent(Waker)"),
55 Self::UserEvent(AppEvent::Accessibility(..)) => target!("UserEvent(Accessibility)"),
56 Self::UserEvent(AppEvent::Gamepad(..)) => target!("UserEvent(Gamepad)"),
57 Self::Suspended => target!("Suspended"),
58 Self::Resumed => target!("Resumed"),
59 Self::AboutToWait => target!("AboutToWait"),
60 Self::LoopExiting => target!("LoopExiting"),
61 Self::MemoryWarning => target!("MemoryWarning"),
62 }
63 }
64 }
65
66 impl LogTarget for winit::event::WindowEvent {
67 fn log_target(&self) -> &'static str {
68 macro_rules! target_variant {
69 ($name:literal) => {
70 target!("WindowEvent(" $name ")")
71 };
72 }
73 match self {
74 Self::ActivationTokenDone { .. } => target!("ActivationTokenDone"),
75 Self::Resized(..) => target_variant!("Resized"),
76 Self::Moved(..) => target_variant!("Moved"),
77 Self::CloseRequested => target_variant!("CloseRequested"),
78 Self::Destroyed => target_variant!("Destroyed"),
79 Self::DroppedFile(..) => target_variant!("DroppedFile"),
80 Self::HoveredFile(..) => target_variant!("HoveredFile"),
81 Self::HoveredFileCancelled => target_variant!("HoveredFileCancelled"),
82 Self::Focused(..) => target_variant!("Focused"),
83 Self::KeyboardInput { .. } => target_variant!("KeyboardInput"),
84 Self::ModifiersChanged(..) => target_variant!("ModifiersChanged"),
85 Self::Ime(..) => target_variant!("Ime"),
86 Self::CursorMoved { .. } => target_variant!("CursorMoved"),
87 Self::CursorEntered { .. } => target_variant!("CursorEntered"),
88 Self::CursorLeft { .. } => target_variant!("CursorLeft"),
89 Self::MouseWheel { .. } => target_variant!("MouseWheel"),
90 Self::MouseInput { .. } => target_variant!("MouseInput"),
91 Self::PanGesture { .. } => target_variant!("PanGesture"),
92 Self::PinchGesture { .. } => target_variant!("PinchGesture"),
93 Self::DoubleTapGesture { .. } => target_variant!("DoubleTapGesture"),
94 Self::RotationGesture { .. } => target_variant!("RotationGesture"),
95 Self::TouchpadPressure { .. } => target_variant!("TouchpadPressure"),
96 Self::AxisMotion { .. } => target_variant!("AxisMotion"),
97 Self::Touch(..) => target_variant!("Touch"),
98 Self::ScaleFactorChanged { .. } => target_variant!("ScaleFactorChanged"),
99 Self::ThemeChanged(..) => target_variant!("ThemeChanged"),
100 Self::Occluded(..) => target_variant!("Occluded"),
101 Self::RedrawRequested => target!("RedrawRequested"),
102 }
103 }
104 }
105}