1 #![allow(non_snake_case, non_camel_case_types, non_upper_case_globals, clashing_extern_declarations, clippy::all)] 2 #[link(name = "windows")] 3 extern "system" {} 4 pub type BasicProperties = *mut ::core::ffi::c_void; 5 pub type DocumentProperties = *mut ::core::ffi::c_void; 6 pub type IStorageItemExtraProperties = *mut ::core::ffi::c_void; 7 pub type ImageProperties = *mut ::core::ffi::c_void; 8 pub type MusicProperties = *mut ::core::ffi::c_void; 9 #[repr(transparent)] 10 pub struct PhotoOrientation(pub i32); 11 impl PhotoOrientation { 12 pub const Unspecified: Self = Self(0i32); 13 pub const Normal: Self = Self(1i32); 14 pub const FlipHorizontal: Self = Self(2i32); 15 pub const Rotate180: Self = Self(3i32); 16 pub const FlipVertical: Self = Self(4i32); 17 pub const Transpose: Self = Self(5i32); 18 pub const Rotate270: Self = Self(6i32); 19 pub const Transverse: Self = Self(7i32); 20 pub const Rotate90: Self = Self(8i32); 21 } 22 impl ::core::marker::Copy for PhotoOrientation {} 23 impl ::core::clone::Clone for PhotoOrientation { clone(&self) -> Self24 fn clone(&self) -> Self { 25 *self 26 } 27 } 28 #[repr(transparent)] 29 pub struct PropertyPrefetchOptions(pub u32); 30 impl PropertyPrefetchOptions { 31 pub const None: Self = Self(0u32); 32 pub const MusicProperties: Self = Self(1u32); 33 pub const VideoProperties: Self = Self(2u32); 34 pub const ImageProperties: Self = Self(4u32); 35 pub const DocumentProperties: Self = Self(8u32); 36 pub const BasicProperties: Self = Self(16u32); 37 } 38 impl ::core::marker::Copy for PropertyPrefetchOptions {} 39 impl ::core::clone::Clone for PropertyPrefetchOptions { clone(&self) -> Self40 fn clone(&self) -> Self { 41 *self 42 } 43 } 44 pub type StorageItemContentProperties = *mut ::core::ffi::c_void; 45 pub type StorageItemThumbnail = *mut ::core::ffi::c_void; 46 #[repr(transparent)] 47 pub struct ThumbnailMode(pub i32); 48 impl ThumbnailMode { 49 pub const PicturesView: Self = Self(0i32); 50 pub const VideosView: Self = Self(1i32); 51 pub const MusicView: Self = Self(2i32); 52 pub const DocumentsView: Self = Self(3i32); 53 pub const ListView: Self = Self(4i32); 54 pub const SingleItem: Self = Self(5i32); 55 } 56 impl ::core::marker::Copy for ThumbnailMode {} 57 impl ::core::clone::Clone for ThumbnailMode { clone(&self) -> Self58 fn clone(&self) -> Self { 59 *self 60 } 61 } 62 #[repr(transparent)] 63 pub struct ThumbnailOptions(pub u32); 64 impl ThumbnailOptions { 65 pub const None: Self = Self(0u32); 66 pub const ReturnOnlyIfCached: Self = Self(1u32); 67 pub const ResizeThumbnail: Self = Self(2u32); 68 pub const UseCurrentScale: Self = Self(4u32); 69 } 70 impl ::core::marker::Copy for ThumbnailOptions {} 71 impl ::core::clone::Clone for ThumbnailOptions { clone(&self) -> Self72 fn clone(&self) -> Self { 73 *self 74 } 75 } 76 #[repr(transparent)] 77 pub struct ThumbnailType(pub i32); 78 impl ThumbnailType { 79 pub const Image: Self = Self(0i32); 80 pub const Icon: Self = Self(1i32); 81 } 82 impl ::core::marker::Copy for ThumbnailType {} 83 impl ::core::clone::Clone for ThumbnailType { clone(&self) -> Self84 fn clone(&self) -> Self { 85 *self 86 } 87 } 88 #[repr(transparent)] 89 pub struct VideoOrientation(pub i32); 90 impl VideoOrientation { 91 pub const Normal: Self = Self(0i32); 92 pub const Rotate90: Self = Self(90i32); 93 pub const Rotate180: Self = Self(180i32); 94 pub const Rotate270: Self = Self(270i32); 95 } 96 impl ::core::marker::Copy for VideoOrientation {} 97 impl ::core::clone::Clone for VideoOrientation { clone(&self) -> Self98 fn clone(&self) -> Self { 99 *self 100 } 101 } 102 pub type VideoProperties = *mut ::core::ffi::c_void; 103