use std::u32;
use bitflags::bitflags;
#[cfg(feature = "glutin")]
use glutin::event::VirtualKeyCode;
#[repr(u32)]
#[derive(Clone, Copy, Debug, Eq, Hash, PartialEq)]
pub enum CaptureOption {
AllowVSync = renderdoc_sys::eRENDERDOC_Option_AllowVSync,
AllowFullscreen = renderdoc_sys::eRENDERDOC_Option_AllowFullscreen,
ApiValidation = renderdoc_sys::eRENDERDOC_Option_APIValidation,
CaptureCallstacks = renderdoc_sys::eRENDERDOC_Option_CaptureCallstacks,
CaptureCallstacksOnlyDraws = renderdoc_sys::eRENDERDOC_Option_CaptureCallstacksOnlyDraws,
DelayForDebugger = renderdoc_sys::eRENDERDOC_Option_DelayForDebugger,
VerifyMapWrites = renderdoc_sys::eRENDERDOC_Option_VerifyMapWrites,
HookIntoChildren = renderdoc_sys::eRENDERDOC_Option_HookIntoChildren,
RefAllResources = renderdoc_sys::eRENDERDOC_Option_RefAllResources,
SaveAllInitials = renderdoc_sys::eRENDERDOC_Option_SaveAllInitials,
CaptureAllCmdLists = renderdoc_sys::eRENDERDOC_Option_CaptureAllCmdLists,
DebugOutputMute = renderdoc_sys::eRENDERDOC_Option_DebugOutputMute,
AllowUnsupportedVendorExtensions =
renderdoc_sys::eRENDERDOC_Option_AllowUnsupportedVendorExtensions,
}
#[allow(missing_docs)]
#[repr(u32)]
#[derive(Clone, Copy, Debug, Eq, Hash, PartialEq)]
pub enum InputButton {
Key0 = renderdoc_sys::eRENDERDOC_Key_0,
Key1 = renderdoc_sys::eRENDERDOC_Key_1,
Key2 = renderdoc_sys::eRENDERDOC_Key_2,
Key3 = renderdoc_sys::eRENDERDOC_Key_3,
Key4 = renderdoc_sys::eRENDERDOC_Key_4,
Key5 = renderdoc_sys::eRENDERDOC_Key_5,
Key6 = renderdoc_sys::eRENDERDOC_Key_6,
Key7 = renderdoc_sys::eRENDERDOC_Key_7,
Key8 = renderdoc_sys::eRENDERDOC_Key_8,
Key9 = renderdoc_sys::eRENDERDOC_Key_9,
A = renderdoc_sys::eRENDERDOC_Key_A,
B = renderdoc_sys::eRENDERDOC_Key_B,
C = renderdoc_sys::eRENDERDOC_Key_C,
D = renderdoc_sys::eRENDERDOC_Key_D,
E = renderdoc_sys::eRENDERDOC_Key_E,
F = renderdoc_sys::eRENDERDOC_Key_F,
G = renderdoc_sys::eRENDERDOC_Key_G,
H = renderdoc_sys::eRENDERDOC_Key_H,
I = renderdoc_sys::eRENDERDOC_Key_I,
J = renderdoc_sys::eRENDERDOC_Key_J,
K = renderdoc_sys::eRENDERDOC_Key_K,
L = renderdoc_sys::eRENDERDOC_Key_L,
M = renderdoc_sys::eRENDERDOC_Key_M,
N = renderdoc_sys::eRENDERDOC_Key_N,
O = renderdoc_sys::eRENDERDOC_Key_O,
P = renderdoc_sys::eRENDERDOC_Key_P,
Q = renderdoc_sys::eRENDERDOC_Key_Q,
R = renderdoc_sys::eRENDERDOC_Key_R,
S = renderdoc_sys::eRENDERDOC_Key_S,
T = renderdoc_sys::eRENDERDOC_Key_T,
U = renderdoc_sys::eRENDERDOC_Key_U,
V = renderdoc_sys::eRENDERDOC_Key_V,
W = renderdoc_sys::eRENDERDOC_Key_W,
X = renderdoc_sys::eRENDERDOC_Key_X,
Y = renderdoc_sys::eRENDERDOC_Key_Y,
Z = renderdoc_sys::eRENDERDOC_Key_Z,
NonPrintable = renderdoc_sys::eRENDERDOC_Key_NonPrintable,
Divide = renderdoc_sys::eRENDERDOC_Key_Divide,
Multiply = renderdoc_sys::eRENDERDOC_Key_Multiply,
Subtract = renderdoc_sys::eRENDERDOC_Key_Subtract,
Plus = renderdoc_sys::eRENDERDOC_Key_Plus,
F1 = renderdoc_sys::eRENDERDOC_Key_F1,
F2 = renderdoc_sys::eRENDERDOC_Key_F2,
F3 = renderdoc_sys::eRENDERDOC_Key_F3,
F4 = renderdoc_sys::eRENDERDOC_Key_F4,
F5 = renderdoc_sys::eRENDERDOC_Key_F5,
F6 = renderdoc_sys::eRENDERDOC_Key_F6,
F7 = renderdoc_sys::eRENDERDOC_Key_F7,
F8 = renderdoc_sys::eRENDERDOC_Key_F8,
F9 = renderdoc_sys::eRENDERDOC_Key_F9,
F10 = renderdoc_sys::eRENDERDOC_Key_F10,
F11 = renderdoc_sys::eRENDERDOC_Key_F11,
F12 = renderdoc_sys::eRENDERDOC_Key_F12,
Home = renderdoc_sys::eRENDERDOC_Key_Home,
End = renderdoc_sys::eRENDERDOC_Key_End,
Insert = renderdoc_sys::eRENDERDOC_Key_Insert,
Delete = renderdoc_sys::eRENDERDOC_Key_Delete,
PageUp = renderdoc_sys::eRENDERDOC_Key_PageUp,
PageDn = renderdoc_sys::eRENDERDOC_Key_PageDn,
Backspace = renderdoc_sys::eRENDERDOC_Key_Backspace,
Tab = renderdoc_sys::eRENDERDOC_Key_Tab,
PrtScrn = renderdoc_sys::eRENDERDOC_Key_PrtScrn,
Pause = renderdoc_sys::eRENDERDOC_Key_Pause,
Max = renderdoc_sys::eRENDERDOC_Key_Max,
}
#[cfg(feature = "glutin")]
impl From<glutin::event::VirtualKeyCode> for InputButton {
fn from(code: glutin::event::VirtualKeyCode) -> InputButton {
match code {
VirtualKeyCode::Key1 => InputButton::Key1,
VirtualKeyCode::Key2 => InputButton::Key2,
VirtualKeyCode::Key3 => InputButton::Key3,
VirtualKeyCode::Key4 => InputButton::Key4,
VirtualKeyCode::Key5 => InputButton::Key5,
VirtualKeyCode::Key6 => InputButton::Key6,
VirtualKeyCode::Key7 => InputButton::Key7,
VirtualKeyCode::Key8 => InputButton::Key8,
VirtualKeyCode::Key9 => InputButton::Key9,
VirtualKeyCode::Key0 => InputButton::Key0,
VirtualKeyCode::A => InputButton::A,
VirtualKeyCode::B => InputButton::B,
VirtualKeyCode::C => InputButton::C,
VirtualKeyCode::D => InputButton::D,
VirtualKeyCode::E => InputButton::E,
VirtualKeyCode::F => InputButton::F,
VirtualKeyCode::G => InputButton::G,
VirtualKeyCode::H => InputButton::H,
VirtualKeyCode::I => InputButton::I,
VirtualKeyCode::J => InputButton::J,
VirtualKeyCode::K => InputButton::K,
VirtualKeyCode::L => InputButton::L,
VirtualKeyCode::M => InputButton::M,
VirtualKeyCode::N => InputButton::N,
VirtualKeyCode::O => InputButton::O,
VirtualKeyCode::P => InputButton::P,
VirtualKeyCode::Q => InputButton::Q,
VirtualKeyCode::R => InputButton::R,
VirtualKeyCode::S => InputButton::S,
VirtualKeyCode::T => InputButton::T,
VirtualKeyCode::U => InputButton::U,
VirtualKeyCode::V => InputButton::V,
VirtualKeyCode::W => InputButton::W,
VirtualKeyCode::X => InputButton::X,
VirtualKeyCode::Y => InputButton::Y,
VirtualKeyCode::Z => InputButton::Z,
VirtualKeyCode::Divide => InputButton::Divide,
VirtualKeyCode::Multiply => InputButton::Multiply,
VirtualKeyCode::Subtract => InputButton::Subtract,
VirtualKeyCode::Add => InputButton::Plus,
VirtualKeyCode::F1 => InputButton::F1,
VirtualKeyCode::F2 => InputButton::F2,
VirtualKeyCode::F3 => InputButton::F3,
VirtualKeyCode::F4 => InputButton::F4,
VirtualKeyCode::F5 => InputButton::F5,
VirtualKeyCode::F6 => InputButton::F6,
VirtualKeyCode::F7 => InputButton::F7,
VirtualKeyCode::F8 => InputButton::F8,
VirtualKeyCode::F9 => InputButton::F9,
VirtualKeyCode::F10 => InputButton::F10,
VirtualKeyCode::F11 => InputButton::F11,
VirtualKeyCode::F12 => InputButton::F12,
VirtualKeyCode::Home => InputButton::Home,
VirtualKeyCode::End => InputButton::End,
VirtualKeyCode::Insert => InputButton::Insert,
VirtualKeyCode::Delete => InputButton::Delete,
VirtualKeyCode::PageUp => InputButton::PageUp,
VirtualKeyCode::PageDown => InputButton::PageDn,
VirtualKeyCode::Back => InputButton::Backspace,
VirtualKeyCode::Tab => InputButton::Tab,
VirtualKeyCode::Snapshot => InputButton::PrtScrn,
VirtualKeyCode::Pause => InputButton::Pause,
_ => InputButton::Max,
}
}
}
bitflags! {
pub struct OverlayBits: u32 {
const ENABLED = renderdoc_sys::eRENDERDOC_Overlay_Enabled;
const FRAME_RATE = renderdoc_sys::eRENDERDOC_Overlay_FrameRate;
const FRAME_NUMBER = renderdoc_sys::eRENDERDOC_Overlay_FrameNumber;
const CAPTURE_LIST = renderdoc_sys::eRENDERDOC_Overlay_CaptureList;
const DEFAULT = renderdoc_sys::eRENDERDOC_Overlay_Default;
const ALL = u32::MAX;
const NONE = u32::MIN;
}
}