#[cfg(feature = "alloc")]
use crate::String;
#[doc = crate::_tags!(runtime)]
#[doc = crate::_doc_location!("run/regime")]
#[derive(Clone, Debug, Default, PartialEq, Eq)]
pub struct RunCap {
pub image: Option<RunCapImage>,
pub input: Option<RunCapInput>,
pub audio: Option<RunCapAudio>,
#[cfg(feature = "alloc")]
#[cfg_attr(nightly_doc, doc(cfg(feature = "alloc")))]
pub system: Option<RunCapSystem>,
pub window: Option<RunCapWindow>,
}
#[doc = crate::_tags!(runtime image)]
#[doc = crate::_doc_location!("run/regime")]
#[derive(Clone, Copy, Debug, Default, PartialEq, Eq)]
pub struct RunCapImage {
pub max_bitmap_size: Option<[usize; 2]>,
pub pixel_native: bool,
pub rgb: bool,
}
#[doc = crate::_tags!(runtime interaction)]
#[doc = crate::_doc_location!("run/regime")]
#[derive(Clone, Copy, Debug, Default, PartialEq, Eq)]
pub struct RunCapInput {
pub gamepad: bool,
pub keyboard: bool,
pub midi: bool,
pub mouse: bool,
pub touchscreen: bool,
}
#[doc = crate::_tags!(runtime audio)]
#[doc = crate::_doc_location!("run/regime")]
#[derive(Clone, Copy, Debug, Default, PartialEq, Eq)]
pub struct RunCapAudio {
pub play: bool,
}
#[doc = crate::_tags!(runtime)]
#[doc = crate::_doc_location!("run/regime")]
#[cfg(feature = "alloc")]
#[cfg_attr(nightly_doc, doc(cfg(feature = "alloc")))]
#[derive(Clone, Debug, Default, PartialEq, Eq)]
pub struct RunCapSystem {
pub os_version: Option<String>,
pub user_name: Option<String>,
pub host_name: Option<String>,
}
#[doc = crate::_tags!(runtime)]
#[doc = crate::_doc_location!("run/regime")]
#[derive(Clone, Copy, Debug, Default, PartialEq, Eq)]
pub struct RunCapWindow {
pub multi: bool,
}