use crate::{ColorDepth, Extent2, NonMaxU16, NonMaxU32, set, test_size_of};
#[doc = crate::_tags!(runtime)]
#[doc = crate::_doc_meta!{
location("run/regime"),
test_size_of(RunCap = 28|224),
}]
#[derive(Clone, Copy, Debug, Default, PartialEq, Eq)]
pub struct RunCap {
pub audio: Option<RunCapAudio>,
pub color: Option<RunCapColor>,
pub image: Option<RunCapImage>,
pub input: Option<RunCapInput>,
pub system: Option<RunCapSystem>,
pub text: Option<RunCapText>,
pub window: Option<RunCapWindow>,
}
#[doc = crate::_tags!(runtime audio)]
#[doc = crate::_doc_meta!{
location("run/regime"),
test_size_of(RunCapAudio = 1|8),
}]
#[derive(Clone, Copy, Debug, Default, PartialEq, Eq)]
pub struct RunCapAudio {
pub play: bool,
}
#[doc = crate::_tags!(runtime color)]
#[doc = crate::_doc_meta!{
location("run/regime"),
test_size_of(RunCapColor = 4|32),
}]
#[derive(Clone, Copy, Debug, Default, PartialEq, Eq, Hash)]
pub struct RunCapColor {
pub depth: ColorDepth,
pub palette_size: Option<NonMaxU16>,
pub palette_set: bool,
}
#[doc = crate::_tags!(runtime image)]
#[doc = crate::_doc_meta!{
location("run/regime"),
test_size_of(RunCapImage = 12|96),
}]
#[derive(Clone, Copy, Debug, Default, PartialEq, Eq)]
pub struct RunCapImage {
pub max_bitmap_extent: Option<Extent2<NonMaxU32>>,
pub pixel_native: bool,
}
set! {
#[doc = crate::_tags!(runtime interaction set)]
#[doc = crate::_doc_meta!{
location("run/regime"),
test_size_of(RunCapInput = 1|8),
}]
pub struct RunCapInput(u8) {
GAMEPAD = 0 ;
KEYBOARD = 1 ;
MIDI = 2 ;
MOUSE = 3;
TOUCHSCREEN = 4;
}
}
set! {
#[doc = crate::_tags!(runtime set)]
#[doc = crate::_doc_meta!{
location("run/regime"),
test_size_of(RunCapSystem = 2|16),
}]
pub struct RunCapSystem(u16) {
TIME = 0;
TIMER = 1;
RANDOM = 2;
ENV = 3;
FS = 4;
PROCESS = 5;
THREAD = 6;
NET = 7;
SIGNAL = 8;
}
}
set! {
#[doc = crate::_tags!(runtime text set)]
#[doc = crate::_doc_meta!{
location("run/regime"),
test_size_of(RunCapText = 1|8),
}]
pub struct RunCapText(u8) {
WRITE = 0;
CELL_GRID = 1;
PROPORTIONAL = 2;
CURSOR = 3;
STYLE = 4;
EDIT = 5;
COLOR_PAIR = 6;
MEASURE = 7;
}
}
test_size_of![RunCapWindow = 1]; #[doc = crate::_tags!(runtime)]
#[doc = crate::_doc_meta!{location("run/regime")}]
#[derive(Clone, Copy, Debug, Default, PartialEq, Eq)]
pub struct RunCapWindow {
pub multi: bool,
}