use crate::{
macros::vulkan_enum,
pipeline::{graphics::viewport::Scissor, PartialStateMode},
};
#[derive(Clone, Debug)]
pub struct DiscardRectangleState {
pub mode: DiscardRectangleMode,
pub rectangles: PartialStateMode<Vec<Scissor>, u32>,
}
impl DiscardRectangleState {
#[inline]
pub fn new() -> Self {
Self {
mode: DiscardRectangleMode::Exclusive,
rectangles: PartialStateMode::Fixed(Vec::new()),
}
}
}
impl Default for DiscardRectangleState {
#[inline]
fn default() -> Self {
Self::new()
}
}
vulkan_enum! {
#[non_exhaustive]
DiscardRectangleMode = DiscardRectangleModeEXT(i32);
Inclusive = INCLUSIVE,
Exclusive = EXCLUSIVE,
}