]> git.proxmox.com Git - rustc.git/blame - vendor/windows/src/Windows/Graphics/Printing3D/mod.rs
New upstream version 1.70.0+dfsg1
[rustc.git] / vendor / windows / src / Windows / Graphics / Printing3D / mod.rs
CommitLineData
353b0b11
FG
1#[doc(hidden)]
2#[repr(transparent)]
3pub struct IPrint3DManager(::windows::core::IUnknown);
4unsafe impl ::windows::core::Interface for IPrint3DManager {
5 type Vtable = IPrint3DManager_Vtbl;
6}
7impl ::core::clone::Clone for IPrint3DManager {
8 fn clone(&self) -> Self {
9 Self(self.0.clone())
10 }
11}
12unsafe impl ::windows::core::ComInterface for IPrint3DManager {
13 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x4d2fcb0a_7366_4971_8bd5_17c4e3e8c6c0);
14}
15#[repr(C)]
16#[doc(hidden)]
17pub struct IPrint3DManager_Vtbl {
18 pub base__: ::windows::core::IInspectable_Vtbl,
19 #[cfg(feature = "Foundation")]
20 pub TaskRequested: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, eventhandler: *mut ::core::ffi::c_void, result__: *mut super::super::Foundation::EventRegistrationToken) -> ::windows::core::HRESULT,
21 #[cfg(not(feature = "Foundation"))]
22 TaskRequested: usize,
23 #[cfg(feature = "Foundation")]
24 pub RemoveTaskRequested: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, token: super::super::Foundation::EventRegistrationToken) -> ::windows::core::HRESULT,
25 #[cfg(not(feature = "Foundation"))]
26 RemoveTaskRequested: usize,
27}
28#[doc(hidden)]
29#[repr(transparent)]
30pub struct IPrint3DManagerStatics(::windows::core::IUnknown);
31unsafe impl ::windows::core::Interface for IPrint3DManagerStatics {
32 type Vtable = IPrint3DManagerStatics_Vtbl;
33}
34impl ::core::clone::Clone for IPrint3DManagerStatics {
35 fn clone(&self) -> Self {
36 Self(self.0.clone())
37 }
38}
39unsafe impl ::windows::core::ComInterface for IPrint3DManagerStatics {
40 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x0ef1cafe_a9ad_4c08_a917_1d1f863eabcb);
41}
42#[repr(C)]
43#[doc(hidden)]
44pub struct IPrint3DManagerStatics_Vtbl {
45 pub base__: ::windows::core::IInspectable_Vtbl,
46 pub GetForCurrentView: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
47 #[cfg(feature = "Foundation")]
48 pub ShowPrintUIAsync: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
49 #[cfg(not(feature = "Foundation"))]
50 ShowPrintUIAsync: usize,
51}
52#[doc(hidden)]
53#[repr(transparent)]
54pub struct IPrint3DTask(::windows::core::IUnknown);
55unsafe impl ::windows::core::Interface for IPrint3DTask {
56 type Vtable = IPrint3DTask_Vtbl;
57}
58impl ::core::clone::Clone for IPrint3DTask {
59 fn clone(&self) -> Self {
60 Self(self.0.clone())
61 }
62}
63unsafe impl ::windows::core::ComInterface for IPrint3DTask {
64 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x8ce3d080_2118_4c28_80de_f426d70191ae);
65}
66#[repr(C)]
67#[doc(hidden)]
68pub struct IPrint3DTask_Vtbl {
69 pub base__: ::windows::core::IInspectable_Vtbl,
70 pub Source: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
71 #[cfg(feature = "Foundation")]
72 pub Submitting: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, eventhandler: *mut ::core::ffi::c_void, result__: *mut super::super::Foundation::EventRegistrationToken) -> ::windows::core::HRESULT,
73 #[cfg(not(feature = "Foundation"))]
74 Submitting: usize,
75 #[cfg(feature = "Foundation")]
76 pub RemoveSubmitting: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, eventcookie: super::super::Foundation::EventRegistrationToken) -> ::windows::core::HRESULT,
77 #[cfg(not(feature = "Foundation"))]
78 RemoveSubmitting: usize,
79 #[cfg(feature = "Foundation")]
80 pub Completed: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, eventhandler: *mut ::core::ffi::c_void, result__: *mut super::super::Foundation::EventRegistrationToken) -> ::windows::core::HRESULT,
81 #[cfg(not(feature = "Foundation"))]
82 Completed: usize,
83 #[cfg(feature = "Foundation")]
84 pub RemoveCompleted: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, eventcookie: super::super::Foundation::EventRegistrationToken) -> ::windows::core::HRESULT,
85 #[cfg(not(feature = "Foundation"))]
86 RemoveCompleted: usize,
87 #[cfg(feature = "Foundation")]
88 pub SourceChanged: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, eventhandler: *mut ::core::ffi::c_void, result__: *mut super::super::Foundation::EventRegistrationToken) -> ::windows::core::HRESULT,
89 #[cfg(not(feature = "Foundation"))]
90 SourceChanged: usize,
91 #[cfg(feature = "Foundation")]
92 pub RemoveSourceChanged: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, eventcookie: super::super::Foundation::EventRegistrationToken) -> ::windows::core::HRESULT,
93 #[cfg(not(feature = "Foundation"))]
94 RemoveSourceChanged: usize,
95}
96#[doc(hidden)]
97#[repr(transparent)]
98pub struct IPrint3DTaskCompletedEventArgs(::windows::core::IUnknown);
99unsafe impl ::windows::core::Interface for IPrint3DTaskCompletedEventArgs {
100 type Vtable = IPrint3DTaskCompletedEventArgs_Vtbl;
101}
102impl ::core::clone::Clone for IPrint3DTaskCompletedEventArgs {
103 fn clone(&self) -> Self {
104 Self(self.0.clone())
105 }
106}
107unsafe impl ::windows::core::ComInterface for IPrint3DTaskCompletedEventArgs {
108 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xcc1914af_2614_4f1d_accc_d6fc4fda5455);
109}
110#[repr(C)]
111#[doc(hidden)]
112pub struct IPrint3DTaskCompletedEventArgs_Vtbl {
113 pub base__: ::windows::core::IInspectable_Vtbl,
114 pub Completion: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut Print3DTaskCompletion) -> ::windows::core::HRESULT,
115 pub ExtendedStatus: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut Print3DTaskDetail) -> ::windows::core::HRESULT,
116}
117#[doc(hidden)]
118#[repr(transparent)]
119pub struct IPrint3DTaskRequest(::windows::core::IUnknown);
120unsafe impl ::windows::core::Interface for IPrint3DTaskRequest {
121 type Vtable = IPrint3DTaskRequest_Vtbl;
122}
123impl ::core::clone::Clone for IPrint3DTaskRequest {
124 fn clone(&self) -> Self {
125 Self(self.0.clone())
126 }
127}
128unsafe impl ::windows::core::ComInterface for IPrint3DTaskRequest {
129 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x2595c46f_2245_4c5a_8731_0d604dc6bc3c);
130}
131#[repr(C)]
132#[doc(hidden)]
133pub struct IPrint3DTaskRequest_Vtbl {
134 pub base__: ::windows::core::IInspectable_Vtbl,
135 pub CreateTask: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, title: ::std::mem::MaybeUninit<::windows::core::HSTRING>, printerid: ::std::mem::MaybeUninit<::windows::core::HSTRING>, handler: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
136}
137#[doc(hidden)]
138#[repr(transparent)]
139pub struct IPrint3DTaskRequestedEventArgs(::windows::core::IUnknown);
140unsafe impl ::windows::core::Interface for IPrint3DTaskRequestedEventArgs {
141 type Vtable = IPrint3DTaskRequestedEventArgs_Vtbl;
142}
143impl ::core::clone::Clone for IPrint3DTaskRequestedEventArgs {
144 fn clone(&self) -> Self {
145 Self(self.0.clone())
146 }
147}
148unsafe impl ::windows::core::ComInterface for IPrint3DTaskRequestedEventArgs {
149 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x150cb77f_18c5_40d7_9f40_fab3096e05a9);
150}
151#[repr(C)]
152#[doc(hidden)]
153pub struct IPrint3DTaskRequestedEventArgs_Vtbl {
154 pub base__: ::windows::core::IInspectable_Vtbl,
155 pub Request: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
156}
157#[doc(hidden)]
158#[repr(transparent)]
159pub struct IPrint3DTaskSourceChangedEventArgs(::windows::core::IUnknown);
160unsafe impl ::windows::core::Interface for IPrint3DTaskSourceChangedEventArgs {
161 type Vtable = IPrint3DTaskSourceChangedEventArgs_Vtbl;
162}
163impl ::core::clone::Clone for IPrint3DTaskSourceChangedEventArgs {
164 fn clone(&self) -> Self {
165 Self(self.0.clone())
166 }
167}
168unsafe impl ::windows::core::ComInterface for IPrint3DTaskSourceChangedEventArgs {
169 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x5bcd34af_24e9_4c10_8d07_14c346ba3fcf);
170}
171#[repr(C)]
172#[doc(hidden)]
173pub struct IPrint3DTaskSourceChangedEventArgs_Vtbl {
174 pub base__: ::windows::core::IInspectable_Vtbl,
175 pub Source: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
176}
177#[doc(hidden)]
178#[repr(transparent)]
179pub struct IPrint3DTaskSourceRequestedArgs(::windows::core::IUnknown);
180unsafe impl ::windows::core::Interface for IPrint3DTaskSourceRequestedArgs {
181 type Vtable = IPrint3DTaskSourceRequestedArgs_Vtbl;
182}
183impl ::core::clone::Clone for IPrint3DTaskSourceRequestedArgs {
184 fn clone(&self) -> Self {
185 Self(self.0.clone())
186 }
187}
188unsafe impl ::windows::core::ComInterface for IPrint3DTaskSourceRequestedArgs {
189 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xc77c9aba_24af_424d_a3bf_92250c355602);
190}
191#[repr(C)]
192#[doc(hidden)]
193pub struct IPrint3DTaskSourceRequestedArgs_Vtbl {
194 pub base__: ::windows::core::IInspectable_Vtbl,
195 pub SetSource: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, source: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
196}
197#[doc(hidden)]
198#[repr(transparent)]
199pub struct IPrinting3D3MFPackage(::windows::core::IUnknown);
200unsafe impl ::windows::core::Interface for IPrinting3D3MFPackage {
201 type Vtable = IPrinting3D3MFPackage_Vtbl;
202}
203impl ::core::clone::Clone for IPrinting3D3MFPackage {
204 fn clone(&self) -> Self {
205 Self(self.0.clone())
206 }
207}
208unsafe impl ::windows::core::ComInterface for IPrinting3D3MFPackage {
209 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xf64dd5c8_2ab7_45a9_a1b7_267e948d5b18);
210}
211#[repr(C)]
212#[doc(hidden)]
213pub struct IPrinting3D3MFPackage_Vtbl {
214 pub base__: ::windows::core::IInspectable_Vtbl,
215 #[cfg(all(feature = "Foundation", feature = "Storage_Streams"))]
216 pub SaveAsync: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
217 #[cfg(not(all(feature = "Foundation", feature = "Storage_Streams")))]
218 SaveAsync: usize,
219 #[cfg(feature = "Storage_Streams")]
220 pub PrintTicket: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
221 #[cfg(not(feature = "Storage_Streams"))]
222 PrintTicket: usize,
223 #[cfg(feature = "Storage_Streams")]
224 pub SetPrintTicket: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
225 #[cfg(not(feature = "Storage_Streams"))]
226 SetPrintTicket: usize,
227 #[cfg(feature = "Storage_Streams")]
228 pub ModelPart: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
229 #[cfg(not(feature = "Storage_Streams"))]
230 ModelPart: usize,
231 #[cfg(feature = "Storage_Streams")]
232 pub SetModelPart: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
233 #[cfg(not(feature = "Storage_Streams"))]
234 SetModelPart: usize,
235 pub Thumbnail: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
236 pub SetThumbnail: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
237 #[cfg(feature = "Foundation_Collections")]
238 pub Textures: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
239 #[cfg(not(feature = "Foundation_Collections"))]
240 Textures: usize,
241 #[cfg(all(feature = "Foundation", feature = "Storage_Streams"))]
242 pub LoadModelFromPackageAsync: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
243 #[cfg(not(all(feature = "Foundation", feature = "Storage_Streams")))]
244 LoadModelFromPackageAsync: usize,
245 #[cfg(feature = "Foundation")]
246 pub SaveModelToPackageAsync: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
247 #[cfg(not(feature = "Foundation"))]
248 SaveModelToPackageAsync: usize,
249}
250#[doc(hidden)]
251#[repr(transparent)]
252pub struct IPrinting3D3MFPackage2(::windows::core::IUnknown);
253unsafe impl ::windows::core::Interface for IPrinting3D3MFPackage2 {
254 type Vtable = IPrinting3D3MFPackage2_Vtbl;
255}
256impl ::core::clone::Clone for IPrinting3D3MFPackage2 {
257 fn clone(&self) -> Self {
258 Self(self.0.clone())
259 }
260}
261unsafe impl ::windows::core::ComInterface for IPrinting3D3MFPackage2 {
262 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x965c7ac4_93cb_4430_92b8_789cd454f883);
263}
264#[repr(C)]
265#[doc(hidden)]
266pub struct IPrinting3D3MFPackage2_Vtbl {
267 pub base__: ::windows::core::IInspectable_Vtbl,
268 pub Compression: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut Printing3DPackageCompression) -> ::windows::core::HRESULT,
269 pub SetCompression: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: Printing3DPackageCompression) -> ::windows::core::HRESULT,
270}
271#[doc(hidden)]
272#[repr(transparent)]
273pub struct IPrinting3D3MFPackageStatics(::windows::core::IUnknown);
274unsafe impl ::windows::core::Interface for IPrinting3D3MFPackageStatics {
275 type Vtable = IPrinting3D3MFPackageStatics_Vtbl;
276}
277impl ::core::clone::Clone for IPrinting3D3MFPackageStatics {
278 fn clone(&self) -> Self {
279 Self(self.0.clone())
280 }
281}
282unsafe impl ::windows::core::ComInterface for IPrinting3D3MFPackageStatics {
283 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x7058d9af_7a9a_4787_b817_f6f459214823);
284}
285#[repr(C)]
286#[doc(hidden)]
287pub struct IPrinting3D3MFPackageStatics_Vtbl {
288 pub base__: ::windows::core::IInspectable_Vtbl,
289 #[cfg(all(feature = "Foundation", feature = "Storage_Streams"))]
290 pub LoadAsync: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
291 #[cfg(not(all(feature = "Foundation", feature = "Storage_Streams")))]
292 LoadAsync: usize,
293}
294#[doc(hidden)]
295#[repr(transparent)]
296pub struct IPrinting3DBaseMaterial(::windows::core::IUnknown);
297unsafe impl ::windows::core::Interface for IPrinting3DBaseMaterial {
298 type Vtable = IPrinting3DBaseMaterial_Vtbl;
299}
300impl ::core::clone::Clone for IPrinting3DBaseMaterial {
301 fn clone(&self) -> Self {
302 Self(self.0.clone())
303 }
304}
305unsafe impl ::windows::core::ComInterface for IPrinting3DBaseMaterial {
306 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xd0f0e743_c50c_4bcb_9d04_fc16adcea2c9);
307}
308#[repr(C)]
309#[doc(hidden)]
310pub struct IPrinting3DBaseMaterial_Vtbl {
311 pub base__: ::windows::core::IInspectable_Vtbl,
312 pub Name: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut ::std::mem::MaybeUninit<::windows::core::HSTRING>) -> ::windows::core::HRESULT,
313 pub SetName: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: ::std::mem::MaybeUninit<::windows::core::HSTRING>) -> ::windows::core::HRESULT,
314 pub Color: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
315 pub SetColor: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
316}
317#[doc(hidden)]
318#[repr(transparent)]
319pub struct IPrinting3DBaseMaterialGroup(::windows::core::IUnknown);
320unsafe impl ::windows::core::Interface for IPrinting3DBaseMaterialGroup {
321 type Vtable = IPrinting3DBaseMaterialGroup_Vtbl;
322}
323impl ::core::clone::Clone for IPrinting3DBaseMaterialGroup {
324 fn clone(&self) -> Self {
325 Self(self.0.clone())
326 }
327}
328unsafe impl ::windows::core::ComInterface for IPrinting3DBaseMaterialGroup {
329 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x94f070b8_2515_4a8d_a1f0_d0fc13d06021);
330}
331#[repr(C)]
332#[doc(hidden)]
333pub struct IPrinting3DBaseMaterialGroup_Vtbl {
334 pub base__: ::windows::core::IInspectable_Vtbl,
335 #[cfg(feature = "Foundation_Collections")]
336 pub Bases: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
337 #[cfg(not(feature = "Foundation_Collections"))]
338 Bases: usize,
339 pub MaterialGroupId: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut u32) -> ::windows::core::HRESULT,
340}
341#[doc(hidden)]
342#[repr(transparent)]
343pub struct IPrinting3DBaseMaterialGroupFactory(::windows::core::IUnknown);
344unsafe impl ::windows::core::Interface for IPrinting3DBaseMaterialGroupFactory {
345 type Vtable = IPrinting3DBaseMaterialGroupFactory_Vtbl;
346}
347impl ::core::clone::Clone for IPrinting3DBaseMaterialGroupFactory {
348 fn clone(&self) -> Self {
349 Self(self.0.clone())
350 }
351}
352unsafe impl ::windows::core::ComInterface for IPrinting3DBaseMaterialGroupFactory {
353 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x5c1546dc_8697_4193_976b_84bb4116e5bf);
354}
355#[repr(C)]
356#[doc(hidden)]
357pub struct IPrinting3DBaseMaterialGroupFactory_Vtbl {
358 pub base__: ::windows::core::IInspectable_Vtbl,
359 pub Create: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, materialgroupid: u32, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
360}
361#[doc(hidden)]
362#[repr(transparent)]
363pub struct IPrinting3DBaseMaterialStatics(::windows::core::IUnknown);
364unsafe impl ::windows::core::Interface for IPrinting3DBaseMaterialStatics {
365 type Vtable = IPrinting3DBaseMaterialStatics_Vtbl;
366}
367impl ::core::clone::Clone for IPrinting3DBaseMaterialStatics {
368 fn clone(&self) -> Self {
369 Self(self.0.clone())
370 }
371}
372unsafe impl ::windows::core::ComInterface for IPrinting3DBaseMaterialStatics {
373 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x815a47bc_374a_476d_be92_3ecfd1cb9776);
374}
375#[repr(C)]
376#[doc(hidden)]
377pub struct IPrinting3DBaseMaterialStatics_Vtbl {
378 pub base__: ::windows::core::IInspectable_Vtbl,
379 pub Abs: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut ::std::mem::MaybeUninit<::windows::core::HSTRING>) -> ::windows::core::HRESULT,
380 pub Pla: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut ::std::mem::MaybeUninit<::windows::core::HSTRING>) -> ::windows::core::HRESULT,
381}
382#[doc(hidden)]
383#[repr(transparent)]
384pub struct IPrinting3DColorMaterial(::windows::core::IUnknown);
385unsafe impl ::windows::core::Interface for IPrinting3DColorMaterial {
386 type Vtable = IPrinting3DColorMaterial_Vtbl;
387}
388impl ::core::clone::Clone for IPrinting3DColorMaterial {
389 fn clone(&self) -> Self {
390 Self(self.0.clone())
391 }
392}
393unsafe impl ::windows::core::ComInterface for IPrinting3DColorMaterial {
394 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xe1899928_7ce7_4285_a35d_f145c9510c7b);
395}
396#[repr(C)]
397#[doc(hidden)]
398pub struct IPrinting3DColorMaterial_Vtbl {
399 pub base__: ::windows::core::IInspectable_Vtbl,
400 pub Value: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut u32) -> ::windows::core::HRESULT,
401 pub SetValue: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: u32) -> ::windows::core::HRESULT,
402}
403#[doc(hidden)]
404#[repr(transparent)]
405pub struct IPrinting3DColorMaterial2(::windows::core::IUnknown);
406unsafe impl ::windows::core::Interface for IPrinting3DColorMaterial2 {
407 type Vtable = IPrinting3DColorMaterial2_Vtbl;
408}
409impl ::core::clone::Clone for IPrinting3DColorMaterial2 {
410 fn clone(&self) -> Self {
411 Self(self.0.clone())
412 }
413}
414unsafe impl ::windows::core::ComInterface for IPrinting3DColorMaterial2 {
415 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xfab0e852_0aef_44e9_9ddd_36eeea5acd44);
416}
417#[repr(C)]
418#[doc(hidden)]
419pub struct IPrinting3DColorMaterial2_Vtbl {
420 pub base__: ::windows::core::IInspectable_Vtbl,
421 #[cfg(feature = "UI")]
422 pub Color: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut super::super::UI::Color) -> ::windows::core::HRESULT,
423 #[cfg(not(feature = "UI"))]
424 Color: usize,
425 #[cfg(feature = "UI")]
426 pub SetColor: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: super::super::UI::Color) -> ::windows::core::HRESULT,
427 #[cfg(not(feature = "UI"))]
428 SetColor: usize,
429}
430#[doc(hidden)]
431#[repr(transparent)]
432pub struct IPrinting3DColorMaterialGroup(::windows::core::IUnknown);
433unsafe impl ::windows::core::Interface for IPrinting3DColorMaterialGroup {
434 type Vtable = IPrinting3DColorMaterialGroup_Vtbl;
435}
436impl ::core::clone::Clone for IPrinting3DColorMaterialGroup {
437 fn clone(&self) -> Self {
438 Self(self.0.clone())
439 }
440}
441unsafe impl ::windows::core::ComInterface for IPrinting3DColorMaterialGroup {
442 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x001a6bd0_aadf_4226_afe9_f369a0b45004);
443}
444#[repr(C)]
445#[doc(hidden)]
446pub struct IPrinting3DColorMaterialGroup_Vtbl {
447 pub base__: ::windows::core::IInspectable_Vtbl,
448 #[cfg(feature = "Foundation_Collections")]
449 pub Colors: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
450 #[cfg(not(feature = "Foundation_Collections"))]
451 Colors: usize,
452 pub MaterialGroupId: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut u32) -> ::windows::core::HRESULT,
453}
454#[doc(hidden)]
455#[repr(transparent)]
456pub struct IPrinting3DColorMaterialGroupFactory(::windows::core::IUnknown);
457unsafe impl ::windows::core::Interface for IPrinting3DColorMaterialGroupFactory {
458 type Vtable = IPrinting3DColorMaterialGroupFactory_Vtbl;
459}
460impl ::core::clone::Clone for IPrinting3DColorMaterialGroupFactory {
461 fn clone(&self) -> Self {
462 Self(self.0.clone())
463 }
464}
465unsafe impl ::windows::core::ComInterface for IPrinting3DColorMaterialGroupFactory {
466 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x71d38d6d_b1ea_4a5b_bc54_19c65f3df044);
467}
468#[repr(C)]
469#[doc(hidden)]
470pub struct IPrinting3DColorMaterialGroupFactory_Vtbl {
471 pub base__: ::windows::core::IInspectable_Vtbl,
472 pub Create: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, materialgroupid: u32, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
473}
474#[doc(hidden)]
475#[repr(transparent)]
476pub struct IPrinting3DComponent(::windows::core::IUnknown);
477unsafe impl ::windows::core::Interface for IPrinting3DComponent {
478 type Vtable = IPrinting3DComponent_Vtbl;
479}
480impl ::core::clone::Clone for IPrinting3DComponent {
481 fn clone(&self) -> Self {
482 Self(self.0.clone())
483 }
484}
485unsafe impl ::windows::core::ComInterface for IPrinting3DComponent {
486 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x7e287845_bf7f_4cdb_a27f_30a01437fede);
487}
488#[repr(C)]
489#[doc(hidden)]
490pub struct IPrinting3DComponent_Vtbl {
491 pub base__: ::windows::core::IInspectable_Vtbl,
492 pub Mesh: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
493 pub SetMesh: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
494 #[cfg(feature = "Foundation_Collections")]
495 pub Components: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
496 #[cfg(not(feature = "Foundation_Collections"))]
497 Components: usize,
498 pub Thumbnail: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
499 pub SetThumbnail: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
500 pub Type: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut Printing3DObjectType) -> ::windows::core::HRESULT,
501 pub SetType: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: Printing3DObjectType) -> ::windows::core::HRESULT,
502 pub Name: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut ::std::mem::MaybeUninit<::windows::core::HSTRING>) -> ::windows::core::HRESULT,
503 pub SetName: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: ::std::mem::MaybeUninit<::windows::core::HSTRING>) -> ::windows::core::HRESULT,
504 pub PartNumber: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut ::std::mem::MaybeUninit<::windows::core::HSTRING>) -> ::windows::core::HRESULT,
505 pub SetPartNumber: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: ::std::mem::MaybeUninit<::windows::core::HSTRING>) -> ::windows::core::HRESULT,
506}
507#[doc(hidden)]
508#[repr(transparent)]
509pub struct IPrinting3DComponentWithMatrix(::windows::core::IUnknown);
510unsafe impl ::windows::core::Interface for IPrinting3DComponentWithMatrix {
511 type Vtable = IPrinting3DComponentWithMatrix_Vtbl;
512}
513impl ::core::clone::Clone for IPrinting3DComponentWithMatrix {
514 fn clone(&self) -> Self {
515 Self(self.0.clone())
516 }
517}
518unsafe impl ::windows::core::ComInterface for IPrinting3DComponentWithMatrix {
519 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x3279f335_0ef0_456b_9a21_49bebe8b51c2);
520}
521#[repr(C)]
522#[doc(hidden)]
523pub struct IPrinting3DComponentWithMatrix_Vtbl {
524 pub base__: ::windows::core::IInspectable_Vtbl,
525 pub Component: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
526 pub SetComponent: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
527 #[cfg(feature = "Foundation_Numerics")]
528 pub Matrix: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut super::super::Foundation::Numerics::Matrix4x4) -> ::windows::core::HRESULT,
529 #[cfg(not(feature = "Foundation_Numerics"))]
530 Matrix: usize,
531 #[cfg(feature = "Foundation_Numerics")]
532 pub SetMatrix: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: super::super::Foundation::Numerics::Matrix4x4) -> ::windows::core::HRESULT,
533 #[cfg(not(feature = "Foundation_Numerics"))]
534 SetMatrix: usize,
535}
536#[doc(hidden)]
537#[repr(transparent)]
538pub struct IPrinting3DCompositeMaterial(::windows::core::IUnknown);
539unsafe impl ::windows::core::Interface for IPrinting3DCompositeMaterial {
540 type Vtable = IPrinting3DCompositeMaterial_Vtbl;
541}
542impl ::core::clone::Clone for IPrinting3DCompositeMaterial {
543 fn clone(&self) -> Self {
544 Self(self.0.clone())
545 }
546}
547unsafe impl ::windows::core::ComInterface for IPrinting3DCompositeMaterial {
548 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x462238dd_562e_4f6c_882d_f4d841fd63c7);
549}
550#[repr(C)]
551#[doc(hidden)]
552pub struct IPrinting3DCompositeMaterial_Vtbl {
553 pub base__: ::windows::core::IInspectable_Vtbl,
554 #[cfg(feature = "Foundation_Collections")]
555 pub Values: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
556 #[cfg(not(feature = "Foundation_Collections"))]
557 Values: usize,
558}
559#[doc(hidden)]
560#[repr(transparent)]
561pub struct IPrinting3DCompositeMaterialGroup(::windows::core::IUnknown);
562unsafe impl ::windows::core::Interface for IPrinting3DCompositeMaterialGroup {
563 type Vtable = IPrinting3DCompositeMaterialGroup_Vtbl;
564}
565impl ::core::clone::Clone for IPrinting3DCompositeMaterialGroup {
566 fn clone(&self) -> Self {
567 Self(self.0.clone())
568 }
569}
570unsafe impl ::windows::core::ComInterface for IPrinting3DCompositeMaterialGroup {
571 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x8d946a5b_40f1_496d_a5fb_340a5a678e30);
572}
573#[repr(C)]
574#[doc(hidden)]
575pub struct IPrinting3DCompositeMaterialGroup_Vtbl {
576 pub base__: ::windows::core::IInspectable_Vtbl,
577 #[cfg(feature = "Foundation_Collections")]
578 pub Composites: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
579 #[cfg(not(feature = "Foundation_Collections"))]
580 Composites: usize,
581 pub MaterialGroupId: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut u32) -> ::windows::core::HRESULT,
582 #[cfg(feature = "Foundation_Collections")]
583 pub MaterialIndices: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
584 #[cfg(not(feature = "Foundation_Collections"))]
585 MaterialIndices: usize,
586}
587#[doc(hidden)]
588#[repr(transparent)]
589pub struct IPrinting3DCompositeMaterialGroup2(::windows::core::IUnknown);
590unsafe impl ::windows::core::Interface for IPrinting3DCompositeMaterialGroup2 {
591 type Vtable = IPrinting3DCompositeMaterialGroup2_Vtbl;
592}
593impl ::core::clone::Clone for IPrinting3DCompositeMaterialGroup2 {
594 fn clone(&self) -> Self {
595 Self(self.0.clone())
596 }
597}
598unsafe impl ::windows::core::ComInterface for IPrinting3DCompositeMaterialGroup2 {
599 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x06e86d62_7d3b_41e1_944c_bafde4555483);
600}
601#[repr(C)]
602#[doc(hidden)]
603pub struct IPrinting3DCompositeMaterialGroup2_Vtbl {
604 pub base__: ::windows::core::IInspectable_Vtbl,
605 pub BaseMaterialGroup: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
606 pub SetBaseMaterialGroup: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
607}
608#[doc(hidden)]
609#[repr(transparent)]
610pub struct IPrinting3DCompositeMaterialGroupFactory(::windows::core::IUnknown);
611unsafe impl ::windows::core::Interface for IPrinting3DCompositeMaterialGroupFactory {
612 type Vtable = IPrinting3DCompositeMaterialGroupFactory_Vtbl;
613}
614impl ::core::clone::Clone for IPrinting3DCompositeMaterialGroupFactory {
615 fn clone(&self) -> Self {
616 Self(self.0.clone())
617 }
618}
619unsafe impl ::windows::core::ComInterface for IPrinting3DCompositeMaterialGroupFactory {
620 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xd08ecd13_92ff_43aa_a627_8d43c22c817e);
621}
622#[repr(C)]
623#[doc(hidden)]
624pub struct IPrinting3DCompositeMaterialGroupFactory_Vtbl {
625 pub base__: ::windows::core::IInspectable_Vtbl,
626 pub Create: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, materialgroupid: u32, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
627}
628#[doc(hidden)]
629#[repr(transparent)]
630pub struct IPrinting3DFaceReductionOptions(::windows::core::IUnknown);
631unsafe impl ::windows::core::Interface for IPrinting3DFaceReductionOptions {
632 type Vtable = IPrinting3DFaceReductionOptions_Vtbl;
633}
634impl ::core::clone::Clone for IPrinting3DFaceReductionOptions {
635 fn clone(&self) -> Self {
636 Self(self.0.clone())
637 }
638}
639unsafe impl ::windows::core::ComInterface for IPrinting3DFaceReductionOptions {
640 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xbbfed397_2d74_46f7_be85_99a67bbb6629);
641}
642#[repr(C)]
643#[doc(hidden)]
644pub struct IPrinting3DFaceReductionOptions_Vtbl {
645 pub base__: ::windows::core::IInspectable_Vtbl,
646 pub MaxReductionArea: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut f64) -> ::windows::core::HRESULT,
647 pub SetMaxReductionArea: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: f64) -> ::windows::core::HRESULT,
648 pub TargetTriangleCount: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut u32) -> ::windows::core::HRESULT,
649 pub SetTargetTriangleCount: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: u32) -> ::windows::core::HRESULT,
650 pub MaxEdgeLength: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut f64) -> ::windows::core::HRESULT,
651 pub SetMaxEdgeLength: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: f64) -> ::windows::core::HRESULT,
652}
653#[doc(hidden)]
654#[repr(transparent)]
655pub struct IPrinting3DMaterial(::windows::core::IUnknown);
656unsafe impl ::windows::core::Interface for IPrinting3DMaterial {
657 type Vtable = IPrinting3DMaterial_Vtbl;
658}
659impl ::core::clone::Clone for IPrinting3DMaterial {
660 fn clone(&self) -> Self {
661 Self(self.0.clone())
662 }
663}
664unsafe impl ::windows::core::ComInterface for IPrinting3DMaterial {
665 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x378db256_ed62_4952_b85b_03567d7c465e);
666}
667#[repr(C)]
668#[doc(hidden)]
669pub struct IPrinting3DMaterial_Vtbl {
670 pub base__: ::windows::core::IInspectable_Vtbl,
671 #[cfg(feature = "Foundation_Collections")]
672 pub BaseGroups: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
673 #[cfg(not(feature = "Foundation_Collections"))]
674 BaseGroups: usize,
675 #[cfg(feature = "Foundation_Collections")]
676 pub ColorGroups: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
677 #[cfg(not(feature = "Foundation_Collections"))]
678 ColorGroups: usize,
679 #[cfg(feature = "Foundation_Collections")]
680 pub Texture2CoordGroups: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
681 #[cfg(not(feature = "Foundation_Collections"))]
682 Texture2CoordGroups: usize,
683 #[cfg(feature = "Foundation_Collections")]
684 pub CompositeGroups: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
685 #[cfg(not(feature = "Foundation_Collections"))]
686 CompositeGroups: usize,
687 #[cfg(feature = "Foundation_Collections")]
688 pub MultiplePropertyGroups: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
689 #[cfg(not(feature = "Foundation_Collections"))]
690 MultiplePropertyGroups: usize,
691}
692#[doc(hidden)]
693#[repr(transparent)]
694pub struct IPrinting3DMesh(::windows::core::IUnknown);
695unsafe impl ::windows::core::Interface for IPrinting3DMesh {
696 type Vtable = IPrinting3DMesh_Vtbl;
697}
698impl ::core::clone::Clone for IPrinting3DMesh {
699 fn clone(&self) -> Self {
700 Self(self.0.clone())
701 }
702}
703unsafe impl ::windows::core::ComInterface for IPrinting3DMesh {
704 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x192e90dc_0228_2e01_bc20_c5290cbf32c4);
705}
706#[repr(C)]
707#[doc(hidden)]
708pub struct IPrinting3DMesh_Vtbl {
709 pub base__: ::windows::core::IInspectable_Vtbl,
710 pub VertexCount: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut u32) -> ::windows::core::HRESULT,
711 pub SetVertexCount: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: u32) -> ::windows::core::HRESULT,
712 pub IndexCount: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut u32) -> ::windows::core::HRESULT,
713 pub SetIndexCount: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: u32) -> ::windows::core::HRESULT,
714 pub VertexPositionsDescription: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut Printing3DBufferDescription) -> ::windows::core::HRESULT,
715 pub SetVertexPositionsDescription: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: Printing3DBufferDescription) -> ::windows::core::HRESULT,
716 pub VertexNormalsDescription: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut Printing3DBufferDescription) -> ::windows::core::HRESULT,
717 pub SetVertexNormalsDescription: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: Printing3DBufferDescription) -> ::windows::core::HRESULT,
718 pub TriangleIndicesDescription: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut Printing3DBufferDescription) -> ::windows::core::HRESULT,
719 pub SetTriangleIndicesDescription: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: Printing3DBufferDescription) -> ::windows::core::HRESULT,
720 pub TriangleMaterialIndicesDescription: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut Printing3DBufferDescription) -> ::windows::core::HRESULT,
721 pub SetTriangleMaterialIndicesDescription: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: Printing3DBufferDescription) -> ::windows::core::HRESULT,
722 #[cfg(feature = "Storage_Streams")]
723 pub GetVertexPositions: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
724 #[cfg(not(feature = "Storage_Streams"))]
725 GetVertexPositions: usize,
726 pub CreateVertexPositions: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: u32) -> ::windows::core::HRESULT,
727 #[cfg(feature = "Storage_Streams")]
728 pub GetVertexNormals: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
729 #[cfg(not(feature = "Storage_Streams"))]
730 GetVertexNormals: usize,
731 pub CreateVertexNormals: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: u32) -> ::windows::core::HRESULT,
732 #[cfg(feature = "Storage_Streams")]
733 pub GetTriangleIndices: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
734 #[cfg(not(feature = "Storage_Streams"))]
735 GetTriangleIndices: usize,
736 pub CreateTriangleIndices: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: u32) -> ::windows::core::HRESULT,
737 #[cfg(feature = "Storage_Streams")]
738 pub GetTriangleMaterialIndices: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
739 #[cfg(not(feature = "Storage_Streams"))]
740 GetTriangleMaterialIndices: usize,
741 pub CreateTriangleMaterialIndices: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: u32) -> ::windows::core::HRESULT,
742 #[cfg(feature = "Foundation_Collections")]
743 pub BufferDescriptionSet: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
744 #[cfg(not(feature = "Foundation_Collections"))]
745 BufferDescriptionSet: usize,
746 #[cfg(feature = "Foundation_Collections")]
747 pub BufferSet: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
748 #[cfg(not(feature = "Foundation_Collections"))]
749 BufferSet: usize,
750 #[cfg(feature = "Foundation")]
751 pub VerifyAsync: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: Printing3DMeshVerificationMode, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
752 #[cfg(not(feature = "Foundation"))]
753 VerifyAsync: usize,
754}
755#[doc(hidden)]
756#[repr(transparent)]
757pub struct IPrinting3DMeshVerificationResult(::windows::core::IUnknown);
758unsafe impl ::windows::core::Interface for IPrinting3DMeshVerificationResult {
759 type Vtable = IPrinting3DMeshVerificationResult_Vtbl;
760}
761impl ::core::clone::Clone for IPrinting3DMeshVerificationResult {
762 fn clone(&self) -> Self {
763 Self(self.0.clone())
764 }
765}
766unsafe impl ::windows::core::ComInterface for IPrinting3DMeshVerificationResult {
767 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x195671ba_e93a_4e8a_a46f_dea8e852197e);
768}
769#[repr(C)]
770#[doc(hidden)]
771pub struct IPrinting3DMeshVerificationResult_Vtbl {
772 pub base__: ::windows::core::IInspectable_Vtbl,
773 pub IsValid: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut bool) -> ::windows::core::HRESULT,
774 #[cfg(feature = "Foundation_Collections")]
775 pub NonmanifoldTriangles: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
776 #[cfg(not(feature = "Foundation_Collections"))]
777 NonmanifoldTriangles: usize,
778 #[cfg(feature = "Foundation_Collections")]
779 pub ReversedNormalTriangles: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
780 #[cfg(not(feature = "Foundation_Collections"))]
781 ReversedNormalTriangles: usize,
782}
783#[doc(hidden)]
784#[repr(transparent)]
785pub struct IPrinting3DModel(::windows::core::IUnknown);
786unsafe impl ::windows::core::Interface for IPrinting3DModel {
787 type Vtable = IPrinting3DModel_Vtbl;
788}
789impl ::core::clone::Clone for IPrinting3DModel {
790 fn clone(&self) -> Self {
791 Self(self.0.clone())
792 }
793}
794unsafe impl ::windows::core::ComInterface for IPrinting3DModel {
795 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x2d012ef0_52fb_919a_77b0_4b1a3b80324f);
796}
797#[repr(C)]
798#[doc(hidden)]
799pub struct IPrinting3DModel_Vtbl {
800 pub base__: ::windows::core::IInspectable_Vtbl,
801 pub Unit: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut Printing3DModelUnit) -> ::windows::core::HRESULT,
802 pub SetUnit: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: Printing3DModelUnit) -> ::windows::core::HRESULT,
803 #[cfg(feature = "Foundation_Collections")]
804 pub Textures: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
805 #[cfg(not(feature = "Foundation_Collections"))]
806 Textures: usize,
807 #[cfg(feature = "Foundation_Collections")]
808 pub Meshes: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
809 #[cfg(not(feature = "Foundation_Collections"))]
810 Meshes: usize,
811 #[cfg(feature = "Foundation_Collections")]
812 pub Components: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
813 #[cfg(not(feature = "Foundation_Collections"))]
814 Components: usize,
815 pub Material: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
816 pub SetMaterial: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
817 pub Build: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
818 pub SetBuild: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
819 pub Version: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut ::std::mem::MaybeUninit<::windows::core::HSTRING>) -> ::windows::core::HRESULT,
820 pub SetVersion: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: ::std::mem::MaybeUninit<::windows::core::HSTRING>) -> ::windows::core::HRESULT,
821 #[cfg(feature = "Foundation_Collections")]
822 pub RequiredExtensions: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
823 #[cfg(not(feature = "Foundation_Collections"))]
824 RequiredExtensions: usize,
825 #[cfg(feature = "Foundation_Collections")]
826 pub Metadata: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
827 #[cfg(not(feature = "Foundation_Collections"))]
828 Metadata: usize,
829 #[cfg(feature = "Foundation")]
830 pub RepairAsync: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
831 #[cfg(not(feature = "Foundation"))]
832 RepairAsync: usize,
833 pub Clone: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
834}
835#[doc(hidden)]
836#[repr(transparent)]
837pub struct IPrinting3DModel2(::windows::core::IUnknown);
838unsafe impl ::windows::core::Interface for IPrinting3DModel2 {
839 type Vtable = IPrinting3DModel2_Vtbl;
840}
841impl ::core::clone::Clone for IPrinting3DModel2 {
842 fn clone(&self) -> Self {
843 Self(self.0.clone())
844 }
845}
846unsafe impl ::windows::core::ComInterface for IPrinting3DModel2 {
847 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xc92069c7_c841_47f3_a84e_a149fd08b657);
848}
849#[repr(C)]
850#[doc(hidden)]
851pub struct IPrinting3DModel2_Vtbl {
852 pub base__: ::windows::core::IInspectable_Vtbl,
853 #[cfg(feature = "Foundation")]
854 pub TryPartialRepairAsync: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
855 #[cfg(not(feature = "Foundation"))]
856 TryPartialRepairAsync: usize,
857 #[cfg(feature = "Foundation")]
858 pub TryPartialRepairWithTimeAsync: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, maxwaittime: super::super::Foundation::TimeSpan, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
859 #[cfg(not(feature = "Foundation"))]
860 TryPartialRepairWithTimeAsync: usize,
861 #[cfg(feature = "Foundation")]
862 pub TryReduceFacesAsync: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
863 #[cfg(not(feature = "Foundation"))]
864 TryReduceFacesAsync: usize,
865 #[cfg(feature = "Foundation")]
866 pub TryReduceFacesWithOptionsAsync: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, printing3dfacereductionoptions: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
867 #[cfg(not(feature = "Foundation"))]
868 TryReduceFacesWithOptionsAsync: usize,
869 #[cfg(feature = "Foundation")]
870 pub TryReduceFacesWithOptionsAndTimeAsync: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, printing3dfacereductionoptions: *mut ::core::ffi::c_void, maxwait: super::super::Foundation::TimeSpan, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
871 #[cfg(not(feature = "Foundation"))]
872 TryReduceFacesWithOptionsAndTimeAsync: usize,
873 #[cfg(feature = "Foundation")]
874 pub RepairWithProgressAsync: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
875 #[cfg(not(feature = "Foundation"))]
876 RepairWithProgressAsync: usize,
877}
878#[doc(hidden)]
879#[repr(transparent)]
880pub struct IPrinting3DModelTexture(::windows::core::IUnknown);
881unsafe impl ::windows::core::Interface for IPrinting3DModelTexture {
882 type Vtable = IPrinting3DModelTexture_Vtbl;
883}
884impl ::core::clone::Clone for IPrinting3DModelTexture {
885 fn clone(&self) -> Self {
886 Self(self.0.clone())
887 }
888}
889unsafe impl ::windows::core::ComInterface for IPrinting3DModelTexture {
890 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x5dafcf01_b59d_483c_97bb_a4d546d1c75c);
891}
892#[repr(C)]
893#[doc(hidden)]
894pub struct IPrinting3DModelTexture_Vtbl {
895 pub base__: ::windows::core::IInspectable_Vtbl,
896 pub TextureResource: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
897 pub SetTextureResource: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
898 pub TileStyleU: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut Printing3DTextureEdgeBehavior) -> ::windows::core::HRESULT,
899 pub SetTileStyleU: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: Printing3DTextureEdgeBehavior) -> ::windows::core::HRESULT,
900 pub TileStyleV: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut Printing3DTextureEdgeBehavior) -> ::windows::core::HRESULT,
901 pub SetTileStyleV: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: Printing3DTextureEdgeBehavior) -> ::windows::core::HRESULT,
902}
903#[doc(hidden)]
904#[repr(transparent)]
905pub struct IPrinting3DMultiplePropertyMaterial(::windows::core::IUnknown);
906unsafe impl ::windows::core::Interface for IPrinting3DMultiplePropertyMaterial {
907 type Vtable = IPrinting3DMultiplePropertyMaterial_Vtbl;
908}
909impl ::core::clone::Clone for IPrinting3DMultiplePropertyMaterial {
910 fn clone(&self) -> Self {
911 Self(self.0.clone())
912 }
913}
914unsafe impl ::windows::core::ComInterface for IPrinting3DMultiplePropertyMaterial {
915 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x25a6254b_c6e9_484d_a214_a25e5776ba62);
916}
917#[repr(C)]
918#[doc(hidden)]
919pub struct IPrinting3DMultiplePropertyMaterial_Vtbl {
920 pub base__: ::windows::core::IInspectable_Vtbl,
921 #[cfg(feature = "Foundation_Collections")]
922 pub MaterialIndices: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
923 #[cfg(not(feature = "Foundation_Collections"))]
924 MaterialIndices: usize,
925}
926#[doc(hidden)]
927#[repr(transparent)]
928pub struct IPrinting3DMultiplePropertyMaterialGroup(::windows::core::IUnknown);
929unsafe impl ::windows::core::Interface for IPrinting3DMultiplePropertyMaterialGroup {
930 type Vtable = IPrinting3DMultiplePropertyMaterialGroup_Vtbl;
931}
932impl ::core::clone::Clone for IPrinting3DMultiplePropertyMaterialGroup {
933 fn clone(&self) -> Self {
934 Self(self.0.clone())
935 }
936}
937unsafe impl ::windows::core::ComInterface for IPrinting3DMultiplePropertyMaterialGroup {
938 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xf0950519_aeb9_4515_a39b_a088fbbb277c);
939}
940#[repr(C)]
941#[doc(hidden)]
942pub struct IPrinting3DMultiplePropertyMaterialGroup_Vtbl {
943 pub base__: ::windows::core::IInspectable_Vtbl,
944 #[cfg(feature = "Foundation_Collections")]
945 pub MultipleProperties: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
946 #[cfg(not(feature = "Foundation_Collections"))]
947 MultipleProperties: usize,
948 #[cfg(feature = "Foundation_Collections")]
949 pub MaterialGroupIndices: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
950 #[cfg(not(feature = "Foundation_Collections"))]
951 MaterialGroupIndices: usize,
952 pub MaterialGroupId: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut u32) -> ::windows::core::HRESULT,
953}
954#[doc(hidden)]
955#[repr(transparent)]
956pub struct IPrinting3DMultiplePropertyMaterialGroupFactory(::windows::core::IUnknown);
957unsafe impl ::windows::core::Interface for IPrinting3DMultiplePropertyMaterialGroupFactory {
958 type Vtable = IPrinting3DMultiplePropertyMaterialGroupFactory_Vtbl;
959}
960impl ::core::clone::Clone for IPrinting3DMultiplePropertyMaterialGroupFactory {
961 fn clone(&self) -> Self {
962 Self(self.0.clone())
963 }
964}
965unsafe impl ::windows::core::ComInterface for IPrinting3DMultiplePropertyMaterialGroupFactory {
966 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x323e196e_d4c6_451e_a814_4d78a210fe53);
967}
968#[repr(C)]
969#[doc(hidden)]
970pub struct IPrinting3DMultiplePropertyMaterialGroupFactory_Vtbl {
971 pub base__: ::windows::core::IInspectable_Vtbl,
972 pub Create: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, materialgroupid: u32, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
973}
974#[doc(hidden)]
975#[repr(transparent)]
976pub struct IPrinting3DTexture2CoordMaterial(::windows::core::IUnknown);
977unsafe impl ::windows::core::Interface for IPrinting3DTexture2CoordMaterial {
978 type Vtable = IPrinting3DTexture2CoordMaterial_Vtbl;
979}
980impl ::core::clone::Clone for IPrinting3DTexture2CoordMaterial {
981 fn clone(&self) -> Self {
982 Self(self.0.clone())
983 }
984}
985unsafe impl ::windows::core::ComInterface for IPrinting3DTexture2CoordMaterial {
986 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x8d844bfb_07e9_4986_9833_8dd3d48c6859);
987}
988#[repr(C)]
989#[doc(hidden)]
990pub struct IPrinting3DTexture2CoordMaterial_Vtbl {
991 pub base__: ::windows::core::IInspectable_Vtbl,
992 pub Texture: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
993 pub SetTexture: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
994 pub U: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut f64) -> ::windows::core::HRESULT,
995 pub SetU: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: f64) -> ::windows::core::HRESULT,
996 pub V: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut f64) -> ::windows::core::HRESULT,
997 pub SetV: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: f64) -> ::windows::core::HRESULT,
998}
999#[doc(hidden)]
1000#[repr(transparent)]
1001pub struct IPrinting3DTexture2CoordMaterialGroup(::windows::core::IUnknown);
1002unsafe impl ::windows::core::Interface for IPrinting3DTexture2CoordMaterialGroup {
1003 type Vtable = IPrinting3DTexture2CoordMaterialGroup_Vtbl;
1004}
1005impl ::core::clone::Clone for IPrinting3DTexture2CoordMaterialGroup {
1006 fn clone(&self) -> Self {
1007 Self(self.0.clone())
1008 }
1009}
1010unsafe impl ::windows::core::ComInterface for IPrinting3DTexture2CoordMaterialGroup {
1011 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x627d7ca7_6d90_4fb9_9fc4_9feff3dfa892);
1012}
1013#[repr(C)]
1014#[doc(hidden)]
1015pub struct IPrinting3DTexture2CoordMaterialGroup_Vtbl {
1016 pub base__: ::windows::core::IInspectable_Vtbl,
1017 #[cfg(feature = "Foundation_Collections")]
1018 pub Texture2Coords: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
1019 #[cfg(not(feature = "Foundation_Collections"))]
1020 Texture2Coords: usize,
1021 pub MaterialGroupId: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut u32) -> ::windows::core::HRESULT,
1022}
1023#[doc(hidden)]
1024#[repr(transparent)]
1025pub struct IPrinting3DTexture2CoordMaterialGroup2(::windows::core::IUnknown);
1026unsafe impl ::windows::core::Interface for IPrinting3DTexture2CoordMaterialGroup2 {
1027 type Vtable = IPrinting3DTexture2CoordMaterialGroup2_Vtbl;
1028}
1029impl ::core::clone::Clone for IPrinting3DTexture2CoordMaterialGroup2 {
1030 fn clone(&self) -> Self {
1031 Self(self.0.clone())
1032 }
1033}
1034unsafe impl ::windows::core::ComInterface for IPrinting3DTexture2CoordMaterialGroup2 {
1035 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x69fbdbba_b12e_429b_8386_df5284f6e80f);
1036}
1037#[repr(C)]
1038#[doc(hidden)]
1039pub struct IPrinting3DTexture2CoordMaterialGroup2_Vtbl {
1040 pub base__: ::windows::core::IInspectable_Vtbl,
1041 pub Texture: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
1042 pub SetTexture: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
1043}
1044#[doc(hidden)]
1045#[repr(transparent)]
1046pub struct IPrinting3DTexture2CoordMaterialGroupFactory(::windows::core::IUnknown);
1047unsafe impl ::windows::core::Interface for IPrinting3DTexture2CoordMaterialGroupFactory {
1048 type Vtable = IPrinting3DTexture2CoordMaterialGroupFactory_Vtbl;
1049}
1050impl ::core::clone::Clone for IPrinting3DTexture2CoordMaterialGroupFactory {
1051 fn clone(&self) -> Self {
1052 Self(self.0.clone())
1053 }
1054}
1055unsafe impl ::windows::core::ComInterface for IPrinting3DTexture2CoordMaterialGroupFactory {
1056 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xcbb049b0_468a_4c6f_b2a2_8eb8ba8dea48);
1057}
1058#[repr(C)]
1059#[doc(hidden)]
1060pub struct IPrinting3DTexture2CoordMaterialGroupFactory_Vtbl {
1061 pub base__: ::windows::core::IInspectable_Vtbl,
1062 pub Create: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, materialgroupid: u32, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
1063}
1064#[doc(hidden)]
1065#[repr(transparent)]
1066pub struct IPrinting3DTextureResource(::windows::core::IUnknown);
1067unsafe impl ::windows::core::Interface for IPrinting3DTextureResource {
1068 type Vtable = IPrinting3DTextureResource_Vtbl;
1069}
1070impl ::core::clone::Clone for IPrinting3DTextureResource {
1071 fn clone(&self) -> Self {
1072 Self(self.0.clone())
1073 }
1074}
1075unsafe impl ::windows::core::ComInterface for IPrinting3DTextureResource {
1076 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xa70df32d_6ab1_44ae_bc45_a27382c0d38c);
1077}
1078#[repr(C)]
1079#[doc(hidden)]
1080pub struct IPrinting3DTextureResource_Vtbl {
1081 pub base__: ::windows::core::IInspectable_Vtbl,
1082 #[cfg(feature = "Storage_Streams")]
1083 pub TextureData: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
1084 #[cfg(not(feature = "Storage_Streams"))]
1085 TextureData: usize,
1086 #[cfg(feature = "Storage_Streams")]
1087 pub SetTextureData: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
1088 #[cfg(not(feature = "Storage_Streams"))]
1089 SetTextureData: usize,
1090 pub Name: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut ::std::mem::MaybeUninit<::windows::core::HSTRING>) -> ::windows::core::HRESULT,
1091 pub SetName: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: ::std::mem::MaybeUninit<::windows::core::HSTRING>) -> ::windows::core::HRESULT,
1092}
1093#[doc = "*Required features: `\"Graphics_Printing3D\"`*"]
1094#[repr(transparent)]
1095pub struct Print3DManager(::windows::core::IUnknown);
1096impl Print3DManager {
1097 #[doc = "*Required features: `\"Foundation\"`*"]
1098 #[cfg(feature = "Foundation")]
1099 pub fn TaskRequested(&self, eventhandler: &super::super::Foundation::TypedEventHandler<Print3DManager, Print3DTaskRequestedEventArgs>) -> ::windows::core::Result<super::super::Foundation::EventRegistrationToken> {
1100 let this = self;
1101 unsafe {
1102 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::EventRegistrationToken>();
1103 (::windows::core::Interface::vtable(this).TaskRequested)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(eventhandler), &mut result__).from_abi(result__)
1104 }
1105 }
1106 #[doc = "*Required features: `\"Foundation\"`*"]
1107 #[cfg(feature = "Foundation")]
1108 pub fn RemoveTaskRequested(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows::core::Result<()> {
1109 let this = self;
1110 unsafe { (::windows::core::Interface::vtable(this).RemoveTaskRequested)(::windows::core::Interface::as_raw(this), token).ok() }
1111 }
1112 pub fn GetForCurrentView() -> ::windows::core::Result<Print3DManager> {
1113 Self::IPrint3DManagerStatics(|this| unsafe {
1114 let mut result__ = ::windows::core::zeroed::<Print3DManager>();
1115 (::windows::core::Interface::vtable(this).GetForCurrentView)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
1116 })
1117 }
1118 #[doc = "*Required features: `\"Foundation\"`*"]
1119 #[cfg(feature = "Foundation")]
1120 pub fn ShowPrintUIAsync() -> ::windows::core::Result<super::super::Foundation::IAsyncOperation<bool>> {
1121 Self::IPrint3DManagerStatics(|this| unsafe {
1122 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::IAsyncOperation<bool>>();
1123 (::windows::core::Interface::vtable(this).ShowPrintUIAsync)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
1124 })
1125 }
1126 #[doc(hidden)]
1127 pub fn IPrint3DManagerStatics<R, F: FnOnce(&IPrint3DManagerStatics) -> ::windows::core::Result<R>>(callback: F) -> ::windows::core::Result<R> {
1128 static SHARED: ::windows::imp::FactoryCache<Print3DManager, IPrint3DManagerStatics> = ::windows::imp::FactoryCache::new();
1129 SHARED.call(callback)
1130 }
1131}
1132impl ::core::cmp::PartialEq for Print3DManager {
1133 fn eq(&self, other: &Self) -> bool {
1134 self.0 == other.0
1135 }
1136}
1137impl ::core::cmp::Eq for Print3DManager {}
1138impl ::core::fmt::Debug for Print3DManager {
1139 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
1140 f.debug_tuple("Print3DManager").field(&self.0).finish()
1141 }
1142}
1143impl ::windows::core::RuntimeType for Print3DManager {
1144 const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"rc(Windows.Graphics.Printing3D.Print3DManager;{4d2fcb0a-7366-4971-8bd5-17c4e3e8c6c0})");
1145}
1146impl ::core::clone::Clone for Print3DManager {
1147 fn clone(&self) -> Self {
1148 Self(self.0.clone())
1149 }
1150}
1151unsafe impl ::windows::core::Interface for Print3DManager {
1152 type Vtable = IPrint3DManager_Vtbl;
1153}
1154unsafe impl ::windows::core::ComInterface for Print3DManager {
1155 const IID: ::windows::core::GUID = <IPrint3DManager as ::windows::core::ComInterface>::IID;
1156}
1157impl ::windows::core::RuntimeName for Print3DManager {
1158 const NAME: &'static str = "Windows.Graphics.Printing3D.Print3DManager";
1159}
1160::windows::imp::interface_hierarchy!(Print3DManager, ::windows::core::IUnknown, ::windows::core::IInspectable);
1161unsafe impl ::core::marker::Send for Print3DManager {}
1162unsafe impl ::core::marker::Sync for Print3DManager {}
1163#[doc = "*Required features: `\"Graphics_Printing3D\"`*"]
1164#[repr(transparent)]
1165pub struct Print3DTask(::windows::core::IUnknown);
1166impl Print3DTask {
1167 pub fn Source(&self) -> ::windows::core::Result<Printing3D3MFPackage> {
1168 let this = self;
1169 unsafe {
1170 let mut result__ = ::windows::core::zeroed::<Printing3D3MFPackage>();
1171 (::windows::core::Interface::vtable(this).Source)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
1172 }
1173 }
1174 #[doc = "*Required features: `\"Foundation\"`*"]
1175 #[cfg(feature = "Foundation")]
1176 pub fn Submitting(&self, eventhandler: &super::super::Foundation::TypedEventHandler<Print3DTask, ::windows::core::IInspectable>) -> ::windows::core::Result<super::super::Foundation::EventRegistrationToken> {
1177 let this = self;
1178 unsafe {
1179 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::EventRegistrationToken>();
1180 (::windows::core::Interface::vtable(this).Submitting)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(eventhandler), &mut result__).from_abi(result__)
1181 }
1182 }
1183 #[doc = "*Required features: `\"Foundation\"`*"]
1184 #[cfg(feature = "Foundation")]
1185 pub fn RemoveSubmitting(&self, eventcookie: super::super::Foundation::EventRegistrationToken) -> ::windows::core::Result<()> {
1186 let this = self;
1187 unsafe { (::windows::core::Interface::vtable(this).RemoveSubmitting)(::windows::core::Interface::as_raw(this), eventcookie).ok() }
1188 }
1189 #[doc = "*Required features: `\"Foundation\"`*"]
1190 #[cfg(feature = "Foundation")]
1191 pub fn Completed(&self, eventhandler: &super::super::Foundation::TypedEventHandler<Print3DTask, Print3DTaskCompletedEventArgs>) -> ::windows::core::Result<super::super::Foundation::EventRegistrationToken> {
1192 let this = self;
1193 unsafe {
1194 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::EventRegistrationToken>();
1195 (::windows::core::Interface::vtable(this).Completed)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(eventhandler), &mut result__).from_abi(result__)
1196 }
1197 }
1198 #[doc = "*Required features: `\"Foundation\"`*"]
1199 #[cfg(feature = "Foundation")]
1200 pub fn RemoveCompleted(&self, eventcookie: super::super::Foundation::EventRegistrationToken) -> ::windows::core::Result<()> {
1201 let this = self;
1202 unsafe { (::windows::core::Interface::vtable(this).RemoveCompleted)(::windows::core::Interface::as_raw(this), eventcookie).ok() }
1203 }
1204 #[doc = "*Required features: `\"Foundation\"`*"]
1205 #[cfg(feature = "Foundation")]
1206 pub fn SourceChanged(&self, eventhandler: &super::super::Foundation::TypedEventHandler<Print3DTask, Print3DTaskSourceChangedEventArgs>) -> ::windows::core::Result<super::super::Foundation::EventRegistrationToken> {
1207 let this = self;
1208 unsafe {
1209 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::EventRegistrationToken>();
1210 (::windows::core::Interface::vtable(this).SourceChanged)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(eventhandler), &mut result__).from_abi(result__)
1211 }
1212 }
1213 #[doc = "*Required features: `\"Foundation\"`*"]
1214 #[cfg(feature = "Foundation")]
1215 pub fn RemoveSourceChanged(&self, eventcookie: super::super::Foundation::EventRegistrationToken) -> ::windows::core::Result<()> {
1216 let this = self;
1217 unsafe { (::windows::core::Interface::vtable(this).RemoveSourceChanged)(::windows::core::Interface::as_raw(this), eventcookie).ok() }
1218 }
1219}
1220impl ::core::cmp::PartialEq for Print3DTask {
1221 fn eq(&self, other: &Self) -> bool {
1222 self.0 == other.0
1223 }
1224}
1225impl ::core::cmp::Eq for Print3DTask {}
1226impl ::core::fmt::Debug for Print3DTask {
1227 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
1228 f.debug_tuple("Print3DTask").field(&self.0).finish()
1229 }
1230}
1231impl ::windows::core::RuntimeType for Print3DTask {
1232 const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"rc(Windows.Graphics.Printing3D.Print3DTask;{8ce3d080-2118-4c28-80de-f426d70191ae})");
1233}
1234impl ::core::clone::Clone for Print3DTask {
1235 fn clone(&self) -> Self {
1236 Self(self.0.clone())
1237 }
1238}
1239unsafe impl ::windows::core::Interface for Print3DTask {
1240 type Vtable = IPrint3DTask_Vtbl;
1241}
1242unsafe impl ::windows::core::ComInterface for Print3DTask {
1243 const IID: ::windows::core::GUID = <IPrint3DTask as ::windows::core::ComInterface>::IID;
1244}
1245impl ::windows::core::RuntimeName for Print3DTask {
1246 const NAME: &'static str = "Windows.Graphics.Printing3D.Print3DTask";
1247}
1248::windows::imp::interface_hierarchy!(Print3DTask, ::windows::core::IUnknown, ::windows::core::IInspectable);
1249unsafe impl ::core::marker::Send for Print3DTask {}
1250unsafe impl ::core::marker::Sync for Print3DTask {}
1251#[doc = "*Required features: `\"Graphics_Printing3D\"`*"]
1252#[repr(transparent)]
1253pub struct Print3DTaskCompletedEventArgs(::windows::core::IUnknown);
1254impl Print3DTaskCompletedEventArgs {
1255 pub fn Completion(&self) -> ::windows::core::Result<Print3DTaskCompletion> {
1256 let this = self;
1257 unsafe {
1258 let mut result__ = ::windows::core::zeroed::<Print3DTaskCompletion>();
1259 (::windows::core::Interface::vtable(this).Completion)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
1260 }
1261 }
1262 pub fn ExtendedStatus(&self) -> ::windows::core::Result<Print3DTaskDetail> {
1263 let this = self;
1264 unsafe {
1265 let mut result__ = ::windows::core::zeroed::<Print3DTaskDetail>();
1266 (::windows::core::Interface::vtable(this).ExtendedStatus)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
1267 }
1268 }
1269}
1270impl ::core::cmp::PartialEq for Print3DTaskCompletedEventArgs {
1271 fn eq(&self, other: &Self) -> bool {
1272 self.0 == other.0
1273 }
1274}
1275impl ::core::cmp::Eq for Print3DTaskCompletedEventArgs {}
1276impl ::core::fmt::Debug for Print3DTaskCompletedEventArgs {
1277 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
1278 f.debug_tuple("Print3DTaskCompletedEventArgs").field(&self.0).finish()
1279 }
1280}
1281impl ::windows::core::RuntimeType for Print3DTaskCompletedEventArgs {
1282 const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"rc(Windows.Graphics.Printing3D.Print3DTaskCompletedEventArgs;{cc1914af-2614-4f1d-accc-d6fc4fda5455})");
1283}
1284impl ::core::clone::Clone for Print3DTaskCompletedEventArgs {
1285 fn clone(&self) -> Self {
1286 Self(self.0.clone())
1287 }
1288}
1289unsafe impl ::windows::core::Interface for Print3DTaskCompletedEventArgs {
1290 type Vtable = IPrint3DTaskCompletedEventArgs_Vtbl;
1291}
1292unsafe impl ::windows::core::ComInterface for Print3DTaskCompletedEventArgs {
1293 const IID: ::windows::core::GUID = <IPrint3DTaskCompletedEventArgs as ::windows::core::ComInterface>::IID;
1294}
1295impl ::windows::core::RuntimeName for Print3DTaskCompletedEventArgs {
1296 const NAME: &'static str = "Windows.Graphics.Printing3D.Print3DTaskCompletedEventArgs";
1297}
1298::windows::imp::interface_hierarchy!(Print3DTaskCompletedEventArgs, ::windows::core::IUnknown, ::windows::core::IInspectable);
1299unsafe impl ::core::marker::Send for Print3DTaskCompletedEventArgs {}
1300unsafe impl ::core::marker::Sync for Print3DTaskCompletedEventArgs {}
1301#[doc = "*Required features: `\"Graphics_Printing3D\"`*"]
1302#[repr(transparent)]
1303pub struct Print3DTaskRequest(::windows::core::IUnknown);
1304impl Print3DTaskRequest {
1305 pub fn CreateTask(&self, title: &::windows::core::HSTRING, printerid: &::windows::core::HSTRING, handler: &Print3DTaskSourceRequestedHandler) -> ::windows::core::Result<Print3DTask> {
1306 let this = self;
1307 unsafe {
1308 let mut result__ = ::windows::core::zeroed::<Print3DTask>();
1309 (::windows::core::Interface::vtable(this).CreateTask)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(title), ::core::mem::transmute_copy(printerid), ::core::mem::transmute_copy(handler), &mut result__).from_abi(result__)
1310 }
1311 }
1312}
1313impl ::core::cmp::PartialEq for Print3DTaskRequest {
1314 fn eq(&self, other: &Self) -> bool {
1315 self.0 == other.0
1316 }
1317}
1318impl ::core::cmp::Eq for Print3DTaskRequest {}
1319impl ::core::fmt::Debug for Print3DTaskRequest {
1320 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
1321 f.debug_tuple("Print3DTaskRequest").field(&self.0).finish()
1322 }
1323}
1324impl ::windows::core::RuntimeType for Print3DTaskRequest {
1325 const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"rc(Windows.Graphics.Printing3D.Print3DTaskRequest;{2595c46f-2245-4c5a-8731-0d604dc6bc3c})");
1326}
1327impl ::core::clone::Clone for Print3DTaskRequest {
1328 fn clone(&self) -> Self {
1329 Self(self.0.clone())
1330 }
1331}
1332unsafe impl ::windows::core::Interface for Print3DTaskRequest {
1333 type Vtable = IPrint3DTaskRequest_Vtbl;
1334}
1335unsafe impl ::windows::core::ComInterface for Print3DTaskRequest {
1336 const IID: ::windows::core::GUID = <IPrint3DTaskRequest as ::windows::core::ComInterface>::IID;
1337}
1338impl ::windows::core::RuntimeName for Print3DTaskRequest {
1339 const NAME: &'static str = "Windows.Graphics.Printing3D.Print3DTaskRequest";
1340}
1341::windows::imp::interface_hierarchy!(Print3DTaskRequest, ::windows::core::IUnknown, ::windows::core::IInspectable);
1342unsafe impl ::core::marker::Send for Print3DTaskRequest {}
1343unsafe impl ::core::marker::Sync for Print3DTaskRequest {}
1344#[doc = "*Required features: `\"Graphics_Printing3D\"`*"]
1345#[repr(transparent)]
1346pub struct Print3DTaskRequestedEventArgs(::windows::core::IUnknown);
1347impl Print3DTaskRequestedEventArgs {
1348 pub fn Request(&self) -> ::windows::core::Result<Print3DTaskRequest> {
1349 let this = self;
1350 unsafe {
1351 let mut result__ = ::windows::core::zeroed::<Print3DTaskRequest>();
1352 (::windows::core::Interface::vtable(this).Request)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
1353 }
1354 }
1355}
1356impl ::core::cmp::PartialEq for Print3DTaskRequestedEventArgs {
1357 fn eq(&self, other: &Self) -> bool {
1358 self.0 == other.0
1359 }
1360}
1361impl ::core::cmp::Eq for Print3DTaskRequestedEventArgs {}
1362impl ::core::fmt::Debug for Print3DTaskRequestedEventArgs {
1363 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
1364 f.debug_tuple("Print3DTaskRequestedEventArgs").field(&self.0).finish()
1365 }
1366}
1367impl ::windows::core::RuntimeType for Print3DTaskRequestedEventArgs {
1368 const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"rc(Windows.Graphics.Printing3D.Print3DTaskRequestedEventArgs;{150cb77f-18c5-40d7-9f40-fab3096e05a9})");
1369}
1370impl ::core::clone::Clone for Print3DTaskRequestedEventArgs {
1371 fn clone(&self) -> Self {
1372 Self(self.0.clone())
1373 }
1374}
1375unsafe impl ::windows::core::Interface for Print3DTaskRequestedEventArgs {
1376 type Vtable = IPrint3DTaskRequestedEventArgs_Vtbl;
1377}
1378unsafe impl ::windows::core::ComInterface for Print3DTaskRequestedEventArgs {
1379 const IID: ::windows::core::GUID = <IPrint3DTaskRequestedEventArgs as ::windows::core::ComInterface>::IID;
1380}
1381impl ::windows::core::RuntimeName for Print3DTaskRequestedEventArgs {
1382 const NAME: &'static str = "Windows.Graphics.Printing3D.Print3DTaskRequestedEventArgs";
1383}
1384::windows::imp::interface_hierarchy!(Print3DTaskRequestedEventArgs, ::windows::core::IUnknown, ::windows::core::IInspectable);
1385unsafe impl ::core::marker::Send for Print3DTaskRequestedEventArgs {}
1386unsafe impl ::core::marker::Sync for Print3DTaskRequestedEventArgs {}
1387#[doc = "*Required features: `\"Graphics_Printing3D\"`*"]
1388#[repr(transparent)]
1389pub struct Print3DTaskSourceChangedEventArgs(::windows::core::IUnknown);
1390impl Print3DTaskSourceChangedEventArgs {
1391 pub fn Source(&self) -> ::windows::core::Result<Printing3D3MFPackage> {
1392 let this = self;
1393 unsafe {
1394 let mut result__ = ::windows::core::zeroed::<Printing3D3MFPackage>();
1395 (::windows::core::Interface::vtable(this).Source)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
1396 }
1397 }
1398}
1399impl ::core::cmp::PartialEq for Print3DTaskSourceChangedEventArgs {
1400 fn eq(&self, other: &Self) -> bool {
1401 self.0 == other.0
1402 }
1403}
1404impl ::core::cmp::Eq for Print3DTaskSourceChangedEventArgs {}
1405impl ::core::fmt::Debug for Print3DTaskSourceChangedEventArgs {
1406 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
1407 f.debug_tuple("Print3DTaskSourceChangedEventArgs").field(&self.0).finish()
1408 }
1409}
1410impl ::windows::core::RuntimeType for Print3DTaskSourceChangedEventArgs {
1411 const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"rc(Windows.Graphics.Printing3D.Print3DTaskSourceChangedEventArgs;{5bcd34af-24e9-4c10-8d07-14c346ba3fcf})");
1412}
1413impl ::core::clone::Clone for Print3DTaskSourceChangedEventArgs {
1414 fn clone(&self) -> Self {
1415 Self(self.0.clone())
1416 }
1417}
1418unsafe impl ::windows::core::Interface for Print3DTaskSourceChangedEventArgs {
1419 type Vtable = IPrint3DTaskSourceChangedEventArgs_Vtbl;
1420}
1421unsafe impl ::windows::core::ComInterface for Print3DTaskSourceChangedEventArgs {
1422 const IID: ::windows::core::GUID = <IPrint3DTaskSourceChangedEventArgs as ::windows::core::ComInterface>::IID;
1423}
1424impl ::windows::core::RuntimeName for Print3DTaskSourceChangedEventArgs {
1425 const NAME: &'static str = "Windows.Graphics.Printing3D.Print3DTaskSourceChangedEventArgs";
1426}
1427::windows::imp::interface_hierarchy!(Print3DTaskSourceChangedEventArgs, ::windows::core::IUnknown, ::windows::core::IInspectable);
1428unsafe impl ::core::marker::Send for Print3DTaskSourceChangedEventArgs {}
1429unsafe impl ::core::marker::Sync for Print3DTaskSourceChangedEventArgs {}
1430#[doc = "*Required features: `\"Graphics_Printing3D\"`*"]
1431#[repr(transparent)]
1432pub struct Print3DTaskSourceRequestedArgs(::windows::core::IUnknown);
1433impl Print3DTaskSourceRequestedArgs {
1434 pub fn SetSource(&self, source: &Printing3D3MFPackage) -> ::windows::core::Result<()> {
1435 let this = self;
1436 unsafe { (::windows::core::Interface::vtable(this).SetSource)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(source)).ok() }
1437 }
1438}
1439impl ::core::cmp::PartialEq for Print3DTaskSourceRequestedArgs {
1440 fn eq(&self, other: &Self) -> bool {
1441 self.0 == other.0
1442 }
1443}
1444impl ::core::cmp::Eq for Print3DTaskSourceRequestedArgs {}
1445impl ::core::fmt::Debug for Print3DTaskSourceRequestedArgs {
1446 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
1447 f.debug_tuple("Print3DTaskSourceRequestedArgs").field(&self.0).finish()
1448 }
1449}
1450impl ::windows::core::RuntimeType for Print3DTaskSourceRequestedArgs {
1451 const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"rc(Windows.Graphics.Printing3D.Print3DTaskSourceRequestedArgs;{c77c9aba-24af-424d-a3bf-92250c355602})");
1452}
1453impl ::core::clone::Clone for Print3DTaskSourceRequestedArgs {
1454 fn clone(&self) -> Self {
1455 Self(self.0.clone())
1456 }
1457}
1458unsafe impl ::windows::core::Interface for Print3DTaskSourceRequestedArgs {
1459 type Vtable = IPrint3DTaskSourceRequestedArgs_Vtbl;
1460}
1461unsafe impl ::windows::core::ComInterface for Print3DTaskSourceRequestedArgs {
1462 const IID: ::windows::core::GUID = <IPrint3DTaskSourceRequestedArgs as ::windows::core::ComInterface>::IID;
1463}
1464impl ::windows::core::RuntimeName for Print3DTaskSourceRequestedArgs {
1465 const NAME: &'static str = "Windows.Graphics.Printing3D.Print3DTaskSourceRequestedArgs";
1466}
1467::windows::imp::interface_hierarchy!(Print3DTaskSourceRequestedArgs, ::windows::core::IUnknown, ::windows::core::IInspectable);
1468unsafe impl ::core::marker::Send for Print3DTaskSourceRequestedArgs {}
1469unsafe impl ::core::marker::Sync for Print3DTaskSourceRequestedArgs {}
1470#[doc = "*Required features: `\"Graphics_Printing3D\"`*"]
1471#[repr(transparent)]
1472pub struct Printing3D3MFPackage(::windows::core::IUnknown);
1473impl Printing3D3MFPackage {
1474 pub fn new() -> ::windows::core::Result<Self> {
1475 Self::IActivationFactory(|f| f.ActivateInstance::<Self>())
1476 }
1477 fn IActivationFactory<R, F: FnOnce(&::windows::imp::IGenericFactory) -> ::windows::core::Result<R>>(callback: F) -> ::windows::core::Result<R> {
1478 static SHARED: ::windows::imp::FactoryCache<Printing3D3MFPackage, ::windows::imp::IGenericFactory> = ::windows::imp::FactoryCache::new();
1479 SHARED.call(callback)
1480 }
1481 #[doc = "*Required features: `\"Foundation\"`, `\"Storage_Streams\"`*"]
1482 #[cfg(all(feature = "Foundation", feature = "Storage_Streams"))]
1483 pub fn SaveAsync(&self) -> ::windows::core::Result<super::super::Foundation::IAsyncOperation<super::super::Storage::Streams::IRandomAccessStream>> {
1484 let this = self;
1485 unsafe {
1486 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::IAsyncOperation<super::super::Storage::Streams::IRandomAccessStream>>();
1487 (::windows::core::Interface::vtable(this).SaveAsync)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
1488 }
1489 }
1490 #[doc = "*Required features: `\"Storage_Streams\"`*"]
1491 #[cfg(feature = "Storage_Streams")]
1492 pub fn PrintTicket(&self) -> ::windows::core::Result<super::super::Storage::Streams::IRandomAccessStream> {
1493 let this = self;
1494 unsafe {
1495 let mut result__ = ::windows::core::zeroed::<super::super::Storage::Streams::IRandomAccessStream>();
1496 (::windows::core::Interface::vtable(this).PrintTicket)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
1497 }
1498 }
1499 #[doc = "*Required features: `\"Storage_Streams\"`*"]
1500 #[cfg(feature = "Storage_Streams")]
1501 pub fn SetPrintTicket<P0>(&self, value: P0) -> ::windows::core::Result<()>
1502 where
1503 P0: ::windows::core::TryIntoParam<super::super::Storage::Streams::IRandomAccessStream>,
1504 {
1505 let this = self;
1506 unsafe { (::windows::core::Interface::vtable(this).SetPrintTicket)(::windows::core::Interface::as_raw(this), value.try_into_param()?.abi()).ok() }
1507 }
1508 #[doc = "*Required features: `\"Storage_Streams\"`*"]
1509 #[cfg(feature = "Storage_Streams")]
1510 pub fn ModelPart(&self) -> ::windows::core::Result<super::super::Storage::Streams::IRandomAccessStream> {
1511 let this = self;
1512 unsafe {
1513 let mut result__ = ::windows::core::zeroed::<super::super::Storage::Streams::IRandomAccessStream>();
1514 (::windows::core::Interface::vtable(this).ModelPart)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
1515 }
1516 }
1517 #[doc = "*Required features: `\"Storage_Streams\"`*"]
1518 #[cfg(feature = "Storage_Streams")]
1519 pub fn SetModelPart<P0>(&self, value: P0) -> ::windows::core::Result<()>
1520 where
1521 P0: ::windows::core::TryIntoParam<super::super::Storage::Streams::IRandomAccessStream>,
1522 {
1523 let this = self;
1524 unsafe { (::windows::core::Interface::vtable(this).SetModelPart)(::windows::core::Interface::as_raw(this), value.try_into_param()?.abi()).ok() }
1525 }
1526 pub fn Thumbnail(&self) -> ::windows::core::Result<Printing3DTextureResource> {
1527 let this = self;
1528 unsafe {
1529 let mut result__ = ::windows::core::zeroed::<Printing3DTextureResource>();
1530 (::windows::core::Interface::vtable(this).Thumbnail)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
1531 }
1532 }
1533 pub fn SetThumbnail(&self, value: &Printing3DTextureResource) -> ::windows::core::Result<()> {
1534 let this = self;
1535 unsafe { (::windows::core::Interface::vtable(this).SetThumbnail)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
1536 }
1537 #[doc = "*Required features: `\"Foundation_Collections\"`*"]
1538 #[cfg(feature = "Foundation_Collections")]
1539 pub fn Textures(&self) -> ::windows::core::Result<super::super::Foundation::Collections::IVector<Printing3DTextureResource>> {
1540 let this = self;
1541 unsafe {
1542 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::Collections::IVector<Printing3DTextureResource>>();
1543 (::windows::core::Interface::vtable(this).Textures)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
1544 }
1545 }
1546 #[doc = "*Required features: `\"Foundation\"`, `\"Storage_Streams\"`*"]
1547 #[cfg(all(feature = "Foundation", feature = "Storage_Streams"))]
1548 pub fn LoadModelFromPackageAsync<P0>(&self, value: P0) -> ::windows::core::Result<super::super::Foundation::IAsyncOperation<Printing3DModel>>
1549 where
1550 P0: ::windows::core::TryIntoParam<super::super::Storage::Streams::IRandomAccessStream>,
1551 {
1552 let this = self;
1553 unsafe {
1554 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::IAsyncOperation<Printing3DModel>>();
1555 (::windows::core::Interface::vtable(this).LoadModelFromPackageAsync)(::windows::core::Interface::as_raw(this), value.try_into_param()?.abi(), &mut result__).from_abi(result__)
1556 }
1557 }
1558 #[doc = "*Required features: `\"Foundation\"`*"]
1559 #[cfg(feature = "Foundation")]
1560 pub fn SaveModelToPackageAsync(&self, value: &Printing3DModel) -> ::windows::core::Result<super::super::Foundation::IAsyncAction> {
1561 let this = self;
1562 unsafe {
1563 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::IAsyncAction>();
1564 (::windows::core::Interface::vtable(this).SaveModelToPackageAsync)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value), &mut result__).from_abi(result__)
1565 }
1566 }
1567 pub fn Compression(&self) -> ::windows::core::Result<Printing3DPackageCompression> {
1568 let this = &::windows::core::ComInterface::cast::<IPrinting3D3MFPackage2>(self)?;
1569 unsafe {
1570 let mut result__ = ::windows::core::zeroed::<Printing3DPackageCompression>();
1571 (::windows::core::Interface::vtable(this).Compression)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
1572 }
1573 }
1574 pub fn SetCompression(&self, value: Printing3DPackageCompression) -> ::windows::core::Result<()> {
1575 let this = &::windows::core::ComInterface::cast::<IPrinting3D3MFPackage2>(self)?;
1576 unsafe { (::windows::core::Interface::vtable(this).SetCompression)(::windows::core::Interface::as_raw(this), value).ok() }
1577 }
1578 #[doc = "*Required features: `\"Foundation\"`, `\"Storage_Streams\"`*"]
1579 #[cfg(all(feature = "Foundation", feature = "Storage_Streams"))]
1580 pub fn LoadAsync<P0>(value: P0) -> ::windows::core::Result<super::super::Foundation::IAsyncOperation<Printing3D3MFPackage>>
1581 where
1582 P0: ::windows::core::TryIntoParam<super::super::Storage::Streams::IRandomAccessStream>,
1583 {
1584 Self::IPrinting3D3MFPackageStatics(|this| unsafe {
1585 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::IAsyncOperation<Printing3D3MFPackage>>();
1586 (::windows::core::Interface::vtable(this).LoadAsync)(::windows::core::Interface::as_raw(this), value.try_into_param()?.abi(), &mut result__).from_abi(result__)
1587 })
1588 }
1589 #[doc(hidden)]
1590 pub fn IPrinting3D3MFPackageStatics<R, F: FnOnce(&IPrinting3D3MFPackageStatics) -> ::windows::core::Result<R>>(callback: F) -> ::windows::core::Result<R> {
1591 static SHARED: ::windows::imp::FactoryCache<Printing3D3MFPackage, IPrinting3D3MFPackageStatics> = ::windows::imp::FactoryCache::new();
1592 SHARED.call(callback)
1593 }
1594}
1595impl ::core::cmp::PartialEq for Printing3D3MFPackage {
1596 fn eq(&self, other: &Self) -> bool {
1597 self.0 == other.0
1598 }
1599}
1600impl ::core::cmp::Eq for Printing3D3MFPackage {}
1601impl ::core::fmt::Debug for Printing3D3MFPackage {
1602 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
1603 f.debug_tuple("Printing3D3MFPackage").field(&self.0).finish()
1604 }
1605}
1606impl ::windows::core::RuntimeType for Printing3D3MFPackage {
1607 const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"rc(Windows.Graphics.Printing3D.Printing3D3MFPackage;{f64dd5c8-2ab7-45a9-a1b7-267e948d5b18})");
1608}
1609impl ::core::clone::Clone for Printing3D3MFPackage {
1610 fn clone(&self) -> Self {
1611 Self(self.0.clone())
1612 }
1613}
1614unsafe impl ::windows::core::Interface for Printing3D3MFPackage {
1615 type Vtable = IPrinting3D3MFPackage_Vtbl;
1616}
1617unsafe impl ::windows::core::ComInterface for Printing3D3MFPackage {
1618 const IID: ::windows::core::GUID = <IPrinting3D3MFPackage as ::windows::core::ComInterface>::IID;
1619}
1620impl ::windows::core::RuntimeName for Printing3D3MFPackage {
1621 const NAME: &'static str = "Windows.Graphics.Printing3D.Printing3D3MFPackage";
1622}
1623::windows::imp::interface_hierarchy!(Printing3D3MFPackage, ::windows::core::IUnknown, ::windows::core::IInspectable);
1624unsafe impl ::core::marker::Send for Printing3D3MFPackage {}
1625unsafe impl ::core::marker::Sync for Printing3D3MFPackage {}
1626#[doc = "*Required features: `\"Graphics_Printing3D\"`*"]
1627#[repr(transparent)]
1628pub struct Printing3DBaseMaterial(::windows::core::IUnknown);
1629impl Printing3DBaseMaterial {
1630 pub fn new() -> ::windows::core::Result<Self> {
1631 Self::IActivationFactory(|f| f.ActivateInstance::<Self>())
1632 }
1633 fn IActivationFactory<R, F: FnOnce(&::windows::imp::IGenericFactory) -> ::windows::core::Result<R>>(callback: F) -> ::windows::core::Result<R> {
1634 static SHARED: ::windows::imp::FactoryCache<Printing3DBaseMaterial, ::windows::imp::IGenericFactory> = ::windows::imp::FactoryCache::new();
1635 SHARED.call(callback)
1636 }
1637 pub fn Name(&self) -> ::windows::core::Result<::windows::core::HSTRING> {
1638 let this = self;
1639 unsafe {
1640 let mut result__ = ::windows::core::zeroed::<::windows::core::HSTRING>();
1641 (::windows::core::Interface::vtable(this).Name)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
1642 }
1643 }
1644 pub fn SetName(&self, value: &::windows::core::HSTRING) -> ::windows::core::Result<()> {
1645 let this = self;
1646 unsafe { (::windows::core::Interface::vtable(this).SetName)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
1647 }
1648 pub fn Color(&self) -> ::windows::core::Result<Printing3DColorMaterial> {
1649 let this = self;
1650 unsafe {
1651 let mut result__ = ::windows::core::zeroed::<Printing3DColorMaterial>();
1652 (::windows::core::Interface::vtable(this).Color)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
1653 }
1654 }
1655 pub fn SetColor(&self, value: &Printing3DColorMaterial) -> ::windows::core::Result<()> {
1656 let this = self;
1657 unsafe { (::windows::core::Interface::vtable(this).SetColor)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
1658 }
1659 pub fn Abs() -> ::windows::core::Result<::windows::core::HSTRING> {
1660 Self::IPrinting3DBaseMaterialStatics(|this| unsafe {
1661 let mut result__ = ::windows::core::zeroed::<::windows::core::HSTRING>();
1662 (::windows::core::Interface::vtable(this).Abs)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
1663 })
1664 }
1665 pub fn Pla() -> ::windows::core::Result<::windows::core::HSTRING> {
1666 Self::IPrinting3DBaseMaterialStatics(|this| unsafe {
1667 let mut result__ = ::windows::core::zeroed::<::windows::core::HSTRING>();
1668 (::windows::core::Interface::vtable(this).Pla)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
1669 })
1670 }
1671 #[doc(hidden)]
1672 pub fn IPrinting3DBaseMaterialStatics<R, F: FnOnce(&IPrinting3DBaseMaterialStatics) -> ::windows::core::Result<R>>(callback: F) -> ::windows::core::Result<R> {
1673 static SHARED: ::windows::imp::FactoryCache<Printing3DBaseMaterial, IPrinting3DBaseMaterialStatics> = ::windows::imp::FactoryCache::new();
1674 SHARED.call(callback)
1675 }
1676}
1677impl ::core::cmp::PartialEq for Printing3DBaseMaterial {
1678 fn eq(&self, other: &Self) -> bool {
1679 self.0 == other.0
1680 }
1681}
1682impl ::core::cmp::Eq for Printing3DBaseMaterial {}
1683impl ::core::fmt::Debug for Printing3DBaseMaterial {
1684 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
1685 f.debug_tuple("Printing3DBaseMaterial").field(&self.0).finish()
1686 }
1687}
1688impl ::windows::core::RuntimeType for Printing3DBaseMaterial {
1689 const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"rc(Windows.Graphics.Printing3D.Printing3DBaseMaterial;{d0f0e743-c50c-4bcb-9d04-fc16adcea2c9})");
1690}
1691impl ::core::clone::Clone for Printing3DBaseMaterial {
1692 fn clone(&self) -> Self {
1693 Self(self.0.clone())
1694 }
1695}
1696unsafe impl ::windows::core::Interface for Printing3DBaseMaterial {
1697 type Vtable = IPrinting3DBaseMaterial_Vtbl;
1698}
1699unsafe impl ::windows::core::ComInterface for Printing3DBaseMaterial {
1700 const IID: ::windows::core::GUID = <IPrinting3DBaseMaterial as ::windows::core::ComInterface>::IID;
1701}
1702impl ::windows::core::RuntimeName for Printing3DBaseMaterial {
1703 const NAME: &'static str = "Windows.Graphics.Printing3D.Printing3DBaseMaterial";
1704}
1705::windows::imp::interface_hierarchy!(Printing3DBaseMaterial, ::windows::core::IUnknown, ::windows::core::IInspectable);
1706unsafe impl ::core::marker::Send for Printing3DBaseMaterial {}
1707unsafe impl ::core::marker::Sync for Printing3DBaseMaterial {}
1708#[doc = "*Required features: `\"Graphics_Printing3D\"`*"]
1709#[repr(transparent)]
1710pub struct Printing3DBaseMaterialGroup(::windows::core::IUnknown);
1711impl Printing3DBaseMaterialGroup {
1712 #[doc = "*Required features: `\"Foundation_Collections\"`*"]
1713 #[cfg(feature = "Foundation_Collections")]
1714 pub fn Bases(&self) -> ::windows::core::Result<super::super::Foundation::Collections::IVector<Printing3DBaseMaterial>> {
1715 let this = self;
1716 unsafe {
1717 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::Collections::IVector<Printing3DBaseMaterial>>();
1718 (::windows::core::Interface::vtable(this).Bases)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
1719 }
1720 }
1721 pub fn MaterialGroupId(&self) -> ::windows::core::Result<u32> {
1722 let this = self;
1723 unsafe {
1724 let mut result__ = ::windows::core::zeroed::<u32>();
1725 (::windows::core::Interface::vtable(this).MaterialGroupId)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
1726 }
1727 }
1728 pub fn Create(materialgroupid: u32) -> ::windows::core::Result<Printing3DBaseMaterialGroup> {
1729 Self::IPrinting3DBaseMaterialGroupFactory(|this| unsafe {
1730 let mut result__ = ::windows::core::zeroed::<Printing3DBaseMaterialGroup>();
1731 (::windows::core::Interface::vtable(this).Create)(::windows::core::Interface::as_raw(this), materialgroupid, &mut result__).from_abi(result__)
1732 })
1733 }
1734 #[doc(hidden)]
1735 pub fn IPrinting3DBaseMaterialGroupFactory<R, F: FnOnce(&IPrinting3DBaseMaterialGroupFactory) -> ::windows::core::Result<R>>(callback: F) -> ::windows::core::Result<R> {
1736 static SHARED: ::windows::imp::FactoryCache<Printing3DBaseMaterialGroup, IPrinting3DBaseMaterialGroupFactory> = ::windows::imp::FactoryCache::new();
1737 SHARED.call(callback)
1738 }
1739}
1740impl ::core::cmp::PartialEq for Printing3DBaseMaterialGroup {
1741 fn eq(&self, other: &Self) -> bool {
1742 self.0 == other.0
1743 }
1744}
1745impl ::core::cmp::Eq for Printing3DBaseMaterialGroup {}
1746impl ::core::fmt::Debug for Printing3DBaseMaterialGroup {
1747 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
1748 f.debug_tuple("Printing3DBaseMaterialGroup").field(&self.0).finish()
1749 }
1750}
1751impl ::windows::core::RuntimeType for Printing3DBaseMaterialGroup {
1752 const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"rc(Windows.Graphics.Printing3D.Printing3DBaseMaterialGroup;{94f070b8-2515-4a8d-a1f0-d0fc13d06021})");
1753}
1754impl ::core::clone::Clone for Printing3DBaseMaterialGroup {
1755 fn clone(&self) -> Self {
1756 Self(self.0.clone())
1757 }
1758}
1759unsafe impl ::windows::core::Interface for Printing3DBaseMaterialGroup {
1760 type Vtable = IPrinting3DBaseMaterialGroup_Vtbl;
1761}
1762unsafe impl ::windows::core::ComInterface for Printing3DBaseMaterialGroup {
1763 const IID: ::windows::core::GUID = <IPrinting3DBaseMaterialGroup as ::windows::core::ComInterface>::IID;
1764}
1765impl ::windows::core::RuntimeName for Printing3DBaseMaterialGroup {
1766 const NAME: &'static str = "Windows.Graphics.Printing3D.Printing3DBaseMaterialGroup";
1767}
1768::windows::imp::interface_hierarchy!(Printing3DBaseMaterialGroup, ::windows::core::IUnknown, ::windows::core::IInspectable);
1769unsafe impl ::core::marker::Send for Printing3DBaseMaterialGroup {}
1770unsafe impl ::core::marker::Sync for Printing3DBaseMaterialGroup {}
1771#[doc = "*Required features: `\"Graphics_Printing3D\"`*"]
1772#[repr(transparent)]
1773pub struct Printing3DColorMaterial(::windows::core::IUnknown);
1774impl Printing3DColorMaterial {
1775 pub fn new() -> ::windows::core::Result<Self> {
1776 Self::IActivationFactory(|f| f.ActivateInstance::<Self>())
1777 }
1778 fn IActivationFactory<R, F: FnOnce(&::windows::imp::IGenericFactory) -> ::windows::core::Result<R>>(callback: F) -> ::windows::core::Result<R> {
1779 static SHARED: ::windows::imp::FactoryCache<Printing3DColorMaterial, ::windows::imp::IGenericFactory> = ::windows::imp::FactoryCache::new();
1780 SHARED.call(callback)
1781 }
1782 pub fn Value(&self) -> ::windows::core::Result<u32> {
1783 let this = self;
1784 unsafe {
1785 let mut result__ = ::windows::core::zeroed::<u32>();
1786 (::windows::core::Interface::vtable(this).Value)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
1787 }
1788 }
1789 pub fn SetValue(&self, value: u32) -> ::windows::core::Result<()> {
1790 let this = self;
1791 unsafe { (::windows::core::Interface::vtable(this).SetValue)(::windows::core::Interface::as_raw(this), value).ok() }
1792 }
1793 #[doc = "*Required features: `\"UI\"`*"]
1794 #[cfg(feature = "UI")]
1795 pub fn Color(&self) -> ::windows::core::Result<super::super::UI::Color> {
1796 let this = &::windows::core::ComInterface::cast::<IPrinting3DColorMaterial2>(self)?;
1797 unsafe {
1798 let mut result__ = ::windows::core::zeroed::<super::super::UI::Color>();
1799 (::windows::core::Interface::vtable(this).Color)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
1800 }
1801 }
1802 #[doc = "*Required features: `\"UI\"`*"]
1803 #[cfg(feature = "UI")]
1804 pub fn SetColor(&self, value: super::super::UI::Color) -> ::windows::core::Result<()> {
1805 let this = &::windows::core::ComInterface::cast::<IPrinting3DColorMaterial2>(self)?;
1806 unsafe { (::windows::core::Interface::vtable(this).SetColor)(::windows::core::Interface::as_raw(this), value).ok() }
1807 }
1808}
1809impl ::core::cmp::PartialEq for Printing3DColorMaterial {
1810 fn eq(&self, other: &Self) -> bool {
1811 self.0 == other.0
1812 }
1813}
1814impl ::core::cmp::Eq for Printing3DColorMaterial {}
1815impl ::core::fmt::Debug for Printing3DColorMaterial {
1816 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
1817 f.debug_tuple("Printing3DColorMaterial").field(&self.0).finish()
1818 }
1819}
1820impl ::windows::core::RuntimeType for Printing3DColorMaterial {
1821 const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"rc(Windows.Graphics.Printing3D.Printing3DColorMaterial;{e1899928-7ce7-4285-a35d-f145c9510c7b})");
1822}
1823impl ::core::clone::Clone for Printing3DColorMaterial {
1824 fn clone(&self) -> Self {
1825 Self(self.0.clone())
1826 }
1827}
1828unsafe impl ::windows::core::Interface for Printing3DColorMaterial {
1829 type Vtable = IPrinting3DColorMaterial_Vtbl;
1830}
1831unsafe impl ::windows::core::ComInterface for Printing3DColorMaterial {
1832 const IID: ::windows::core::GUID = <IPrinting3DColorMaterial as ::windows::core::ComInterface>::IID;
1833}
1834impl ::windows::core::RuntimeName for Printing3DColorMaterial {
1835 const NAME: &'static str = "Windows.Graphics.Printing3D.Printing3DColorMaterial";
1836}
1837::windows::imp::interface_hierarchy!(Printing3DColorMaterial, ::windows::core::IUnknown, ::windows::core::IInspectable);
1838unsafe impl ::core::marker::Send for Printing3DColorMaterial {}
1839unsafe impl ::core::marker::Sync for Printing3DColorMaterial {}
1840#[doc = "*Required features: `\"Graphics_Printing3D\"`*"]
1841#[repr(transparent)]
1842pub struct Printing3DColorMaterialGroup(::windows::core::IUnknown);
1843impl Printing3DColorMaterialGroup {
1844 #[doc = "*Required features: `\"Foundation_Collections\"`*"]
1845 #[cfg(feature = "Foundation_Collections")]
1846 pub fn Colors(&self) -> ::windows::core::Result<super::super::Foundation::Collections::IVector<Printing3DColorMaterial>> {
1847 let this = self;
1848 unsafe {
1849 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::Collections::IVector<Printing3DColorMaterial>>();
1850 (::windows::core::Interface::vtable(this).Colors)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
1851 }
1852 }
1853 pub fn MaterialGroupId(&self) -> ::windows::core::Result<u32> {
1854 let this = self;
1855 unsafe {
1856 let mut result__ = ::windows::core::zeroed::<u32>();
1857 (::windows::core::Interface::vtable(this).MaterialGroupId)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
1858 }
1859 }
1860 pub fn Create(materialgroupid: u32) -> ::windows::core::Result<Printing3DColorMaterialGroup> {
1861 Self::IPrinting3DColorMaterialGroupFactory(|this| unsafe {
1862 let mut result__ = ::windows::core::zeroed::<Printing3DColorMaterialGroup>();
1863 (::windows::core::Interface::vtable(this).Create)(::windows::core::Interface::as_raw(this), materialgroupid, &mut result__).from_abi(result__)
1864 })
1865 }
1866 #[doc(hidden)]
1867 pub fn IPrinting3DColorMaterialGroupFactory<R, F: FnOnce(&IPrinting3DColorMaterialGroupFactory) -> ::windows::core::Result<R>>(callback: F) -> ::windows::core::Result<R> {
1868 static SHARED: ::windows::imp::FactoryCache<Printing3DColorMaterialGroup, IPrinting3DColorMaterialGroupFactory> = ::windows::imp::FactoryCache::new();
1869 SHARED.call(callback)
1870 }
1871}
1872impl ::core::cmp::PartialEq for Printing3DColorMaterialGroup {
1873 fn eq(&self, other: &Self) -> bool {
1874 self.0 == other.0
1875 }
1876}
1877impl ::core::cmp::Eq for Printing3DColorMaterialGroup {}
1878impl ::core::fmt::Debug for Printing3DColorMaterialGroup {
1879 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
1880 f.debug_tuple("Printing3DColorMaterialGroup").field(&self.0).finish()
1881 }
1882}
1883impl ::windows::core::RuntimeType for Printing3DColorMaterialGroup {
1884 const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"rc(Windows.Graphics.Printing3D.Printing3DColorMaterialGroup;{001a6bd0-aadf-4226-afe9-f369a0b45004})");
1885}
1886impl ::core::clone::Clone for Printing3DColorMaterialGroup {
1887 fn clone(&self) -> Self {
1888 Self(self.0.clone())
1889 }
1890}
1891unsafe impl ::windows::core::Interface for Printing3DColorMaterialGroup {
1892 type Vtable = IPrinting3DColorMaterialGroup_Vtbl;
1893}
1894unsafe impl ::windows::core::ComInterface for Printing3DColorMaterialGroup {
1895 const IID: ::windows::core::GUID = <IPrinting3DColorMaterialGroup as ::windows::core::ComInterface>::IID;
1896}
1897impl ::windows::core::RuntimeName for Printing3DColorMaterialGroup {
1898 const NAME: &'static str = "Windows.Graphics.Printing3D.Printing3DColorMaterialGroup";
1899}
1900::windows::imp::interface_hierarchy!(Printing3DColorMaterialGroup, ::windows::core::IUnknown, ::windows::core::IInspectable);
1901unsafe impl ::core::marker::Send for Printing3DColorMaterialGroup {}
1902unsafe impl ::core::marker::Sync for Printing3DColorMaterialGroup {}
1903#[doc = "*Required features: `\"Graphics_Printing3D\"`*"]
1904#[repr(transparent)]
1905pub struct Printing3DComponent(::windows::core::IUnknown);
1906impl Printing3DComponent {
1907 pub fn new() -> ::windows::core::Result<Self> {
1908 Self::IActivationFactory(|f| f.ActivateInstance::<Self>())
1909 }
1910 fn IActivationFactory<R, F: FnOnce(&::windows::imp::IGenericFactory) -> ::windows::core::Result<R>>(callback: F) -> ::windows::core::Result<R> {
1911 static SHARED: ::windows::imp::FactoryCache<Printing3DComponent, ::windows::imp::IGenericFactory> = ::windows::imp::FactoryCache::new();
1912 SHARED.call(callback)
1913 }
1914 pub fn Mesh(&self) -> ::windows::core::Result<Printing3DMesh> {
1915 let this = self;
1916 unsafe {
1917 let mut result__ = ::windows::core::zeroed::<Printing3DMesh>();
1918 (::windows::core::Interface::vtable(this).Mesh)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
1919 }
1920 }
1921 pub fn SetMesh(&self, value: &Printing3DMesh) -> ::windows::core::Result<()> {
1922 let this = self;
1923 unsafe { (::windows::core::Interface::vtable(this).SetMesh)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
1924 }
1925 #[doc = "*Required features: `\"Foundation_Collections\"`*"]
1926 #[cfg(feature = "Foundation_Collections")]
1927 pub fn Components(&self) -> ::windows::core::Result<super::super::Foundation::Collections::IVector<Printing3DComponentWithMatrix>> {
1928 let this = self;
1929 unsafe {
1930 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::Collections::IVector<Printing3DComponentWithMatrix>>();
1931 (::windows::core::Interface::vtable(this).Components)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
1932 }
1933 }
1934 pub fn Thumbnail(&self) -> ::windows::core::Result<Printing3DTextureResource> {
1935 let this = self;
1936 unsafe {
1937 let mut result__ = ::windows::core::zeroed::<Printing3DTextureResource>();
1938 (::windows::core::Interface::vtable(this).Thumbnail)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
1939 }
1940 }
1941 pub fn SetThumbnail(&self, value: &Printing3DTextureResource) -> ::windows::core::Result<()> {
1942 let this = self;
1943 unsafe { (::windows::core::Interface::vtable(this).SetThumbnail)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
1944 }
1945 pub fn Type(&self) -> ::windows::core::Result<Printing3DObjectType> {
1946 let this = self;
1947 unsafe {
1948 let mut result__ = ::windows::core::zeroed::<Printing3DObjectType>();
1949 (::windows::core::Interface::vtable(this).Type)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
1950 }
1951 }
1952 pub fn SetType(&self, value: Printing3DObjectType) -> ::windows::core::Result<()> {
1953 let this = self;
1954 unsafe { (::windows::core::Interface::vtable(this).SetType)(::windows::core::Interface::as_raw(this), value).ok() }
1955 }
1956 pub fn Name(&self) -> ::windows::core::Result<::windows::core::HSTRING> {
1957 let this = self;
1958 unsafe {
1959 let mut result__ = ::windows::core::zeroed::<::windows::core::HSTRING>();
1960 (::windows::core::Interface::vtable(this).Name)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
1961 }
1962 }
1963 pub fn SetName(&self, value: &::windows::core::HSTRING) -> ::windows::core::Result<()> {
1964 let this = self;
1965 unsafe { (::windows::core::Interface::vtable(this).SetName)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
1966 }
1967 pub fn PartNumber(&self) -> ::windows::core::Result<::windows::core::HSTRING> {
1968 let this = self;
1969 unsafe {
1970 let mut result__ = ::windows::core::zeroed::<::windows::core::HSTRING>();
1971 (::windows::core::Interface::vtable(this).PartNumber)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
1972 }
1973 }
1974 pub fn SetPartNumber(&self, value: &::windows::core::HSTRING) -> ::windows::core::Result<()> {
1975 let this = self;
1976 unsafe { (::windows::core::Interface::vtable(this).SetPartNumber)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
1977 }
1978}
1979impl ::core::cmp::PartialEq for Printing3DComponent {
1980 fn eq(&self, other: &Self) -> bool {
1981 self.0 == other.0
1982 }
1983}
1984impl ::core::cmp::Eq for Printing3DComponent {}
1985impl ::core::fmt::Debug for Printing3DComponent {
1986 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
1987 f.debug_tuple("Printing3DComponent").field(&self.0).finish()
1988 }
1989}
1990impl ::windows::core::RuntimeType for Printing3DComponent {
1991 const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"rc(Windows.Graphics.Printing3D.Printing3DComponent;{7e287845-bf7f-4cdb-a27f-30a01437fede})");
1992}
1993impl ::core::clone::Clone for Printing3DComponent {
1994 fn clone(&self) -> Self {
1995 Self(self.0.clone())
1996 }
1997}
1998unsafe impl ::windows::core::Interface for Printing3DComponent {
1999 type Vtable = IPrinting3DComponent_Vtbl;
2000}
2001unsafe impl ::windows::core::ComInterface for Printing3DComponent {
2002 const IID: ::windows::core::GUID = <IPrinting3DComponent as ::windows::core::ComInterface>::IID;
2003}
2004impl ::windows::core::RuntimeName for Printing3DComponent {
2005 const NAME: &'static str = "Windows.Graphics.Printing3D.Printing3DComponent";
2006}
2007::windows::imp::interface_hierarchy!(Printing3DComponent, ::windows::core::IUnknown, ::windows::core::IInspectable);
2008unsafe impl ::core::marker::Send for Printing3DComponent {}
2009unsafe impl ::core::marker::Sync for Printing3DComponent {}
2010#[doc = "*Required features: `\"Graphics_Printing3D\"`*"]
2011#[repr(transparent)]
2012pub struct Printing3DComponentWithMatrix(::windows::core::IUnknown);
2013impl Printing3DComponentWithMatrix {
2014 pub fn new() -> ::windows::core::Result<Self> {
2015 Self::IActivationFactory(|f| f.ActivateInstance::<Self>())
2016 }
2017 fn IActivationFactory<R, F: FnOnce(&::windows::imp::IGenericFactory) -> ::windows::core::Result<R>>(callback: F) -> ::windows::core::Result<R> {
2018 static SHARED: ::windows::imp::FactoryCache<Printing3DComponentWithMatrix, ::windows::imp::IGenericFactory> = ::windows::imp::FactoryCache::new();
2019 SHARED.call(callback)
2020 }
2021 pub fn Component(&self) -> ::windows::core::Result<Printing3DComponent> {
2022 let this = self;
2023 unsafe {
2024 let mut result__ = ::windows::core::zeroed::<Printing3DComponent>();
2025 (::windows::core::Interface::vtable(this).Component)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
2026 }
2027 }
2028 pub fn SetComponent(&self, value: &Printing3DComponent) -> ::windows::core::Result<()> {
2029 let this = self;
2030 unsafe { (::windows::core::Interface::vtable(this).SetComponent)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
2031 }
2032 #[doc = "*Required features: `\"Foundation_Numerics\"`*"]
2033 #[cfg(feature = "Foundation_Numerics")]
2034 pub fn Matrix(&self) -> ::windows::core::Result<super::super::Foundation::Numerics::Matrix4x4> {
2035 let this = self;
2036 unsafe {
2037 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::Numerics::Matrix4x4>();
2038 (::windows::core::Interface::vtable(this).Matrix)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
2039 }
2040 }
2041 #[doc = "*Required features: `\"Foundation_Numerics\"`*"]
2042 #[cfg(feature = "Foundation_Numerics")]
2043 pub fn SetMatrix(&self, value: super::super::Foundation::Numerics::Matrix4x4) -> ::windows::core::Result<()> {
2044 let this = self;
2045 unsafe { (::windows::core::Interface::vtable(this).SetMatrix)(::windows::core::Interface::as_raw(this), value).ok() }
2046 }
2047}
2048impl ::core::cmp::PartialEq for Printing3DComponentWithMatrix {
2049 fn eq(&self, other: &Self) -> bool {
2050 self.0 == other.0
2051 }
2052}
2053impl ::core::cmp::Eq for Printing3DComponentWithMatrix {}
2054impl ::core::fmt::Debug for Printing3DComponentWithMatrix {
2055 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
2056 f.debug_tuple("Printing3DComponentWithMatrix").field(&self.0).finish()
2057 }
2058}
2059impl ::windows::core::RuntimeType for Printing3DComponentWithMatrix {
2060 const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"rc(Windows.Graphics.Printing3D.Printing3DComponentWithMatrix;{3279f335-0ef0-456b-9a21-49bebe8b51c2})");
2061}
2062impl ::core::clone::Clone for Printing3DComponentWithMatrix {
2063 fn clone(&self) -> Self {
2064 Self(self.0.clone())
2065 }
2066}
2067unsafe impl ::windows::core::Interface for Printing3DComponentWithMatrix {
2068 type Vtable = IPrinting3DComponentWithMatrix_Vtbl;
2069}
2070unsafe impl ::windows::core::ComInterface for Printing3DComponentWithMatrix {
2071 const IID: ::windows::core::GUID = <IPrinting3DComponentWithMatrix as ::windows::core::ComInterface>::IID;
2072}
2073impl ::windows::core::RuntimeName for Printing3DComponentWithMatrix {
2074 const NAME: &'static str = "Windows.Graphics.Printing3D.Printing3DComponentWithMatrix";
2075}
2076::windows::imp::interface_hierarchy!(Printing3DComponentWithMatrix, ::windows::core::IUnknown, ::windows::core::IInspectable);
2077unsafe impl ::core::marker::Send for Printing3DComponentWithMatrix {}
2078unsafe impl ::core::marker::Sync for Printing3DComponentWithMatrix {}
2079#[doc = "*Required features: `\"Graphics_Printing3D\"`*"]
2080#[repr(transparent)]
2081pub struct Printing3DCompositeMaterial(::windows::core::IUnknown);
2082impl Printing3DCompositeMaterial {
2083 pub fn new() -> ::windows::core::Result<Self> {
2084 Self::IActivationFactory(|f| f.ActivateInstance::<Self>())
2085 }
2086 fn IActivationFactory<R, F: FnOnce(&::windows::imp::IGenericFactory) -> ::windows::core::Result<R>>(callback: F) -> ::windows::core::Result<R> {
2087 static SHARED: ::windows::imp::FactoryCache<Printing3DCompositeMaterial, ::windows::imp::IGenericFactory> = ::windows::imp::FactoryCache::new();
2088 SHARED.call(callback)
2089 }
2090 #[doc = "*Required features: `\"Foundation_Collections\"`*"]
2091 #[cfg(feature = "Foundation_Collections")]
2092 pub fn Values(&self) -> ::windows::core::Result<super::super::Foundation::Collections::IVector<f64>> {
2093 let this = self;
2094 unsafe {
2095 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::Collections::IVector<f64>>();
2096 (::windows::core::Interface::vtable(this).Values)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
2097 }
2098 }
2099}
2100impl ::core::cmp::PartialEq for Printing3DCompositeMaterial {
2101 fn eq(&self, other: &Self) -> bool {
2102 self.0 == other.0
2103 }
2104}
2105impl ::core::cmp::Eq for Printing3DCompositeMaterial {}
2106impl ::core::fmt::Debug for Printing3DCompositeMaterial {
2107 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
2108 f.debug_tuple("Printing3DCompositeMaterial").field(&self.0).finish()
2109 }
2110}
2111impl ::windows::core::RuntimeType for Printing3DCompositeMaterial {
2112 const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"rc(Windows.Graphics.Printing3D.Printing3DCompositeMaterial;{462238dd-562e-4f6c-882d-f4d841fd63c7})");
2113}
2114impl ::core::clone::Clone for Printing3DCompositeMaterial {
2115 fn clone(&self) -> Self {
2116 Self(self.0.clone())
2117 }
2118}
2119unsafe impl ::windows::core::Interface for Printing3DCompositeMaterial {
2120 type Vtable = IPrinting3DCompositeMaterial_Vtbl;
2121}
2122unsafe impl ::windows::core::ComInterface for Printing3DCompositeMaterial {
2123 const IID: ::windows::core::GUID = <IPrinting3DCompositeMaterial as ::windows::core::ComInterface>::IID;
2124}
2125impl ::windows::core::RuntimeName for Printing3DCompositeMaterial {
2126 const NAME: &'static str = "Windows.Graphics.Printing3D.Printing3DCompositeMaterial";
2127}
2128::windows::imp::interface_hierarchy!(Printing3DCompositeMaterial, ::windows::core::IUnknown, ::windows::core::IInspectable);
2129unsafe impl ::core::marker::Send for Printing3DCompositeMaterial {}
2130unsafe impl ::core::marker::Sync for Printing3DCompositeMaterial {}
2131#[doc = "*Required features: `\"Graphics_Printing3D\"`*"]
2132#[repr(transparent)]
2133pub struct Printing3DCompositeMaterialGroup(::windows::core::IUnknown);
2134impl Printing3DCompositeMaterialGroup {
2135 #[doc = "*Required features: `\"Foundation_Collections\"`*"]
2136 #[cfg(feature = "Foundation_Collections")]
2137 pub fn Composites(&self) -> ::windows::core::Result<super::super::Foundation::Collections::IVector<Printing3DCompositeMaterial>> {
2138 let this = self;
2139 unsafe {
2140 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::Collections::IVector<Printing3DCompositeMaterial>>();
2141 (::windows::core::Interface::vtable(this).Composites)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
2142 }
2143 }
2144 pub fn MaterialGroupId(&self) -> ::windows::core::Result<u32> {
2145 let this = self;
2146 unsafe {
2147 let mut result__ = ::windows::core::zeroed::<u32>();
2148 (::windows::core::Interface::vtable(this).MaterialGroupId)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
2149 }
2150 }
2151 #[doc = "*Required features: `\"Foundation_Collections\"`*"]
2152 #[cfg(feature = "Foundation_Collections")]
2153 pub fn MaterialIndices(&self) -> ::windows::core::Result<super::super::Foundation::Collections::IVector<u32>> {
2154 let this = self;
2155 unsafe {
2156 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::Collections::IVector<u32>>();
2157 (::windows::core::Interface::vtable(this).MaterialIndices)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
2158 }
2159 }
2160 pub fn BaseMaterialGroup(&self) -> ::windows::core::Result<Printing3DBaseMaterialGroup> {
2161 let this = &::windows::core::ComInterface::cast::<IPrinting3DCompositeMaterialGroup2>(self)?;
2162 unsafe {
2163 let mut result__ = ::windows::core::zeroed::<Printing3DBaseMaterialGroup>();
2164 (::windows::core::Interface::vtable(this).BaseMaterialGroup)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
2165 }
2166 }
2167 pub fn SetBaseMaterialGroup(&self, value: &Printing3DBaseMaterialGroup) -> ::windows::core::Result<()> {
2168 let this = &::windows::core::ComInterface::cast::<IPrinting3DCompositeMaterialGroup2>(self)?;
2169 unsafe { (::windows::core::Interface::vtable(this).SetBaseMaterialGroup)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
2170 }
2171 pub fn Create(materialgroupid: u32) -> ::windows::core::Result<Printing3DCompositeMaterialGroup> {
2172 Self::IPrinting3DCompositeMaterialGroupFactory(|this| unsafe {
2173 let mut result__ = ::windows::core::zeroed::<Printing3DCompositeMaterialGroup>();
2174 (::windows::core::Interface::vtable(this).Create)(::windows::core::Interface::as_raw(this), materialgroupid, &mut result__).from_abi(result__)
2175 })
2176 }
2177 #[doc(hidden)]
2178 pub fn IPrinting3DCompositeMaterialGroupFactory<R, F: FnOnce(&IPrinting3DCompositeMaterialGroupFactory) -> ::windows::core::Result<R>>(callback: F) -> ::windows::core::Result<R> {
2179 static SHARED: ::windows::imp::FactoryCache<Printing3DCompositeMaterialGroup, IPrinting3DCompositeMaterialGroupFactory> = ::windows::imp::FactoryCache::new();
2180 SHARED.call(callback)
2181 }
2182}
2183impl ::core::cmp::PartialEq for Printing3DCompositeMaterialGroup {
2184 fn eq(&self, other: &Self) -> bool {
2185 self.0 == other.0
2186 }
2187}
2188impl ::core::cmp::Eq for Printing3DCompositeMaterialGroup {}
2189impl ::core::fmt::Debug for Printing3DCompositeMaterialGroup {
2190 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
2191 f.debug_tuple("Printing3DCompositeMaterialGroup").field(&self.0).finish()
2192 }
2193}
2194impl ::windows::core::RuntimeType for Printing3DCompositeMaterialGroup {
2195 const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"rc(Windows.Graphics.Printing3D.Printing3DCompositeMaterialGroup;{8d946a5b-40f1-496d-a5fb-340a5a678e30})");
2196}
2197impl ::core::clone::Clone for Printing3DCompositeMaterialGroup {
2198 fn clone(&self) -> Self {
2199 Self(self.0.clone())
2200 }
2201}
2202unsafe impl ::windows::core::Interface for Printing3DCompositeMaterialGroup {
2203 type Vtable = IPrinting3DCompositeMaterialGroup_Vtbl;
2204}
2205unsafe impl ::windows::core::ComInterface for Printing3DCompositeMaterialGroup {
2206 const IID: ::windows::core::GUID = <IPrinting3DCompositeMaterialGroup as ::windows::core::ComInterface>::IID;
2207}
2208impl ::windows::core::RuntimeName for Printing3DCompositeMaterialGroup {
2209 const NAME: &'static str = "Windows.Graphics.Printing3D.Printing3DCompositeMaterialGroup";
2210}
2211::windows::imp::interface_hierarchy!(Printing3DCompositeMaterialGroup, ::windows::core::IUnknown, ::windows::core::IInspectable);
2212unsafe impl ::core::marker::Send for Printing3DCompositeMaterialGroup {}
2213unsafe impl ::core::marker::Sync for Printing3DCompositeMaterialGroup {}
2214#[doc = "*Required features: `\"Graphics_Printing3D\"`*"]
2215#[repr(transparent)]
2216pub struct Printing3DFaceReductionOptions(::windows::core::IUnknown);
2217impl Printing3DFaceReductionOptions {
2218 pub fn new() -> ::windows::core::Result<Self> {
2219 Self::IActivationFactory(|f| f.ActivateInstance::<Self>())
2220 }
2221 fn IActivationFactory<R, F: FnOnce(&::windows::imp::IGenericFactory) -> ::windows::core::Result<R>>(callback: F) -> ::windows::core::Result<R> {
2222 static SHARED: ::windows::imp::FactoryCache<Printing3DFaceReductionOptions, ::windows::imp::IGenericFactory> = ::windows::imp::FactoryCache::new();
2223 SHARED.call(callback)
2224 }
2225 pub fn MaxReductionArea(&self) -> ::windows::core::Result<f64> {
2226 let this = self;
2227 unsafe {
2228 let mut result__ = ::windows::core::zeroed::<f64>();
2229 (::windows::core::Interface::vtable(this).MaxReductionArea)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
2230 }
2231 }
2232 pub fn SetMaxReductionArea(&self, value: f64) -> ::windows::core::Result<()> {
2233 let this = self;
2234 unsafe { (::windows::core::Interface::vtable(this).SetMaxReductionArea)(::windows::core::Interface::as_raw(this), value).ok() }
2235 }
2236 pub fn TargetTriangleCount(&self) -> ::windows::core::Result<u32> {
2237 let this = self;
2238 unsafe {
2239 let mut result__ = ::windows::core::zeroed::<u32>();
2240 (::windows::core::Interface::vtable(this).TargetTriangleCount)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
2241 }
2242 }
2243 pub fn SetTargetTriangleCount(&self, value: u32) -> ::windows::core::Result<()> {
2244 let this = self;
2245 unsafe { (::windows::core::Interface::vtable(this).SetTargetTriangleCount)(::windows::core::Interface::as_raw(this), value).ok() }
2246 }
2247 pub fn MaxEdgeLength(&self) -> ::windows::core::Result<f64> {
2248 let this = self;
2249 unsafe {
2250 let mut result__ = ::windows::core::zeroed::<f64>();
2251 (::windows::core::Interface::vtable(this).MaxEdgeLength)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
2252 }
2253 }
2254 pub fn SetMaxEdgeLength(&self, value: f64) -> ::windows::core::Result<()> {
2255 let this = self;
2256 unsafe { (::windows::core::Interface::vtable(this).SetMaxEdgeLength)(::windows::core::Interface::as_raw(this), value).ok() }
2257 }
2258}
2259impl ::core::cmp::PartialEq for Printing3DFaceReductionOptions {
2260 fn eq(&self, other: &Self) -> bool {
2261 self.0 == other.0
2262 }
2263}
2264impl ::core::cmp::Eq for Printing3DFaceReductionOptions {}
2265impl ::core::fmt::Debug for Printing3DFaceReductionOptions {
2266 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
2267 f.debug_tuple("Printing3DFaceReductionOptions").field(&self.0).finish()
2268 }
2269}
2270impl ::windows::core::RuntimeType for Printing3DFaceReductionOptions {
2271 const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"rc(Windows.Graphics.Printing3D.Printing3DFaceReductionOptions;{bbfed397-2d74-46f7-be85-99a67bbb6629})");
2272}
2273impl ::core::clone::Clone for Printing3DFaceReductionOptions {
2274 fn clone(&self) -> Self {
2275 Self(self.0.clone())
2276 }
2277}
2278unsafe impl ::windows::core::Interface for Printing3DFaceReductionOptions {
2279 type Vtable = IPrinting3DFaceReductionOptions_Vtbl;
2280}
2281unsafe impl ::windows::core::ComInterface for Printing3DFaceReductionOptions {
2282 const IID: ::windows::core::GUID = <IPrinting3DFaceReductionOptions as ::windows::core::ComInterface>::IID;
2283}
2284impl ::windows::core::RuntimeName for Printing3DFaceReductionOptions {
2285 const NAME: &'static str = "Windows.Graphics.Printing3D.Printing3DFaceReductionOptions";
2286}
2287::windows::imp::interface_hierarchy!(Printing3DFaceReductionOptions, ::windows::core::IUnknown, ::windows::core::IInspectable);
2288unsafe impl ::core::marker::Send for Printing3DFaceReductionOptions {}
2289unsafe impl ::core::marker::Sync for Printing3DFaceReductionOptions {}
2290#[doc = "*Required features: `\"Graphics_Printing3D\"`*"]
2291#[repr(transparent)]
2292pub struct Printing3DMaterial(::windows::core::IUnknown);
2293impl Printing3DMaterial {
2294 pub fn new() -> ::windows::core::Result<Self> {
2295 Self::IActivationFactory(|f| f.ActivateInstance::<Self>())
2296 }
2297 fn IActivationFactory<R, F: FnOnce(&::windows::imp::IGenericFactory) -> ::windows::core::Result<R>>(callback: F) -> ::windows::core::Result<R> {
2298 static SHARED: ::windows::imp::FactoryCache<Printing3DMaterial, ::windows::imp::IGenericFactory> = ::windows::imp::FactoryCache::new();
2299 SHARED.call(callback)
2300 }
2301 #[doc = "*Required features: `\"Foundation_Collections\"`*"]
2302 #[cfg(feature = "Foundation_Collections")]
2303 pub fn BaseGroups(&self) -> ::windows::core::Result<super::super::Foundation::Collections::IVector<Printing3DBaseMaterialGroup>> {
2304 let this = self;
2305 unsafe {
2306 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::Collections::IVector<Printing3DBaseMaterialGroup>>();
2307 (::windows::core::Interface::vtable(this).BaseGroups)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
2308 }
2309 }
2310 #[doc = "*Required features: `\"Foundation_Collections\"`*"]
2311 #[cfg(feature = "Foundation_Collections")]
2312 pub fn ColorGroups(&self) -> ::windows::core::Result<super::super::Foundation::Collections::IVector<Printing3DColorMaterialGroup>> {
2313 let this = self;
2314 unsafe {
2315 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::Collections::IVector<Printing3DColorMaterialGroup>>();
2316 (::windows::core::Interface::vtable(this).ColorGroups)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
2317 }
2318 }
2319 #[doc = "*Required features: `\"Foundation_Collections\"`*"]
2320 #[cfg(feature = "Foundation_Collections")]
2321 pub fn Texture2CoordGroups(&self) -> ::windows::core::Result<super::super::Foundation::Collections::IVector<Printing3DTexture2CoordMaterialGroup>> {
2322 let this = self;
2323 unsafe {
2324 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::Collections::IVector<Printing3DTexture2CoordMaterialGroup>>();
2325 (::windows::core::Interface::vtable(this).Texture2CoordGroups)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
2326 }
2327 }
2328 #[doc = "*Required features: `\"Foundation_Collections\"`*"]
2329 #[cfg(feature = "Foundation_Collections")]
2330 pub fn CompositeGroups(&self) -> ::windows::core::Result<super::super::Foundation::Collections::IVector<Printing3DCompositeMaterialGroup>> {
2331 let this = self;
2332 unsafe {
2333 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::Collections::IVector<Printing3DCompositeMaterialGroup>>();
2334 (::windows::core::Interface::vtable(this).CompositeGroups)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
2335 }
2336 }
2337 #[doc = "*Required features: `\"Foundation_Collections\"`*"]
2338 #[cfg(feature = "Foundation_Collections")]
2339 pub fn MultiplePropertyGroups(&self) -> ::windows::core::Result<super::super::Foundation::Collections::IVector<Printing3DMultiplePropertyMaterialGroup>> {
2340 let this = self;
2341 unsafe {
2342 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::Collections::IVector<Printing3DMultiplePropertyMaterialGroup>>();
2343 (::windows::core::Interface::vtable(this).MultiplePropertyGroups)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
2344 }
2345 }
2346}
2347impl ::core::cmp::PartialEq for Printing3DMaterial {
2348 fn eq(&self, other: &Self) -> bool {
2349 self.0 == other.0
2350 }
2351}
2352impl ::core::cmp::Eq for Printing3DMaterial {}
2353impl ::core::fmt::Debug for Printing3DMaterial {
2354 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
2355 f.debug_tuple("Printing3DMaterial").field(&self.0).finish()
2356 }
2357}
2358impl ::windows::core::RuntimeType for Printing3DMaterial {
2359 const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"rc(Windows.Graphics.Printing3D.Printing3DMaterial;{378db256-ed62-4952-b85b-03567d7c465e})");
2360}
2361impl ::core::clone::Clone for Printing3DMaterial {
2362 fn clone(&self) -> Self {
2363 Self(self.0.clone())
2364 }
2365}
2366unsafe impl ::windows::core::Interface for Printing3DMaterial {
2367 type Vtable = IPrinting3DMaterial_Vtbl;
2368}
2369unsafe impl ::windows::core::ComInterface for Printing3DMaterial {
2370 const IID: ::windows::core::GUID = <IPrinting3DMaterial as ::windows::core::ComInterface>::IID;
2371}
2372impl ::windows::core::RuntimeName for Printing3DMaterial {
2373 const NAME: &'static str = "Windows.Graphics.Printing3D.Printing3DMaterial";
2374}
2375::windows::imp::interface_hierarchy!(Printing3DMaterial, ::windows::core::IUnknown, ::windows::core::IInspectable);
2376unsafe impl ::core::marker::Send for Printing3DMaterial {}
2377unsafe impl ::core::marker::Sync for Printing3DMaterial {}
2378#[doc = "*Required features: `\"Graphics_Printing3D\"`*"]
2379#[repr(transparent)]
2380pub struct Printing3DMesh(::windows::core::IUnknown);
2381impl Printing3DMesh {
2382 pub fn new() -> ::windows::core::Result<Self> {
2383 Self::IActivationFactory(|f| f.ActivateInstance::<Self>())
2384 }
2385 fn IActivationFactory<R, F: FnOnce(&::windows::imp::IGenericFactory) -> ::windows::core::Result<R>>(callback: F) -> ::windows::core::Result<R> {
2386 static SHARED: ::windows::imp::FactoryCache<Printing3DMesh, ::windows::imp::IGenericFactory> = ::windows::imp::FactoryCache::new();
2387 SHARED.call(callback)
2388 }
2389 pub fn VertexCount(&self) -> ::windows::core::Result<u32> {
2390 let this = self;
2391 unsafe {
2392 let mut result__ = ::windows::core::zeroed::<u32>();
2393 (::windows::core::Interface::vtable(this).VertexCount)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
2394 }
2395 }
2396 pub fn SetVertexCount(&self, value: u32) -> ::windows::core::Result<()> {
2397 let this = self;
2398 unsafe { (::windows::core::Interface::vtable(this).SetVertexCount)(::windows::core::Interface::as_raw(this), value).ok() }
2399 }
2400 pub fn IndexCount(&self) -> ::windows::core::Result<u32> {
2401 let this = self;
2402 unsafe {
2403 let mut result__ = ::windows::core::zeroed::<u32>();
2404 (::windows::core::Interface::vtable(this).IndexCount)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
2405 }
2406 }
2407 pub fn SetIndexCount(&self, value: u32) -> ::windows::core::Result<()> {
2408 let this = self;
2409 unsafe { (::windows::core::Interface::vtable(this).SetIndexCount)(::windows::core::Interface::as_raw(this), value).ok() }
2410 }
2411 pub fn VertexPositionsDescription(&self) -> ::windows::core::Result<Printing3DBufferDescription> {
2412 let this = self;
2413 unsafe {
2414 let mut result__ = ::windows::core::zeroed::<Printing3DBufferDescription>();
2415 (::windows::core::Interface::vtable(this).VertexPositionsDescription)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
2416 }
2417 }
2418 pub fn SetVertexPositionsDescription(&self, value: Printing3DBufferDescription) -> ::windows::core::Result<()> {
2419 let this = self;
2420 unsafe { (::windows::core::Interface::vtable(this).SetVertexPositionsDescription)(::windows::core::Interface::as_raw(this), value).ok() }
2421 }
2422 pub fn VertexNormalsDescription(&self) -> ::windows::core::Result<Printing3DBufferDescription> {
2423 let this = self;
2424 unsafe {
2425 let mut result__ = ::windows::core::zeroed::<Printing3DBufferDescription>();
2426 (::windows::core::Interface::vtable(this).VertexNormalsDescription)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
2427 }
2428 }
2429 pub fn SetVertexNormalsDescription(&self, value: Printing3DBufferDescription) -> ::windows::core::Result<()> {
2430 let this = self;
2431 unsafe { (::windows::core::Interface::vtable(this).SetVertexNormalsDescription)(::windows::core::Interface::as_raw(this), value).ok() }
2432 }
2433 pub fn TriangleIndicesDescription(&self) -> ::windows::core::Result<Printing3DBufferDescription> {
2434 let this = self;
2435 unsafe {
2436 let mut result__ = ::windows::core::zeroed::<Printing3DBufferDescription>();
2437 (::windows::core::Interface::vtable(this).TriangleIndicesDescription)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
2438 }
2439 }
2440 pub fn SetTriangleIndicesDescription(&self, value: Printing3DBufferDescription) -> ::windows::core::Result<()> {
2441 let this = self;
2442 unsafe { (::windows::core::Interface::vtable(this).SetTriangleIndicesDescription)(::windows::core::Interface::as_raw(this), value).ok() }
2443 }
2444 pub fn TriangleMaterialIndicesDescription(&self) -> ::windows::core::Result<Printing3DBufferDescription> {
2445 let this = self;
2446 unsafe {
2447 let mut result__ = ::windows::core::zeroed::<Printing3DBufferDescription>();
2448 (::windows::core::Interface::vtable(this).TriangleMaterialIndicesDescription)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
2449 }
2450 }
2451 pub fn SetTriangleMaterialIndicesDescription(&self, value: Printing3DBufferDescription) -> ::windows::core::Result<()> {
2452 let this = self;
2453 unsafe { (::windows::core::Interface::vtable(this).SetTriangleMaterialIndicesDescription)(::windows::core::Interface::as_raw(this), value).ok() }
2454 }
2455 #[doc = "*Required features: `\"Storage_Streams\"`*"]
2456 #[cfg(feature = "Storage_Streams")]
2457 pub fn GetVertexPositions(&self) -> ::windows::core::Result<super::super::Storage::Streams::IBuffer> {
2458 let this = self;
2459 unsafe {
2460 let mut result__ = ::windows::core::zeroed::<super::super::Storage::Streams::IBuffer>();
2461 (::windows::core::Interface::vtable(this).GetVertexPositions)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
2462 }
2463 }
2464 pub fn CreateVertexPositions(&self, value: u32) -> ::windows::core::Result<()> {
2465 let this = self;
2466 unsafe { (::windows::core::Interface::vtable(this).CreateVertexPositions)(::windows::core::Interface::as_raw(this), value).ok() }
2467 }
2468 #[doc = "*Required features: `\"Storage_Streams\"`*"]
2469 #[cfg(feature = "Storage_Streams")]
2470 pub fn GetVertexNormals(&self) -> ::windows::core::Result<super::super::Storage::Streams::IBuffer> {
2471 let this = self;
2472 unsafe {
2473 let mut result__ = ::windows::core::zeroed::<super::super::Storage::Streams::IBuffer>();
2474 (::windows::core::Interface::vtable(this).GetVertexNormals)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
2475 }
2476 }
2477 pub fn CreateVertexNormals(&self, value: u32) -> ::windows::core::Result<()> {
2478 let this = self;
2479 unsafe { (::windows::core::Interface::vtable(this).CreateVertexNormals)(::windows::core::Interface::as_raw(this), value).ok() }
2480 }
2481 #[doc = "*Required features: `\"Storage_Streams\"`*"]
2482 #[cfg(feature = "Storage_Streams")]
2483 pub fn GetTriangleIndices(&self) -> ::windows::core::Result<super::super::Storage::Streams::IBuffer> {
2484 let this = self;
2485 unsafe {
2486 let mut result__ = ::windows::core::zeroed::<super::super::Storage::Streams::IBuffer>();
2487 (::windows::core::Interface::vtable(this).GetTriangleIndices)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
2488 }
2489 }
2490 pub fn CreateTriangleIndices(&self, value: u32) -> ::windows::core::Result<()> {
2491 let this = self;
2492 unsafe { (::windows::core::Interface::vtable(this).CreateTriangleIndices)(::windows::core::Interface::as_raw(this), value).ok() }
2493 }
2494 #[doc = "*Required features: `\"Storage_Streams\"`*"]
2495 #[cfg(feature = "Storage_Streams")]
2496 pub fn GetTriangleMaterialIndices(&self) -> ::windows::core::Result<super::super::Storage::Streams::IBuffer> {
2497 let this = self;
2498 unsafe {
2499 let mut result__ = ::windows::core::zeroed::<super::super::Storage::Streams::IBuffer>();
2500 (::windows::core::Interface::vtable(this).GetTriangleMaterialIndices)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
2501 }
2502 }
2503 pub fn CreateTriangleMaterialIndices(&self, value: u32) -> ::windows::core::Result<()> {
2504 let this = self;
2505 unsafe { (::windows::core::Interface::vtable(this).CreateTriangleMaterialIndices)(::windows::core::Interface::as_raw(this), value).ok() }
2506 }
2507 #[doc = "*Required features: `\"Foundation_Collections\"`*"]
2508 #[cfg(feature = "Foundation_Collections")]
2509 pub fn BufferDescriptionSet(&self) -> ::windows::core::Result<super::super::Foundation::Collections::IPropertySet> {
2510 let this = self;
2511 unsafe {
2512 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::Collections::IPropertySet>();
2513 (::windows::core::Interface::vtable(this).BufferDescriptionSet)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
2514 }
2515 }
2516 #[doc = "*Required features: `\"Foundation_Collections\"`*"]
2517 #[cfg(feature = "Foundation_Collections")]
2518 pub fn BufferSet(&self) -> ::windows::core::Result<super::super::Foundation::Collections::IPropertySet> {
2519 let this = self;
2520 unsafe {
2521 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::Collections::IPropertySet>();
2522 (::windows::core::Interface::vtable(this).BufferSet)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
2523 }
2524 }
2525 #[doc = "*Required features: `\"Foundation\"`*"]
2526 #[cfg(feature = "Foundation")]
2527 pub fn VerifyAsync(&self, value: Printing3DMeshVerificationMode) -> ::windows::core::Result<super::super::Foundation::IAsyncOperation<Printing3DMeshVerificationResult>> {
2528 let this = self;
2529 unsafe {
2530 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::IAsyncOperation<Printing3DMeshVerificationResult>>();
2531 (::windows::core::Interface::vtable(this).VerifyAsync)(::windows::core::Interface::as_raw(this), value, &mut result__).from_abi(result__)
2532 }
2533 }
2534}
2535impl ::core::cmp::PartialEq for Printing3DMesh {
2536 fn eq(&self, other: &Self) -> bool {
2537 self.0 == other.0
2538 }
2539}
2540impl ::core::cmp::Eq for Printing3DMesh {}
2541impl ::core::fmt::Debug for Printing3DMesh {
2542 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
2543 f.debug_tuple("Printing3DMesh").field(&self.0).finish()
2544 }
2545}
2546impl ::windows::core::RuntimeType for Printing3DMesh {
2547 const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"rc(Windows.Graphics.Printing3D.Printing3DMesh;{192e90dc-0228-2e01-bc20-c5290cbf32c4})");
2548}
2549impl ::core::clone::Clone for Printing3DMesh {
2550 fn clone(&self) -> Self {
2551 Self(self.0.clone())
2552 }
2553}
2554unsafe impl ::windows::core::Interface for Printing3DMesh {
2555 type Vtable = IPrinting3DMesh_Vtbl;
2556}
2557unsafe impl ::windows::core::ComInterface for Printing3DMesh {
2558 const IID: ::windows::core::GUID = <IPrinting3DMesh as ::windows::core::ComInterface>::IID;
2559}
2560impl ::windows::core::RuntimeName for Printing3DMesh {
2561 const NAME: &'static str = "Windows.Graphics.Printing3D.Printing3DMesh";
2562}
2563::windows::imp::interface_hierarchy!(Printing3DMesh, ::windows::core::IUnknown, ::windows::core::IInspectable);
2564unsafe impl ::core::marker::Send for Printing3DMesh {}
2565unsafe impl ::core::marker::Sync for Printing3DMesh {}
2566#[doc = "*Required features: `\"Graphics_Printing3D\"`*"]
2567#[repr(transparent)]
2568pub struct Printing3DMeshVerificationResult(::windows::core::IUnknown);
2569impl Printing3DMeshVerificationResult {
2570 pub fn IsValid(&self) -> ::windows::core::Result<bool> {
2571 let this = self;
2572 unsafe {
2573 let mut result__ = ::windows::core::zeroed::<bool>();
2574 (::windows::core::Interface::vtable(this).IsValid)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
2575 }
2576 }
2577 #[doc = "*Required features: `\"Foundation_Collections\"`*"]
2578 #[cfg(feature = "Foundation_Collections")]
2579 pub fn NonmanifoldTriangles(&self) -> ::windows::core::Result<super::super::Foundation::Collections::IVectorView<u32>> {
2580 let this = self;
2581 unsafe {
2582 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::Collections::IVectorView<u32>>();
2583 (::windows::core::Interface::vtable(this).NonmanifoldTriangles)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
2584 }
2585 }
2586 #[doc = "*Required features: `\"Foundation_Collections\"`*"]
2587 #[cfg(feature = "Foundation_Collections")]
2588 pub fn ReversedNormalTriangles(&self) -> ::windows::core::Result<super::super::Foundation::Collections::IVectorView<u32>> {
2589 let this = self;
2590 unsafe {
2591 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::Collections::IVectorView<u32>>();
2592 (::windows::core::Interface::vtable(this).ReversedNormalTriangles)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
2593 }
2594 }
2595}
2596impl ::core::cmp::PartialEq for Printing3DMeshVerificationResult {
2597 fn eq(&self, other: &Self) -> bool {
2598 self.0 == other.0
2599 }
2600}
2601impl ::core::cmp::Eq for Printing3DMeshVerificationResult {}
2602impl ::core::fmt::Debug for Printing3DMeshVerificationResult {
2603 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
2604 f.debug_tuple("Printing3DMeshVerificationResult").field(&self.0).finish()
2605 }
2606}
2607impl ::windows::core::RuntimeType for Printing3DMeshVerificationResult {
2608 const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"rc(Windows.Graphics.Printing3D.Printing3DMeshVerificationResult;{195671ba-e93a-4e8a-a46f-dea8e852197e})");
2609}
2610impl ::core::clone::Clone for Printing3DMeshVerificationResult {
2611 fn clone(&self) -> Self {
2612 Self(self.0.clone())
2613 }
2614}
2615unsafe impl ::windows::core::Interface for Printing3DMeshVerificationResult {
2616 type Vtable = IPrinting3DMeshVerificationResult_Vtbl;
2617}
2618unsafe impl ::windows::core::ComInterface for Printing3DMeshVerificationResult {
2619 const IID: ::windows::core::GUID = <IPrinting3DMeshVerificationResult as ::windows::core::ComInterface>::IID;
2620}
2621impl ::windows::core::RuntimeName for Printing3DMeshVerificationResult {
2622 const NAME: &'static str = "Windows.Graphics.Printing3D.Printing3DMeshVerificationResult";
2623}
2624::windows::imp::interface_hierarchy!(Printing3DMeshVerificationResult, ::windows::core::IUnknown, ::windows::core::IInspectable);
2625unsafe impl ::core::marker::Send for Printing3DMeshVerificationResult {}
2626unsafe impl ::core::marker::Sync for Printing3DMeshVerificationResult {}
2627#[doc = "*Required features: `\"Graphics_Printing3D\"`*"]
2628#[repr(transparent)]
2629pub struct Printing3DModel(::windows::core::IUnknown);
2630impl Printing3DModel {
2631 pub fn new() -> ::windows::core::Result<Self> {
2632 Self::IActivationFactory(|f| f.ActivateInstance::<Self>())
2633 }
2634 fn IActivationFactory<R, F: FnOnce(&::windows::imp::IGenericFactory) -> ::windows::core::Result<R>>(callback: F) -> ::windows::core::Result<R> {
2635 static SHARED: ::windows::imp::FactoryCache<Printing3DModel, ::windows::imp::IGenericFactory> = ::windows::imp::FactoryCache::new();
2636 SHARED.call(callback)
2637 }
2638 pub fn Unit(&self) -> ::windows::core::Result<Printing3DModelUnit> {
2639 let this = self;
2640 unsafe {
2641 let mut result__ = ::windows::core::zeroed::<Printing3DModelUnit>();
2642 (::windows::core::Interface::vtable(this).Unit)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
2643 }
2644 }
2645 pub fn SetUnit(&self, value: Printing3DModelUnit) -> ::windows::core::Result<()> {
2646 let this = self;
2647 unsafe { (::windows::core::Interface::vtable(this).SetUnit)(::windows::core::Interface::as_raw(this), value).ok() }
2648 }
2649 #[doc = "*Required features: `\"Foundation_Collections\"`*"]
2650 #[cfg(feature = "Foundation_Collections")]
2651 pub fn Textures(&self) -> ::windows::core::Result<super::super::Foundation::Collections::IVector<Printing3DModelTexture>> {
2652 let this = self;
2653 unsafe {
2654 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::Collections::IVector<Printing3DModelTexture>>();
2655 (::windows::core::Interface::vtable(this).Textures)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
2656 }
2657 }
2658 #[doc = "*Required features: `\"Foundation_Collections\"`*"]
2659 #[cfg(feature = "Foundation_Collections")]
2660 pub fn Meshes(&self) -> ::windows::core::Result<super::super::Foundation::Collections::IVector<Printing3DMesh>> {
2661 let this = self;
2662 unsafe {
2663 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::Collections::IVector<Printing3DMesh>>();
2664 (::windows::core::Interface::vtable(this).Meshes)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
2665 }
2666 }
2667 #[doc = "*Required features: `\"Foundation_Collections\"`*"]
2668 #[cfg(feature = "Foundation_Collections")]
2669 pub fn Components(&self) -> ::windows::core::Result<super::super::Foundation::Collections::IVector<Printing3DComponent>> {
2670 let this = self;
2671 unsafe {
2672 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::Collections::IVector<Printing3DComponent>>();
2673 (::windows::core::Interface::vtable(this).Components)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
2674 }
2675 }
2676 pub fn Material(&self) -> ::windows::core::Result<Printing3DMaterial> {
2677 let this = self;
2678 unsafe {
2679 let mut result__ = ::windows::core::zeroed::<Printing3DMaterial>();
2680 (::windows::core::Interface::vtable(this).Material)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
2681 }
2682 }
2683 pub fn SetMaterial(&self, value: &Printing3DMaterial) -> ::windows::core::Result<()> {
2684 let this = self;
2685 unsafe { (::windows::core::Interface::vtable(this).SetMaterial)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
2686 }
2687 pub fn Build(&self) -> ::windows::core::Result<Printing3DComponent> {
2688 let this = self;
2689 unsafe {
2690 let mut result__ = ::windows::core::zeroed::<Printing3DComponent>();
2691 (::windows::core::Interface::vtable(this).Build)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
2692 }
2693 }
2694 pub fn SetBuild(&self, value: &Printing3DComponent) -> ::windows::core::Result<()> {
2695 let this = self;
2696 unsafe { (::windows::core::Interface::vtable(this).SetBuild)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
2697 }
2698 pub fn Version(&self) -> ::windows::core::Result<::windows::core::HSTRING> {
2699 let this = self;
2700 unsafe {
2701 let mut result__ = ::windows::core::zeroed::<::windows::core::HSTRING>();
2702 (::windows::core::Interface::vtable(this).Version)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
2703 }
2704 }
2705 pub fn SetVersion(&self, value: &::windows::core::HSTRING) -> ::windows::core::Result<()> {
2706 let this = self;
2707 unsafe { (::windows::core::Interface::vtable(this).SetVersion)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
2708 }
2709 #[doc = "*Required features: `\"Foundation_Collections\"`*"]
2710 #[cfg(feature = "Foundation_Collections")]
2711 pub fn RequiredExtensions(&self) -> ::windows::core::Result<super::super::Foundation::Collections::IVector<::windows::core::HSTRING>> {
2712 let this = self;
2713 unsafe {
2714 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::Collections::IVector<::windows::core::HSTRING>>();
2715 (::windows::core::Interface::vtable(this).RequiredExtensions)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
2716 }
2717 }
2718 #[doc = "*Required features: `\"Foundation_Collections\"`*"]
2719 #[cfg(feature = "Foundation_Collections")]
2720 pub fn Metadata(&self) -> ::windows::core::Result<super::super::Foundation::Collections::IMap<::windows::core::HSTRING, ::windows::core::HSTRING>> {
2721 let this = self;
2722 unsafe {
2723 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::Collections::IMap<::windows::core::HSTRING, ::windows::core::HSTRING>>();
2724 (::windows::core::Interface::vtable(this).Metadata)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
2725 }
2726 }
2727 #[doc = "*Required features: `\"Foundation\"`*"]
2728 #[cfg(feature = "Foundation")]
2729 pub fn RepairAsync(&self) -> ::windows::core::Result<super::super::Foundation::IAsyncAction> {
2730 let this = self;
2731 unsafe {
2732 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::IAsyncAction>();
2733 (::windows::core::Interface::vtable(this).RepairAsync)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
2734 }
2735 }
2736 pub fn Clone(&self) -> ::windows::core::Result<Printing3DModel> {
2737 let this = self;
2738 unsafe {
2739 let mut result__ = ::windows::core::zeroed::<Printing3DModel>();
2740 (::windows::core::Interface::vtable(this).Clone)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
2741 }
2742 }
2743 #[doc = "*Required features: `\"Foundation\"`*"]
2744 #[cfg(feature = "Foundation")]
2745 pub fn TryPartialRepairAsync(&self) -> ::windows::core::Result<super::super::Foundation::IAsyncOperation<bool>> {
2746 let this = &::windows::core::ComInterface::cast::<IPrinting3DModel2>(self)?;
2747 unsafe {
2748 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::IAsyncOperation<bool>>();
2749 (::windows::core::Interface::vtable(this).TryPartialRepairAsync)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
2750 }
2751 }
2752 #[doc = "*Required features: `\"Foundation\"`*"]
2753 #[cfg(feature = "Foundation")]
2754 pub fn TryPartialRepairWithTimeAsync(&self, maxwaittime: super::super::Foundation::TimeSpan) -> ::windows::core::Result<super::super::Foundation::IAsyncOperation<bool>> {
2755 let this = &::windows::core::ComInterface::cast::<IPrinting3DModel2>(self)?;
2756 unsafe {
2757 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::IAsyncOperation<bool>>();
2758 (::windows::core::Interface::vtable(this).TryPartialRepairWithTimeAsync)(::windows::core::Interface::as_raw(this), maxwaittime, &mut result__).from_abi(result__)
2759 }
2760 }
2761 #[doc = "*Required features: `\"Foundation\"`*"]
2762 #[cfg(feature = "Foundation")]
2763 pub fn TryReduceFacesAsync(&self) -> ::windows::core::Result<super::super::Foundation::IAsyncOperationWithProgress<bool, f64>> {
2764 let this = &::windows::core::ComInterface::cast::<IPrinting3DModel2>(self)?;
2765 unsafe {
2766 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::IAsyncOperationWithProgress<bool, f64>>();
2767 (::windows::core::Interface::vtable(this).TryReduceFacesAsync)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
2768 }
2769 }
2770 #[doc = "*Required features: `\"Foundation\"`*"]
2771 #[cfg(feature = "Foundation")]
2772 pub fn TryReduceFacesWithOptionsAsync(&self, printing3dfacereductionoptions: &Printing3DFaceReductionOptions) -> ::windows::core::Result<super::super::Foundation::IAsyncOperationWithProgress<bool, f64>> {
2773 let this = &::windows::core::ComInterface::cast::<IPrinting3DModel2>(self)?;
2774 unsafe {
2775 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::IAsyncOperationWithProgress<bool, f64>>();
2776 (::windows::core::Interface::vtable(this).TryReduceFacesWithOptionsAsync)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(printing3dfacereductionoptions), &mut result__).from_abi(result__)
2777 }
2778 }
2779 #[doc = "*Required features: `\"Foundation\"`*"]
2780 #[cfg(feature = "Foundation")]
2781 pub fn TryReduceFacesWithOptionsAndTimeAsync(&self, printing3dfacereductionoptions: &Printing3DFaceReductionOptions, maxwait: super::super::Foundation::TimeSpan) -> ::windows::core::Result<super::super::Foundation::IAsyncOperationWithProgress<bool, f64>> {
2782 let this = &::windows::core::ComInterface::cast::<IPrinting3DModel2>(self)?;
2783 unsafe {
2784 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::IAsyncOperationWithProgress<bool, f64>>();
2785 (::windows::core::Interface::vtable(this).TryReduceFacesWithOptionsAndTimeAsync)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(printing3dfacereductionoptions), maxwait, &mut result__).from_abi(result__)
2786 }
2787 }
2788 #[doc = "*Required features: `\"Foundation\"`*"]
2789 #[cfg(feature = "Foundation")]
2790 pub fn RepairWithProgressAsync(&self) -> ::windows::core::Result<super::super::Foundation::IAsyncOperationWithProgress<bool, f64>> {
2791 let this = &::windows::core::ComInterface::cast::<IPrinting3DModel2>(self)?;
2792 unsafe {
2793 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::IAsyncOperationWithProgress<bool, f64>>();
2794 (::windows::core::Interface::vtable(this).RepairWithProgressAsync)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
2795 }
2796 }
2797}
2798impl ::core::cmp::PartialEq for Printing3DModel {
2799 fn eq(&self, other: &Self) -> bool {
2800 self.0 == other.0
2801 }
2802}
2803impl ::core::cmp::Eq for Printing3DModel {}
2804impl ::core::fmt::Debug for Printing3DModel {
2805 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
2806 f.debug_tuple("Printing3DModel").field(&self.0).finish()
2807 }
2808}
2809impl ::windows::core::RuntimeType for Printing3DModel {
2810 const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"rc(Windows.Graphics.Printing3D.Printing3DModel;{2d012ef0-52fb-919a-77b0-4b1a3b80324f})");
2811}
2812impl ::core::clone::Clone for Printing3DModel {
2813 fn clone(&self) -> Self {
2814 Self(self.0.clone())
2815 }
2816}
2817unsafe impl ::windows::core::Interface for Printing3DModel {
2818 type Vtable = IPrinting3DModel_Vtbl;
2819}
2820unsafe impl ::windows::core::ComInterface for Printing3DModel {
2821 const IID: ::windows::core::GUID = <IPrinting3DModel as ::windows::core::ComInterface>::IID;
2822}
2823impl ::windows::core::RuntimeName for Printing3DModel {
2824 const NAME: &'static str = "Windows.Graphics.Printing3D.Printing3DModel";
2825}
2826::windows::imp::interface_hierarchy!(Printing3DModel, ::windows::core::IUnknown, ::windows::core::IInspectable);
2827unsafe impl ::core::marker::Send for Printing3DModel {}
2828unsafe impl ::core::marker::Sync for Printing3DModel {}
2829#[doc = "*Required features: `\"Graphics_Printing3D\"`*"]
2830#[repr(transparent)]
2831pub struct Printing3DModelTexture(::windows::core::IUnknown);
2832impl Printing3DModelTexture {
2833 pub fn new() -> ::windows::core::Result<Self> {
2834 Self::IActivationFactory(|f| f.ActivateInstance::<Self>())
2835 }
2836 fn IActivationFactory<R, F: FnOnce(&::windows::imp::IGenericFactory) -> ::windows::core::Result<R>>(callback: F) -> ::windows::core::Result<R> {
2837 static SHARED: ::windows::imp::FactoryCache<Printing3DModelTexture, ::windows::imp::IGenericFactory> = ::windows::imp::FactoryCache::new();
2838 SHARED.call(callback)
2839 }
2840 pub fn TextureResource(&self) -> ::windows::core::Result<Printing3DTextureResource> {
2841 let this = self;
2842 unsafe {
2843 let mut result__ = ::windows::core::zeroed::<Printing3DTextureResource>();
2844 (::windows::core::Interface::vtable(this).TextureResource)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
2845 }
2846 }
2847 pub fn SetTextureResource(&self, value: &Printing3DTextureResource) -> ::windows::core::Result<()> {
2848 let this = self;
2849 unsafe { (::windows::core::Interface::vtable(this).SetTextureResource)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
2850 }
2851 pub fn TileStyleU(&self) -> ::windows::core::Result<Printing3DTextureEdgeBehavior> {
2852 let this = self;
2853 unsafe {
2854 let mut result__ = ::windows::core::zeroed::<Printing3DTextureEdgeBehavior>();
2855 (::windows::core::Interface::vtable(this).TileStyleU)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
2856 }
2857 }
2858 pub fn SetTileStyleU(&self, value: Printing3DTextureEdgeBehavior) -> ::windows::core::Result<()> {
2859 let this = self;
2860 unsafe { (::windows::core::Interface::vtable(this).SetTileStyleU)(::windows::core::Interface::as_raw(this), value).ok() }
2861 }
2862 pub fn TileStyleV(&self) -> ::windows::core::Result<Printing3DTextureEdgeBehavior> {
2863 let this = self;
2864 unsafe {
2865 let mut result__ = ::windows::core::zeroed::<Printing3DTextureEdgeBehavior>();
2866 (::windows::core::Interface::vtable(this).TileStyleV)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
2867 }
2868 }
2869 pub fn SetTileStyleV(&self, value: Printing3DTextureEdgeBehavior) -> ::windows::core::Result<()> {
2870 let this = self;
2871 unsafe { (::windows::core::Interface::vtable(this).SetTileStyleV)(::windows::core::Interface::as_raw(this), value).ok() }
2872 }
2873}
2874impl ::core::cmp::PartialEq for Printing3DModelTexture {
2875 fn eq(&self, other: &Self) -> bool {
2876 self.0 == other.0
2877 }
2878}
2879impl ::core::cmp::Eq for Printing3DModelTexture {}
2880impl ::core::fmt::Debug for Printing3DModelTexture {
2881 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
2882 f.debug_tuple("Printing3DModelTexture").field(&self.0).finish()
2883 }
2884}
2885impl ::windows::core::RuntimeType for Printing3DModelTexture {
2886 const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"rc(Windows.Graphics.Printing3D.Printing3DModelTexture;{5dafcf01-b59d-483c-97bb-a4d546d1c75c})");
2887}
2888impl ::core::clone::Clone for Printing3DModelTexture {
2889 fn clone(&self) -> Self {
2890 Self(self.0.clone())
2891 }
2892}
2893unsafe impl ::windows::core::Interface for Printing3DModelTexture {
2894 type Vtable = IPrinting3DModelTexture_Vtbl;
2895}
2896unsafe impl ::windows::core::ComInterface for Printing3DModelTexture {
2897 const IID: ::windows::core::GUID = <IPrinting3DModelTexture as ::windows::core::ComInterface>::IID;
2898}
2899impl ::windows::core::RuntimeName for Printing3DModelTexture {
2900 const NAME: &'static str = "Windows.Graphics.Printing3D.Printing3DModelTexture";
2901}
2902::windows::imp::interface_hierarchy!(Printing3DModelTexture, ::windows::core::IUnknown, ::windows::core::IInspectable);
2903unsafe impl ::core::marker::Send for Printing3DModelTexture {}
2904unsafe impl ::core::marker::Sync for Printing3DModelTexture {}
2905#[doc = "*Required features: `\"Graphics_Printing3D\"`*"]
2906#[repr(transparent)]
2907pub struct Printing3DMultiplePropertyMaterial(::windows::core::IUnknown);
2908impl Printing3DMultiplePropertyMaterial {
2909 pub fn new() -> ::windows::core::Result<Self> {
2910 Self::IActivationFactory(|f| f.ActivateInstance::<Self>())
2911 }
2912 fn IActivationFactory<R, F: FnOnce(&::windows::imp::IGenericFactory) -> ::windows::core::Result<R>>(callback: F) -> ::windows::core::Result<R> {
2913 static SHARED: ::windows::imp::FactoryCache<Printing3DMultiplePropertyMaterial, ::windows::imp::IGenericFactory> = ::windows::imp::FactoryCache::new();
2914 SHARED.call(callback)
2915 }
2916 #[doc = "*Required features: `\"Foundation_Collections\"`*"]
2917 #[cfg(feature = "Foundation_Collections")]
2918 pub fn MaterialIndices(&self) -> ::windows::core::Result<super::super::Foundation::Collections::IVector<u32>> {
2919 let this = self;
2920 unsafe {
2921 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::Collections::IVector<u32>>();
2922 (::windows::core::Interface::vtable(this).MaterialIndices)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
2923 }
2924 }
2925}
2926impl ::core::cmp::PartialEq for Printing3DMultiplePropertyMaterial {
2927 fn eq(&self, other: &Self) -> bool {
2928 self.0 == other.0
2929 }
2930}
2931impl ::core::cmp::Eq for Printing3DMultiplePropertyMaterial {}
2932impl ::core::fmt::Debug for Printing3DMultiplePropertyMaterial {
2933 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
2934 f.debug_tuple("Printing3DMultiplePropertyMaterial").field(&self.0).finish()
2935 }
2936}
2937impl ::windows::core::RuntimeType for Printing3DMultiplePropertyMaterial {
2938 const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"rc(Windows.Graphics.Printing3D.Printing3DMultiplePropertyMaterial;{25a6254b-c6e9-484d-a214-a25e5776ba62})");
2939}
2940impl ::core::clone::Clone for Printing3DMultiplePropertyMaterial {
2941 fn clone(&self) -> Self {
2942 Self(self.0.clone())
2943 }
2944}
2945unsafe impl ::windows::core::Interface for Printing3DMultiplePropertyMaterial {
2946 type Vtable = IPrinting3DMultiplePropertyMaterial_Vtbl;
2947}
2948unsafe impl ::windows::core::ComInterface for Printing3DMultiplePropertyMaterial {
2949 const IID: ::windows::core::GUID = <IPrinting3DMultiplePropertyMaterial as ::windows::core::ComInterface>::IID;
2950}
2951impl ::windows::core::RuntimeName for Printing3DMultiplePropertyMaterial {
2952 const NAME: &'static str = "Windows.Graphics.Printing3D.Printing3DMultiplePropertyMaterial";
2953}
2954::windows::imp::interface_hierarchy!(Printing3DMultiplePropertyMaterial, ::windows::core::IUnknown, ::windows::core::IInspectable);
2955unsafe impl ::core::marker::Send for Printing3DMultiplePropertyMaterial {}
2956unsafe impl ::core::marker::Sync for Printing3DMultiplePropertyMaterial {}
2957#[doc = "*Required features: `\"Graphics_Printing3D\"`*"]
2958#[repr(transparent)]
2959pub struct Printing3DMultiplePropertyMaterialGroup(::windows::core::IUnknown);
2960impl Printing3DMultiplePropertyMaterialGroup {
2961 #[doc = "*Required features: `\"Foundation_Collections\"`*"]
2962 #[cfg(feature = "Foundation_Collections")]
2963 pub fn MultipleProperties(&self) -> ::windows::core::Result<super::super::Foundation::Collections::IVector<Printing3DMultiplePropertyMaterial>> {
2964 let this = self;
2965 unsafe {
2966 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::Collections::IVector<Printing3DMultiplePropertyMaterial>>();
2967 (::windows::core::Interface::vtable(this).MultipleProperties)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
2968 }
2969 }
2970 #[doc = "*Required features: `\"Foundation_Collections\"`*"]
2971 #[cfg(feature = "Foundation_Collections")]
2972 pub fn MaterialGroupIndices(&self) -> ::windows::core::Result<super::super::Foundation::Collections::IVector<u32>> {
2973 let this = self;
2974 unsafe {
2975 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::Collections::IVector<u32>>();
2976 (::windows::core::Interface::vtable(this).MaterialGroupIndices)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
2977 }
2978 }
2979 pub fn MaterialGroupId(&self) -> ::windows::core::Result<u32> {
2980 let this = self;
2981 unsafe {
2982 let mut result__ = ::windows::core::zeroed::<u32>();
2983 (::windows::core::Interface::vtable(this).MaterialGroupId)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
2984 }
2985 }
2986 pub fn Create(materialgroupid: u32) -> ::windows::core::Result<Printing3DMultiplePropertyMaterialGroup> {
2987 Self::IPrinting3DMultiplePropertyMaterialGroupFactory(|this| unsafe {
2988 let mut result__ = ::windows::core::zeroed::<Printing3DMultiplePropertyMaterialGroup>();
2989 (::windows::core::Interface::vtable(this).Create)(::windows::core::Interface::as_raw(this), materialgroupid, &mut result__).from_abi(result__)
2990 })
2991 }
2992 #[doc(hidden)]
2993 pub fn IPrinting3DMultiplePropertyMaterialGroupFactory<R, F: FnOnce(&IPrinting3DMultiplePropertyMaterialGroupFactory) -> ::windows::core::Result<R>>(callback: F) -> ::windows::core::Result<R> {
2994 static SHARED: ::windows::imp::FactoryCache<Printing3DMultiplePropertyMaterialGroup, IPrinting3DMultiplePropertyMaterialGroupFactory> = ::windows::imp::FactoryCache::new();
2995 SHARED.call(callback)
2996 }
2997}
2998impl ::core::cmp::PartialEq for Printing3DMultiplePropertyMaterialGroup {
2999 fn eq(&self, other: &Self) -> bool {
3000 self.0 == other.0
3001 }
3002}
3003impl ::core::cmp::Eq for Printing3DMultiplePropertyMaterialGroup {}
3004impl ::core::fmt::Debug for Printing3DMultiplePropertyMaterialGroup {
3005 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
3006 f.debug_tuple("Printing3DMultiplePropertyMaterialGroup").field(&self.0).finish()
3007 }
3008}
3009impl ::windows::core::RuntimeType for Printing3DMultiplePropertyMaterialGroup {
3010 const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"rc(Windows.Graphics.Printing3D.Printing3DMultiplePropertyMaterialGroup;{f0950519-aeb9-4515-a39b-a088fbbb277c})");
3011}
3012impl ::core::clone::Clone for Printing3DMultiplePropertyMaterialGroup {
3013 fn clone(&self) -> Self {
3014 Self(self.0.clone())
3015 }
3016}
3017unsafe impl ::windows::core::Interface for Printing3DMultiplePropertyMaterialGroup {
3018 type Vtable = IPrinting3DMultiplePropertyMaterialGroup_Vtbl;
3019}
3020unsafe impl ::windows::core::ComInterface for Printing3DMultiplePropertyMaterialGroup {
3021 const IID: ::windows::core::GUID = <IPrinting3DMultiplePropertyMaterialGroup as ::windows::core::ComInterface>::IID;
3022}
3023impl ::windows::core::RuntimeName for Printing3DMultiplePropertyMaterialGroup {
3024 const NAME: &'static str = "Windows.Graphics.Printing3D.Printing3DMultiplePropertyMaterialGroup";
3025}
3026::windows::imp::interface_hierarchy!(Printing3DMultiplePropertyMaterialGroup, ::windows::core::IUnknown, ::windows::core::IInspectable);
3027unsafe impl ::core::marker::Send for Printing3DMultiplePropertyMaterialGroup {}
3028unsafe impl ::core::marker::Sync for Printing3DMultiplePropertyMaterialGroup {}
3029#[doc = "*Required features: `\"Graphics_Printing3D\"`*"]
3030#[repr(transparent)]
3031pub struct Printing3DTexture2CoordMaterial(::windows::core::IUnknown);
3032impl Printing3DTexture2CoordMaterial {
3033 pub fn new() -> ::windows::core::Result<Self> {
3034 Self::IActivationFactory(|f| f.ActivateInstance::<Self>())
3035 }
3036 fn IActivationFactory<R, F: FnOnce(&::windows::imp::IGenericFactory) -> ::windows::core::Result<R>>(callback: F) -> ::windows::core::Result<R> {
3037 static SHARED: ::windows::imp::FactoryCache<Printing3DTexture2CoordMaterial, ::windows::imp::IGenericFactory> = ::windows::imp::FactoryCache::new();
3038 SHARED.call(callback)
3039 }
3040 pub fn Texture(&self) -> ::windows::core::Result<Printing3DModelTexture> {
3041 let this = self;
3042 unsafe {
3043 let mut result__ = ::windows::core::zeroed::<Printing3DModelTexture>();
3044 (::windows::core::Interface::vtable(this).Texture)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
3045 }
3046 }
3047 pub fn SetTexture(&self, value: &Printing3DModelTexture) -> ::windows::core::Result<()> {
3048 let this = self;
3049 unsafe { (::windows::core::Interface::vtable(this).SetTexture)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
3050 }
3051 pub fn U(&self) -> ::windows::core::Result<f64> {
3052 let this = self;
3053 unsafe {
3054 let mut result__ = ::windows::core::zeroed::<f64>();
3055 (::windows::core::Interface::vtable(this).U)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
3056 }
3057 }
3058 pub fn SetU(&self, value: f64) -> ::windows::core::Result<()> {
3059 let this = self;
3060 unsafe { (::windows::core::Interface::vtable(this).SetU)(::windows::core::Interface::as_raw(this), value).ok() }
3061 }
3062 pub fn V(&self) -> ::windows::core::Result<f64> {
3063 let this = self;
3064 unsafe {
3065 let mut result__ = ::windows::core::zeroed::<f64>();
3066 (::windows::core::Interface::vtable(this).V)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
3067 }
3068 }
3069 pub fn SetV(&self, value: f64) -> ::windows::core::Result<()> {
3070 let this = self;
3071 unsafe { (::windows::core::Interface::vtable(this).SetV)(::windows::core::Interface::as_raw(this), value).ok() }
3072 }
3073}
3074impl ::core::cmp::PartialEq for Printing3DTexture2CoordMaterial {
3075 fn eq(&self, other: &Self) -> bool {
3076 self.0 == other.0
3077 }
3078}
3079impl ::core::cmp::Eq for Printing3DTexture2CoordMaterial {}
3080impl ::core::fmt::Debug for Printing3DTexture2CoordMaterial {
3081 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
3082 f.debug_tuple("Printing3DTexture2CoordMaterial").field(&self.0).finish()
3083 }
3084}
3085impl ::windows::core::RuntimeType for Printing3DTexture2CoordMaterial {
3086 const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"rc(Windows.Graphics.Printing3D.Printing3DTexture2CoordMaterial;{8d844bfb-07e9-4986-9833-8dd3d48c6859})");
3087}
3088impl ::core::clone::Clone for Printing3DTexture2CoordMaterial {
3089 fn clone(&self) -> Self {
3090 Self(self.0.clone())
3091 }
3092}
3093unsafe impl ::windows::core::Interface for Printing3DTexture2CoordMaterial {
3094 type Vtable = IPrinting3DTexture2CoordMaterial_Vtbl;
3095}
3096unsafe impl ::windows::core::ComInterface for Printing3DTexture2CoordMaterial {
3097 const IID: ::windows::core::GUID = <IPrinting3DTexture2CoordMaterial as ::windows::core::ComInterface>::IID;
3098}
3099impl ::windows::core::RuntimeName for Printing3DTexture2CoordMaterial {
3100 const NAME: &'static str = "Windows.Graphics.Printing3D.Printing3DTexture2CoordMaterial";
3101}
3102::windows::imp::interface_hierarchy!(Printing3DTexture2CoordMaterial, ::windows::core::IUnknown, ::windows::core::IInspectable);
3103unsafe impl ::core::marker::Send for Printing3DTexture2CoordMaterial {}
3104unsafe impl ::core::marker::Sync for Printing3DTexture2CoordMaterial {}
3105#[doc = "*Required features: `\"Graphics_Printing3D\"`*"]
3106#[repr(transparent)]
3107pub struct Printing3DTexture2CoordMaterialGroup(::windows::core::IUnknown);
3108impl Printing3DTexture2CoordMaterialGroup {
3109 #[doc = "*Required features: `\"Foundation_Collections\"`*"]
3110 #[cfg(feature = "Foundation_Collections")]
3111 pub fn Texture2Coords(&self) -> ::windows::core::Result<super::super::Foundation::Collections::IVector<Printing3DTexture2CoordMaterial>> {
3112 let this = self;
3113 unsafe {
3114 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::Collections::IVector<Printing3DTexture2CoordMaterial>>();
3115 (::windows::core::Interface::vtable(this).Texture2Coords)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
3116 }
3117 }
3118 pub fn MaterialGroupId(&self) -> ::windows::core::Result<u32> {
3119 let this = self;
3120 unsafe {
3121 let mut result__ = ::windows::core::zeroed::<u32>();
3122 (::windows::core::Interface::vtable(this).MaterialGroupId)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
3123 }
3124 }
3125 pub fn Texture(&self) -> ::windows::core::Result<Printing3DModelTexture> {
3126 let this = &::windows::core::ComInterface::cast::<IPrinting3DTexture2CoordMaterialGroup2>(self)?;
3127 unsafe {
3128 let mut result__ = ::windows::core::zeroed::<Printing3DModelTexture>();
3129 (::windows::core::Interface::vtable(this).Texture)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
3130 }
3131 }
3132 pub fn SetTexture(&self, value: &Printing3DModelTexture) -> ::windows::core::Result<()> {
3133 let this = &::windows::core::ComInterface::cast::<IPrinting3DTexture2CoordMaterialGroup2>(self)?;
3134 unsafe { (::windows::core::Interface::vtable(this).SetTexture)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
3135 }
3136 pub fn Create(materialgroupid: u32) -> ::windows::core::Result<Printing3DTexture2CoordMaterialGroup> {
3137 Self::IPrinting3DTexture2CoordMaterialGroupFactory(|this| unsafe {
3138 let mut result__ = ::windows::core::zeroed::<Printing3DTexture2CoordMaterialGroup>();
3139 (::windows::core::Interface::vtable(this).Create)(::windows::core::Interface::as_raw(this), materialgroupid, &mut result__).from_abi(result__)
3140 })
3141 }
3142 #[doc(hidden)]
3143 pub fn IPrinting3DTexture2CoordMaterialGroupFactory<R, F: FnOnce(&IPrinting3DTexture2CoordMaterialGroupFactory) -> ::windows::core::Result<R>>(callback: F) -> ::windows::core::Result<R> {
3144 static SHARED: ::windows::imp::FactoryCache<Printing3DTexture2CoordMaterialGroup, IPrinting3DTexture2CoordMaterialGroupFactory> = ::windows::imp::FactoryCache::new();
3145 SHARED.call(callback)
3146 }
3147}
3148impl ::core::cmp::PartialEq for Printing3DTexture2CoordMaterialGroup {
3149 fn eq(&self, other: &Self) -> bool {
3150 self.0 == other.0
3151 }
3152}
3153impl ::core::cmp::Eq for Printing3DTexture2CoordMaterialGroup {}
3154impl ::core::fmt::Debug for Printing3DTexture2CoordMaterialGroup {
3155 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
3156 f.debug_tuple("Printing3DTexture2CoordMaterialGroup").field(&self.0).finish()
3157 }
3158}
3159impl ::windows::core::RuntimeType for Printing3DTexture2CoordMaterialGroup {
3160 const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"rc(Windows.Graphics.Printing3D.Printing3DTexture2CoordMaterialGroup;{627d7ca7-6d90-4fb9-9fc4-9feff3dfa892})");
3161}
3162impl ::core::clone::Clone for Printing3DTexture2CoordMaterialGroup {
3163 fn clone(&self) -> Self {
3164 Self(self.0.clone())
3165 }
3166}
3167unsafe impl ::windows::core::Interface for Printing3DTexture2CoordMaterialGroup {
3168 type Vtable = IPrinting3DTexture2CoordMaterialGroup_Vtbl;
3169}
3170unsafe impl ::windows::core::ComInterface for Printing3DTexture2CoordMaterialGroup {
3171 const IID: ::windows::core::GUID = <IPrinting3DTexture2CoordMaterialGroup as ::windows::core::ComInterface>::IID;
3172}
3173impl ::windows::core::RuntimeName for Printing3DTexture2CoordMaterialGroup {
3174 const NAME: &'static str = "Windows.Graphics.Printing3D.Printing3DTexture2CoordMaterialGroup";
3175}
3176::windows::imp::interface_hierarchy!(Printing3DTexture2CoordMaterialGroup, ::windows::core::IUnknown, ::windows::core::IInspectable);
3177unsafe impl ::core::marker::Send for Printing3DTexture2CoordMaterialGroup {}
3178unsafe impl ::core::marker::Sync for Printing3DTexture2CoordMaterialGroup {}
3179#[doc = "*Required features: `\"Graphics_Printing3D\"`*"]
3180#[repr(transparent)]
3181pub struct Printing3DTextureResource(::windows::core::IUnknown);
3182impl Printing3DTextureResource {
3183 pub fn new() -> ::windows::core::Result<Self> {
3184 Self::IActivationFactory(|f| f.ActivateInstance::<Self>())
3185 }
3186 fn IActivationFactory<R, F: FnOnce(&::windows::imp::IGenericFactory) -> ::windows::core::Result<R>>(callback: F) -> ::windows::core::Result<R> {
3187 static SHARED: ::windows::imp::FactoryCache<Printing3DTextureResource, ::windows::imp::IGenericFactory> = ::windows::imp::FactoryCache::new();
3188 SHARED.call(callback)
3189 }
3190 #[doc = "*Required features: `\"Storage_Streams\"`*"]
3191 #[cfg(feature = "Storage_Streams")]
3192 pub fn TextureData(&self) -> ::windows::core::Result<super::super::Storage::Streams::IRandomAccessStreamWithContentType> {
3193 let this = self;
3194 unsafe {
3195 let mut result__ = ::windows::core::zeroed::<super::super::Storage::Streams::IRandomAccessStreamWithContentType>();
3196 (::windows::core::Interface::vtable(this).TextureData)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
3197 }
3198 }
3199 #[doc = "*Required features: `\"Storage_Streams\"`*"]
3200 #[cfg(feature = "Storage_Streams")]
3201 pub fn SetTextureData<P0>(&self, value: P0) -> ::windows::core::Result<()>
3202 where
3203 P0: ::windows::core::TryIntoParam<super::super::Storage::Streams::IRandomAccessStreamWithContentType>,
3204 {
3205 let this = self;
3206 unsafe { (::windows::core::Interface::vtable(this).SetTextureData)(::windows::core::Interface::as_raw(this), value.try_into_param()?.abi()).ok() }
3207 }
3208 pub fn Name(&self) -> ::windows::core::Result<::windows::core::HSTRING> {
3209 let this = self;
3210 unsafe {
3211 let mut result__ = ::windows::core::zeroed::<::windows::core::HSTRING>();
3212 (::windows::core::Interface::vtable(this).Name)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
3213 }
3214 }
3215 pub fn SetName(&self, value: &::windows::core::HSTRING) -> ::windows::core::Result<()> {
3216 let this = self;
3217 unsafe { (::windows::core::Interface::vtable(this).SetName)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
3218 }
3219}
3220impl ::core::cmp::PartialEq for Printing3DTextureResource {
3221 fn eq(&self, other: &Self) -> bool {
3222 self.0 == other.0
3223 }
3224}
3225impl ::core::cmp::Eq for Printing3DTextureResource {}
3226impl ::core::fmt::Debug for Printing3DTextureResource {
3227 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
3228 f.debug_tuple("Printing3DTextureResource").field(&self.0).finish()
3229 }
3230}
3231impl ::windows::core::RuntimeType for Printing3DTextureResource {
3232 const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"rc(Windows.Graphics.Printing3D.Printing3DTextureResource;{a70df32d-6ab1-44ae-bc45-a27382c0d38c})");
3233}
3234impl ::core::clone::Clone for Printing3DTextureResource {
3235 fn clone(&self) -> Self {
3236 Self(self.0.clone())
3237 }
3238}
3239unsafe impl ::windows::core::Interface for Printing3DTextureResource {
3240 type Vtable = IPrinting3DTextureResource_Vtbl;
3241}
3242unsafe impl ::windows::core::ComInterface for Printing3DTextureResource {
3243 const IID: ::windows::core::GUID = <IPrinting3DTextureResource as ::windows::core::ComInterface>::IID;
3244}
3245impl ::windows::core::RuntimeName for Printing3DTextureResource {
3246 const NAME: &'static str = "Windows.Graphics.Printing3D.Printing3DTextureResource";
3247}
3248::windows::imp::interface_hierarchy!(Printing3DTextureResource, ::windows::core::IUnknown, ::windows::core::IInspectable);
3249unsafe impl ::core::marker::Send for Printing3DTextureResource {}
3250unsafe impl ::core::marker::Sync for Printing3DTextureResource {}
3251#[doc = "*Required features: `\"Graphics_Printing3D\"`*"]
3252#[repr(transparent)]
3253#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
3254pub struct Print3DTaskCompletion(pub i32);
3255impl Print3DTaskCompletion {
3256 pub const Abandoned: Self = Self(0i32);
3257 pub const Canceled: Self = Self(1i32);
3258 pub const Failed: Self = Self(2i32);
3259 pub const Slicing: Self = Self(3i32);
3260 pub const Submitted: Self = Self(4i32);
3261}
3262impl ::core::marker::Copy for Print3DTaskCompletion {}
3263impl ::core::clone::Clone for Print3DTaskCompletion {
3264 fn clone(&self) -> Self {
3265 *self
3266 }
3267}
3268impl ::core::default::Default for Print3DTaskCompletion {
3269 fn default() -> Self {
3270 Self(0)
3271 }
3272}
3273impl ::windows::core::TypeKind for Print3DTaskCompletion {
3274 type TypeKind = ::windows::core::CopyType;
3275}
3276impl ::core::fmt::Debug for Print3DTaskCompletion {
3277 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
3278 f.debug_tuple("Print3DTaskCompletion").field(&self.0).finish()
3279 }
3280}
3281impl ::windows::core::RuntimeType for Print3DTaskCompletion {
3282 const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"enum(Windows.Graphics.Printing3D.Print3DTaskCompletion;i4)");
3283}
3284#[doc = "*Required features: `\"Graphics_Printing3D\"`*"]
3285#[repr(transparent)]
3286#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
3287pub struct Print3DTaskDetail(pub i32);
3288impl Print3DTaskDetail {
3289 pub const Unknown: Self = Self(0i32);
3290 pub const ModelExceedsPrintBed: Self = Self(1i32);
3291 pub const UploadFailed: Self = Self(2i32);
3292 pub const InvalidMaterialSelection: Self = Self(3i32);
3293 pub const InvalidModel: Self = Self(4i32);
3294 pub const ModelNotManifold: Self = Self(5i32);
3295 pub const InvalidPrintTicket: Self = Self(6i32);
3296}
3297impl ::core::marker::Copy for Print3DTaskDetail {}
3298impl ::core::clone::Clone for Print3DTaskDetail {
3299 fn clone(&self) -> Self {
3300 *self
3301 }
3302}
3303impl ::core::default::Default for Print3DTaskDetail {
3304 fn default() -> Self {
3305 Self(0)
3306 }
3307}
3308impl ::windows::core::TypeKind for Print3DTaskDetail {
3309 type TypeKind = ::windows::core::CopyType;
3310}
3311impl ::core::fmt::Debug for Print3DTaskDetail {
3312 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
3313 f.debug_tuple("Print3DTaskDetail").field(&self.0).finish()
3314 }
3315}
3316impl ::windows::core::RuntimeType for Print3DTaskDetail {
3317 const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"enum(Windows.Graphics.Printing3D.Print3DTaskDetail;i4)");
3318}
3319#[doc = "*Required features: `\"Graphics_Printing3D\"`*"]
3320#[repr(transparent)]
3321#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
3322pub struct Printing3DBufferFormat(pub i32);
3323impl Printing3DBufferFormat {
3324 pub const Unknown: Self = Self(0i32);
3325 pub const R32G32B32A32Float: Self = Self(2i32);
3326 pub const R32G32B32A32UInt: Self = Self(3i32);
3327 pub const R32G32B32Float: Self = Self(6i32);
3328 pub const R32G32B32UInt: Self = Self(7i32);
3329 pub const Printing3DDouble: Self = Self(500i32);
3330 pub const Printing3DUInt: Self = Self(501i32);
3331}
3332impl ::core::marker::Copy for Printing3DBufferFormat {}
3333impl ::core::clone::Clone for Printing3DBufferFormat {
3334 fn clone(&self) -> Self {
3335 *self
3336 }
3337}
3338impl ::core::default::Default for Printing3DBufferFormat {
3339 fn default() -> Self {
3340 Self(0)
3341 }
3342}
3343impl ::windows::core::TypeKind for Printing3DBufferFormat {
3344 type TypeKind = ::windows::core::CopyType;
3345}
3346impl ::core::fmt::Debug for Printing3DBufferFormat {
3347 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
3348 f.debug_tuple("Printing3DBufferFormat").field(&self.0).finish()
3349 }
3350}
3351impl ::windows::core::RuntimeType for Printing3DBufferFormat {
3352 const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"enum(Windows.Graphics.Printing3D.Printing3DBufferFormat;i4)");
3353}
3354#[doc = "*Required features: `\"Graphics_Printing3D\"`*"]
3355#[repr(transparent)]
3356#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
3357pub struct Printing3DMeshVerificationMode(pub i32);
3358impl Printing3DMeshVerificationMode {
3359 pub const FindFirstError: Self = Self(0i32);
3360 pub const FindAllErrors: Self = Self(1i32);
3361}
3362impl ::core::marker::Copy for Printing3DMeshVerificationMode {}
3363impl ::core::clone::Clone for Printing3DMeshVerificationMode {
3364 fn clone(&self) -> Self {
3365 *self
3366 }
3367}
3368impl ::core::default::Default for Printing3DMeshVerificationMode {
3369 fn default() -> Self {
3370 Self(0)
3371 }
3372}
3373impl ::windows::core::TypeKind for Printing3DMeshVerificationMode {
3374 type TypeKind = ::windows::core::CopyType;
3375}
3376impl ::core::fmt::Debug for Printing3DMeshVerificationMode {
3377 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
3378 f.debug_tuple("Printing3DMeshVerificationMode").field(&self.0).finish()
3379 }
3380}
3381impl ::windows::core::RuntimeType for Printing3DMeshVerificationMode {
3382 const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"enum(Windows.Graphics.Printing3D.Printing3DMeshVerificationMode;i4)");
3383}
3384#[doc = "*Required features: `\"Graphics_Printing3D\"`*"]
3385#[repr(transparent)]
3386#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
3387pub struct Printing3DModelUnit(pub i32);
3388impl Printing3DModelUnit {
3389 pub const Meter: Self = Self(0i32);
3390 pub const Micron: Self = Self(1i32);
3391 pub const Millimeter: Self = Self(2i32);
3392 pub const Centimeter: Self = Self(3i32);
3393 pub const Inch: Self = Self(4i32);
3394 pub const Foot: Self = Self(5i32);
3395}
3396impl ::core::marker::Copy for Printing3DModelUnit {}
3397impl ::core::clone::Clone for Printing3DModelUnit {
3398 fn clone(&self) -> Self {
3399 *self
3400 }
3401}
3402impl ::core::default::Default for Printing3DModelUnit {
3403 fn default() -> Self {
3404 Self(0)
3405 }
3406}
3407impl ::windows::core::TypeKind for Printing3DModelUnit {
3408 type TypeKind = ::windows::core::CopyType;
3409}
3410impl ::core::fmt::Debug for Printing3DModelUnit {
3411 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
3412 f.debug_tuple("Printing3DModelUnit").field(&self.0).finish()
3413 }
3414}
3415impl ::windows::core::RuntimeType for Printing3DModelUnit {
3416 const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"enum(Windows.Graphics.Printing3D.Printing3DModelUnit;i4)");
3417}
3418#[doc = "*Required features: `\"Graphics_Printing3D\"`*"]
3419#[repr(transparent)]
3420#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
3421pub struct Printing3DObjectType(pub i32);
3422impl Printing3DObjectType {
3423 pub const Model: Self = Self(0i32);
3424 pub const Support: Self = Self(1i32);
3425 pub const Others: Self = Self(2i32);
3426}
3427impl ::core::marker::Copy for Printing3DObjectType {}
3428impl ::core::clone::Clone for Printing3DObjectType {
3429 fn clone(&self) -> Self {
3430 *self
3431 }
3432}
3433impl ::core::default::Default for Printing3DObjectType {
3434 fn default() -> Self {
3435 Self(0)
3436 }
3437}
3438impl ::windows::core::TypeKind for Printing3DObjectType {
3439 type TypeKind = ::windows::core::CopyType;
3440}
3441impl ::core::fmt::Debug for Printing3DObjectType {
3442 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
3443 f.debug_tuple("Printing3DObjectType").field(&self.0).finish()
3444 }
3445}
3446impl ::windows::core::RuntimeType for Printing3DObjectType {
3447 const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"enum(Windows.Graphics.Printing3D.Printing3DObjectType;i4)");
3448}
3449#[doc = "*Required features: `\"Graphics_Printing3D\"`*"]
3450#[repr(transparent)]
3451#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
3452pub struct Printing3DPackageCompression(pub i32);
3453impl Printing3DPackageCompression {
3454 pub const Low: Self = Self(0i32);
3455 pub const Medium: Self = Self(1i32);
3456 pub const High: Self = Self(2i32);
3457}
3458impl ::core::marker::Copy for Printing3DPackageCompression {}
3459impl ::core::clone::Clone for Printing3DPackageCompression {
3460 fn clone(&self) -> Self {
3461 *self
3462 }
3463}
3464impl ::core::default::Default for Printing3DPackageCompression {
3465 fn default() -> Self {
3466 Self(0)
3467 }
3468}
3469impl ::windows::core::TypeKind for Printing3DPackageCompression {
3470 type TypeKind = ::windows::core::CopyType;
3471}
3472impl ::core::fmt::Debug for Printing3DPackageCompression {
3473 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
3474 f.debug_tuple("Printing3DPackageCompression").field(&self.0).finish()
3475 }
3476}
3477impl ::windows::core::RuntimeType for Printing3DPackageCompression {
3478 const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"enum(Windows.Graphics.Printing3D.Printing3DPackageCompression;i4)");
3479}
3480#[doc = "*Required features: `\"Graphics_Printing3D\"`*"]
3481#[repr(transparent)]
3482#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
3483pub struct Printing3DTextureEdgeBehavior(pub i32);
3484impl Printing3DTextureEdgeBehavior {
3485 pub const None: Self = Self(0i32);
3486 pub const Wrap: Self = Self(1i32);
3487 pub const Mirror: Self = Self(2i32);
3488 pub const Clamp: Self = Self(3i32);
3489}
3490impl ::core::marker::Copy for Printing3DTextureEdgeBehavior {}
3491impl ::core::clone::Clone for Printing3DTextureEdgeBehavior {
3492 fn clone(&self) -> Self {
3493 *self
3494 }
3495}
3496impl ::core::default::Default for Printing3DTextureEdgeBehavior {
3497 fn default() -> Self {
3498 Self(0)
3499 }
3500}
3501impl ::windows::core::TypeKind for Printing3DTextureEdgeBehavior {
3502 type TypeKind = ::windows::core::CopyType;
3503}
3504impl ::core::fmt::Debug for Printing3DTextureEdgeBehavior {
3505 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
3506 f.debug_tuple("Printing3DTextureEdgeBehavior").field(&self.0).finish()
3507 }
3508}
3509impl ::windows::core::RuntimeType for Printing3DTextureEdgeBehavior {
3510 const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"enum(Windows.Graphics.Printing3D.Printing3DTextureEdgeBehavior;i4)");
3511}
3512#[repr(C)]
3513#[doc = "*Required features: `\"Graphics_Printing3D\"`*"]
3514pub struct Printing3DBufferDescription {
3515 pub Format: Printing3DBufferFormat,
3516 pub Stride: u32,
3517}
3518impl ::core::marker::Copy for Printing3DBufferDescription {}
3519impl ::core::clone::Clone for Printing3DBufferDescription {
3520 fn clone(&self) -> Self {
3521 *self
3522 }
3523}
3524impl ::core::fmt::Debug for Printing3DBufferDescription {
3525 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
3526 f.debug_struct("Printing3DBufferDescription").field("Format", &self.Format).field("Stride", &self.Stride).finish()
3527 }
3528}
3529impl ::windows::core::TypeKind for Printing3DBufferDescription {
3530 type TypeKind = ::windows::core::CopyType;
3531}
3532impl ::windows::core::RuntimeType for Printing3DBufferDescription {
3533 const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"struct(Windows.Graphics.Printing3D.Printing3DBufferDescription;enum(Windows.Graphics.Printing3D.Printing3DBufferFormat;i4);u4)");
3534}
3535impl ::core::cmp::PartialEq for Printing3DBufferDescription {
3536 fn eq(&self, other: &Self) -> bool {
3537 self.Format == other.Format && self.Stride == other.Stride
3538 }
3539}
3540impl ::core::cmp::Eq for Printing3DBufferDescription {}
3541impl ::core::default::Default for Printing3DBufferDescription {
3542 fn default() -> Self {
3543 unsafe { ::core::mem::zeroed() }
3544 }
3545}
3546#[doc = "*Required features: `\"Graphics_Printing3D\"`*"]
3547#[repr(transparent)]
3548pub struct Print3DTaskSourceRequestedHandler(pub ::windows::core::IUnknown);
3549impl Print3DTaskSourceRequestedHandler {
3550 pub fn new<F: FnMut(::core::option::Option<&Print3DTaskSourceRequestedArgs>) -> ::windows::core::Result<()> + ::core::marker::Send + 'static>(invoke: F) -> Self {
3551 let com = Print3DTaskSourceRequestedHandlerBox::<F> { vtable: &Print3DTaskSourceRequestedHandlerBox::<F>::VTABLE, count: ::windows::imp::RefCount::new(1), invoke };
3552 unsafe { ::core::mem::transmute(::std::boxed::Box::new(com)) }
3553 }
3554 pub fn Invoke(&self, args: &Print3DTaskSourceRequestedArgs) -> ::windows::core::Result<()> {
3555 let this = self;
3556 unsafe { (::windows::core::Interface::vtable(this).Invoke)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(args)).ok() }
3557 }
3558}
3559#[repr(C)]
3560struct Print3DTaskSourceRequestedHandlerBox<F: FnMut(::core::option::Option<&Print3DTaskSourceRequestedArgs>) -> ::windows::core::Result<()> + ::core::marker::Send + 'static> {
3561 vtable: *const Print3DTaskSourceRequestedHandler_Vtbl,
3562 invoke: F,
3563 count: ::windows::imp::RefCount,
3564}
3565impl<F: FnMut(::core::option::Option<&Print3DTaskSourceRequestedArgs>) -> ::windows::core::Result<()> + ::core::marker::Send + 'static> Print3DTaskSourceRequestedHandlerBox<F> {
3566 const VTABLE: Print3DTaskSourceRequestedHandler_Vtbl = Print3DTaskSourceRequestedHandler_Vtbl {
3567 base__: ::windows::core::IUnknown_Vtbl { QueryInterface: Self::QueryInterface, AddRef: Self::AddRef, Release: Self::Release },
3568 Invoke: Self::Invoke,
3569 };
3570 unsafe extern "system" fn QueryInterface(this: *mut ::core::ffi::c_void, iid: &::windows::core::GUID, interface: *mut *const ::core::ffi::c_void) -> ::windows::core::HRESULT {
3571 let this = this as *mut *mut ::core::ffi::c_void as *mut Self;
3572 *interface = if iid == &<Print3DTaskSourceRequestedHandler as ::windows::core::ComInterface>::IID || iid == &<::windows::core::IUnknown as ::windows::core::ComInterface>::IID || iid == &<::windows::imp::IAgileObject as ::windows::core::ComInterface>::IID { &mut (*this).vtable as *mut _ as _ } else { ::core::ptr::null_mut() };
3573 if (*interface).is_null() {
3574 ::windows::core::HRESULT(-2147467262)
3575 } else {
3576 (*this).count.add_ref();
3577 ::windows::core::HRESULT(0)
3578 }
3579 }
3580 unsafe extern "system" fn AddRef(this: *mut ::core::ffi::c_void) -> u32 {
3581 let this = this as *mut *mut ::core::ffi::c_void as *mut Self;
3582 (*this).count.add_ref()
3583 }
3584 unsafe extern "system" fn Release(this: *mut ::core::ffi::c_void) -> u32 {
3585 let this = this as *mut *mut ::core::ffi::c_void as *mut Self;
3586 let remaining = (*this).count.release();
3587 if remaining == 0 {
3588 let _ = ::std::boxed::Box::from_raw(this);
3589 }
3590 remaining
3591 }
3592 unsafe extern "system" fn Invoke(this: *mut ::core::ffi::c_void, args: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
3593 let this = this as *mut *mut ::core::ffi::c_void as *mut Self;
3594 ((*this).invoke)(::windows::core::from_raw_borrowed(&args)).into()
3595 }
3596}
3597impl ::core::cmp::PartialEq for Print3DTaskSourceRequestedHandler {
3598 fn eq(&self, other: &Self) -> bool {
3599 self.0 == other.0
3600 }
3601}
3602impl ::core::cmp::Eq for Print3DTaskSourceRequestedHandler {}
3603impl ::core::fmt::Debug for Print3DTaskSourceRequestedHandler {
3604 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
3605 f.debug_tuple("Print3DTaskSourceRequestedHandler").field(&self.0).finish()
3606 }
3607}
3608unsafe impl ::windows::core::Interface for Print3DTaskSourceRequestedHandler {
3609 type Vtable = Print3DTaskSourceRequestedHandler_Vtbl;
3610}
3611impl ::core::clone::Clone for Print3DTaskSourceRequestedHandler {
3612 fn clone(&self) -> Self {
3613 Self(self.0.clone())
3614 }
3615}
3616unsafe impl ::windows::core::ComInterface for Print3DTaskSourceRequestedHandler {
3617 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xe9175e70_c917_46de_bb51_d9a94db3711f);
3618}
3619impl ::windows::core::RuntimeType for Print3DTaskSourceRequestedHandler {
3620 const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"{e9175e70-c917-46de-bb51-d9a94db3711f}");
3621}
3622#[repr(C)]
3623#[doc(hidden)]
3624pub struct Print3DTaskSourceRequestedHandler_Vtbl {
3625 pub base__: ::windows::core::IUnknown_Vtbl,
3626 pub Invoke: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, args: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
3627}
3628#[cfg(feature = "implement")]
3629::core::include!("impl.rs");