#[cfg(feature = "screencast")]
mod screencast;
use anyhow::Result;
use image::RgbaImage;
#[cfg_attr(not(feature = "screencast"), allow(dead_code))]
pub struct CaptureOptions {
pub cursor: bool,
pub pick_screen: bool,
pub screen: u32,
}
#[cfg(feature = "screencast")]
pub fn capture(opts: &CaptureOptions) -> Result<RgbaImage> {
screencast::capture_screenshot(opts.cursor, opts.pick_screen, opts.screen)
}
#[cfg(not(feature = "screencast"))]
pub fn capture(_opts: &CaptureOptions) -> Result<RgbaImage> {
anyhow::bail!(
"this build has no capture backend (the `screencast` feature is off); \
only --from-file works"
)
}