1mod descriptor;
8mod shared_handle;
9mod texture;
10mod view_descriptor;
11
12pub use descriptor::TextureDescriptor;
13pub use shared_handle::SharedTextureHandle;
14pub use texture::Texture;
15pub use view_descriptor::TextureViewDescriptor;
16
17#[cfg(test)]
18mod tests {
19 use super::*;
20 use crate::enums::PixelFormat;
21 use std::ffi::c_void;
22
23 #[test]
24 fn test_texture_size() {
25 assert_eq!(
26 std::mem::size_of::<Texture>(),
27 std::mem::size_of::<*mut c_void>()
28 );
29 }
30
31 #[test]
32 fn test_texture_descriptor_size() {
33 assert_eq!(
34 std::mem::size_of::<TextureDescriptor>(),
35 std::mem::size_of::<*mut c_void>()
36 );
37 }
38
39 #[test]
40 fn test_texture_descriptor_creation() {
41 let desc = TextureDescriptor::new();
42 assert!(desc.is_some());
43 }
44
45 #[test]
46 fn test_texture_2d_descriptor() {
47 let desc =
48 TextureDescriptor::texture_2d_descriptor(PixelFormat::RGBA8_UNORM, 256, 256, true);
49 assert!(desc.is_some());
50
51 let desc = desc.unwrap();
52 assert_eq!(desc.width(), 256);
53 assert_eq!(desc.height(), 256);
54 assert_eq!(desc.pixel_format(), PixelFormat::RGBA8_UNORM);
55 }
56
57 #[test]
58 fn test_texture_descriptor_setters() {
59 let desc = TextureDescriptor::new().unwrap();
60
61 desc.set_width(512);
62 desc.set_height(512);
63 desc.set_pixel_format(PixelFormat::BGRA8_UNORM);
64 desc.set_texture_type(crate::enums::TextureType::TYPE_2D);
65
66 assert_eq!(desc.width(), 512);
67 assert_eq!(desc.height(), 512);
68 assert_eq!(desc.pixel_format(), PixelFormat::BGRA8_UNORM);
69 assert_eq!(desc.texture_type(), crate::enums::TextureType::TYPE_2D);
70 }
71
72 #[test]
73 fn test_shared_texture_handle_size() {
74 assert_eq!(
75 std::mem::size_of::<SharedTextureHandle>(),
76 std::mem::size_of::<*mut c_void>()
77 );
78 }
79}