1    object VkImageView =
2        def create (device : VkDevice
3                    format : VkFormat
4                    aspect_flags : ImageAspectFlags
5                    base_mip_level : u32
6                    mip_levels : u32
7                    base_array_layer : u32
8                    array_layers : u32
9                    image : VkImage
10                   view_type : ViewType
11                   components : ComponentMapping) =
12           let create_info = ImageViewCreateInfo
13               type = StructureType/ImageViewCreateInfo
14               next = null
15               flags = ImageViewCreateFlags@zero
16               =image
17               =view_type
18               =format
19               =components
20               subresource_range = ImageSubresourceRange
21                   aspect_mask = aspect_flags
22                   =base_mip_level
23                   level_count = mip_levels
24                   =base_array_layer
25                   layer_count = array_layers
26   
27           let mut image_view = null
28           vk/create_image_view device create_info@ptr null image_view@mut_ptr
29   
30           image_view
31