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};
use vulkan::vk::{VkImageView,RawVkImageView};
use vulkan::vk::{VkDescriptorType,RawVkDescriptorType};
use vulkan::vk::{VkSampler,RawVkSampler};
#[derive(Debug, Clone)]
pub struct VkImageViewHandleInfo {
pub image_view: VkImageView,
pub descriptor_type: VkDescriptorType,
pub sampler: Option<VkSampler>,
}
#[doc(hidden)]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct RawVkImageViewHandleInfo {
pub s_type: RawVkStructureType,
pub next: *mut c_void,
pub image_view: RawVkImageView,
pub descriptor_type: RawVkDescriptorType,
pub sampler: RawVkSampler,
}
impl VkWrappedType<RawVkImageViewHandleInfo> for VkImageViewHandleInfo {
fn vk_to_raw(src: &VkImageViewHandleInfo, dst: &mut RawVkImageViewHandleInfo) {
dst.s_type = vk_to_raw_value(&VkStructureType::ImageViewHandleInfoNvx);
dst.next = ptr::null_mut();
dst.image_view = vk_to_raw_value(&src.image_view);
dst.descriptor_type = vk_to_raw_value(&src.descriptor_type);
dst.sampler = vk_to_raw_value_checked(&src.sampler);
}
}
impl VkRawType<VkImageViewHandleInfo> for RawVkImageViewHandleInfo {
fn vk_to_wrapped(src: &RawVkImageViewHandleInfo) -> VkImageViewHandleInfo {
VkImageViewHandleInfo {
image_view: RawVkImageView::vk_to_wrapped(&src.image_view),
descriptor_type: RawVkDescriptorType::vk_to_wrapped(&src.descriptor_type),
sampler: Some(RawVkSampler::vk_to_wrapped(&src.sampler)),
}
}
}
impl Default for VkImageViewHandleInfo {
fn default() -> VkImageViewHandleInfo {
VkImageViewHandleInfo {
image_view: Default::default(),
descriptor_type: Default::default(),
sampler: None,
}
}
}
impl VkSetup for VkImageViewHandleInfo {
fn vk_setup(&mut self, fn_table: *mut VkFunctionTable) {
VkSetup::vk_setup(&mut self.image_view, fn_table);
}
}
impl VkFree for RawVkImageViewHandleInfo {
fn vk_free(&self) {
}
}