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