Skip to main content

wgc/
lib.rs

1//! A simple wrapper for Windows Graphics Capture
2
3// A macro that does nothing.
4#[cfg(not(feature = "tracing"))]
5macro_rules! noop_macro {
6    ($($arg:tt)*) => {};
7}
8
9// A macro that conditionally uses tracing or noop_macro.
10macro_rules! use_tracing_macros {
11    ($($tracing_macro:ident),+) => {
12        $(
13#[cfg(feature = "tracing")]
14pub(crate) use tracing::$tracing_macro;
15
16#[cfg(not(feature = "tracing"))]
17pub(crate) use noop_macro as $tracing_macro;
18        )+
19    };
20}
21use_tracing_macros!(debug, trace);
22
23pub mod settings;
24pub use settings::*;
25pub mod frame;
26pub use frame::*;
27pub mod capture;
28pub use capture::*;
29pub mod error;
30pub use error::*;
31
32mod utils {
33    pub mod picker;
34    pub use picker::*;
35    pub(crate) mod qpc;
36    pub(crate) use qpc::*;
37}
38pub use utils::*;