use utils::vk_traits::*;
#[repr(i32)]
#[derive(Debug, PartialEq, Copy, Clone)]
pub enum VkLogicOp {
Clear = 0,
And = 1,
AndReverse = 2,
Copy = 3,
AndInverted = 4,
NoOp = 5,
Xor = 6,
Or = 7,
Nor = 8,
Equivalent = 9,
Invert = 10,
OrReverse = 11,
CopyInverted = 12,
OrInverted = 13,
Nand = 14,
Set = 15,
}
#[doc(hidden)]
pub type RawVkLogicOp = i32;
impl VkWrappedType<RawVkLogicOp> for VkLogicOp {
fn vk_to_raw(src: &VkLogicOp, dst: &mut RawVkLogicOp) {
*dst = *src as i32
}
}
impl VkRawType<VkLogicOp> for RawVkLogicOp {
fn vk_to_wrapped(src: &RawVkLogicOp) -> VkLogicOp {
unsafe {
*((src as *const i32) as *const VkLogicOp)
}
}
}
impl Default for VkLogicOp {
fn default() -> VkLogicOp {
VkLogicOp::Clear
}
}