use renderdog::{CaptureOption, InputButton, OverlayBits, RenderDocInApp};
fn main() -> Result<(), Box<dyn std::error::Error>> {
let rd = RenderDocInApp::new()?;
let (major, minor, patch) = rd.get_api_version()?;
println!("RenderDoc API: {major}.{minor}.{patch}");
println!("Requested version: {:?}", rd.requested_version());
rd.set_capture_file_path_template("artifacts/renderdoc/{app}_{timestamp}_{frame}.rdc")?;
rd.set_capture_title("renderdog: in-app options/overlay example")?;
rd.set_capture_file_comments(None, "Captured via renderdog in-app API example")?;
rd.set_capture_option_u32(CaptureOption::ApiValidation, 1)?;
rd.set_capture_option_u32(CaptureOption::CaptureCallstacks, 1)?;
rd.set_capture_option_u32(CaptureOption::DelayForDebugger, 0)?;
rd.mask_overlay_bits_flags(
OverlayBits::ALL,
OverlayBits::ENABLED | OverlayBits::CAPTURE_LIST,
)?;
rd.set_capture_keys(&[InputButton::F12])?;
rd.set_focus_toggle_keys(&[InputButton::F11])?;
println!("Configured capture template/options/overlay.");
println!("Press F12 in your application (if supported) or call TriggerCapture in code.");
Ok(())
}