use std::os::raw::c_char;
use std::ops::Deref;
use std::ptr;
use std::cmp;
use std::mem;
use utils::c_bindings::*;
use utils::vk_convert::*;
use utils::vk_null::*;
use utils::vk_ptr::*;
use utils::vk_traits::*;
use vulkan::vk::*;
use vulkan::vk::{VkStructureType,RawVkStructureType};
#[derive(Debug, Clone)]
pub struct VkPhysicalDeviceLineRasterizationFeatures {
pub rectangular_lines: bool,
pub bresenham_lines: bool,
pub smooth_lines: bool,
pub stippled_rectangular_lines: bool,
pub stippled_bresenham_lines: bool,
pub stippled_smooth_lines: bool,
}
#[doc(hidden)]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct RawVkPhysicalDeviceLineRasterizationFeatures {
pub s_type: RawVkStructureType,
pub next: *mut c_void,
pub rectangular_lines: u32,
pub bresenham_lines: u32,
pub smooth_lines: u32,
pub stippled_rectangular_lines: u32,
pub stippled_bresenham_lines: u32,
pub stippled_smooth_lines: u32,
}
impl VkWrappedType<RawVkPhysicalDeviceLineRasterizationFeatures> for VkPhysicalDeviceLineRasterizationFeatures {
fn vk_to_raw(src: &VkPhysicalDeviceLineRasterizationFeatures, dst: &mut RawVkPhysicalDeviceLineRasterizationFeatures) {
dst.s_type = vk_to_raw_value(&VkStructureType::PhysicalDeviceLineRasterizationFeaturesExt);
dst.next = ptr::null_mut();
dst.rectangular_lines = vk_to_raw_value(&src.rectangular_lines);
dst.bresenham_lines = vk_to_raw_value(&src.bresenham_lines);
dst.smooth_lines = vk_to_raw_value(&src.smooth_lines);
dst.stippled_rectangular_lines = vk_to_raw_value(&src.stippled_rectangular_lines);
dst.stippled_bresenham_lines = vk_to_raw_value(&src.stippled_bresenham_lines);
dst.stippled_smooth_lines = vk_to_raw_value(&src.stippled_smooth_lines);
}
}
impl VkRawType<VkPhysicalDeviceLineRasterizationFeatures> for RawVkPhysicalDeviceLineRasterizationFeatures {
fn vk_to_wrapped(src: &RawVkPhysicalDeviceLineRasterizationFeatures) -> VkPhysicalDeviceLineRasterizationFeatures {
VkPhysicalDeviceLineRasterizationFeatures {
rectangular_lines: u32::vk_to_wrapped(&src.rectangular_lines),
bresenham_lines: u32::vk_to_wrapped(&src.bresenham_lines),
smooth_lines: u32::vk_to_wrapped(&src.smooth_lines),
stippled_rectangular_lines: u32::vk_to_wrapped(&src.stippled_rectangular_lines),
stippled_bresenham_lines: u32::vk_to_wrapped(&src.stippled_bresenham_lines),
stippled_smooth_lines: u32::vk_to_wrapped(&src.stippled_smooth_lines),
}
}
}
impl Default for VkPhysicalDeviceLineRasterizationFeatures {
fn default() -> VkPhysicalDeviceLineRasterizationFeatures {
VkPhysicalDeviceLineRasterizationFeatures {
rectangular_lines: false,
bresenham_lines: false,
smooth_lines: false,
stippled_rectangular_lines: false,
stippled_bresenham_lines: false,
stippled_smooth_lines: false,
}
}
}
impl VkSetup for VkPhysicalDeviceLineRasterizationFeatures {
fn vk_setup(&mut self, fn_table: *mut VkFunctionTable) {
}
}
impl VkFree for RawVkPhysicalDeviceLineRasterizationFeatures {
fn vk_free(&self) {
}
}