]> git.proxmox.com Git - rustc.git/blame - vendor/windows/src/Windows/Win32/UI/Wpf/impl.rs
New upstream version 1.70.0+dfsg1
[rustc.git] / vendor / windows / src / Windows / Win32 / UI / Wpf / impl.rs
CommitLineData
353b0b11
FG
1#[doc = "*Required features: `\"Win32_UI_Wpf\"`, `\"Win32_Graphics_Imaging\"`, `\"implement\"`*"]
2#[cfg(feature = "Win32_Graphics_Imaging")]
3pub trait IMILBitmapEffect_Impl: Sized {
4 fn GetOutput(&self, uiindex: u32, pcontext: ::core::option::Option<&IMILBitmapEffectRenderContext>) -> ::windows::core::Result<super::super::Graphics::Imaging::IWICBitmapSource>;
5 fn GetParentEffect(&self) -> ::windows::core::Result<IMILBitmapEffectGroup>;
6 fn SetInputSource(&self, uiindex: u32, pbitmapsource: ::core::option::Option<&super::super::Graphics::Imaging::IWICBitmapSource>) -> ::windows::core::Result<()>;
7}
8#[cfg(feature = "Win32_Graphics_Imaging")]
9impl ::windows::core::RuntimeName for IMILBitmapEffect {}
10#[cfg(feature = "Win32_Graphics_Imaging")]
11impl IMILBitmapEffect_Vtbl {
12 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IMILBitmapEffect_Impl, const OFFSET: isize>() -> IMILBitmapEffect_Vtbl {
13 unsafe extern "system" fn GetOutput<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IMILBitmapEffect_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, uiindex: u32, pcontext: *mut ::core::ffi::c_void, ppbitmapsource: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
14 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
15 let this = (*this).get_impl();
16 match this.GetOutput(::core::mem::transmute_copy(&uiindex), ::windows::core::from_raw_borrowed(&pcontext)) {
17 ::core::result::Result::Ok(ok__) => {
18 ::core::ptr::write(ppbitmapsource, ::core::mem::transmute(ok__));
19 ::windows::core::HRESULT(0)
20 }
21 ::core::result::Result::Err(err) => err.into(),
22 }
23 }
24 unsafe extern "system" fn GetParentEffect<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IMILBitmapEffect_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppparenteffect: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
25 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
26 let this = (*this).get_impl();
27 match this.GetParentEffect() {
28 ::core::result::Result::Ok(ok__) => {
29 ::core::ptr::write(ppparenteffect, ::core::mem::transmute(ok__));
30 ::windows::core::HRESULT(0)
31 }
32 ::core::result::Result::Err(err) => err.into(),
33 }
34 }
35 unsafe extern "system" fn SetInputSource<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IMILBitmapEffect_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, uiindex: u32, pbitmapsource: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
36 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
37 let this = (*this).get_impl();
38 this.SetInputSource(::core::mem::transmute_copy(&uiindex), ::windows::core::from_raw_borrowed(&pbitmapsource)).into()
39 }
40 Self {
41 base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
42 GetOutput: GetOutput::<Identity, Impl, OFFSET>,
43 GetParentEffect: GetParentEffect::<Identity, Impl, OFFSET>,
44 SetInputSource: SetInputSource::<Identity, Impl, OFFSET>,
45 }
46 }
47 pub fn matches(iid: &windows::core::GUID) -> bool {
48 iid == &<IMILBitmapEffect as ::windows::core::ComInterface>::IID
49 }
50}
51#[doc = "*Required features: `\"Win32_UI_Wpf\"`, `\"implement\"`*"]
52pub trait IMILBitmapEffectConnections_Impl: Sized {
53 fn GetInputConnector(&self, uiindex: u32) -> ::windows::core::Result<IMILBitmapEffectInputConnector>;
54 fn GetOutputConnector(&self, uiindex: u32) -> ::windows::core::Result<IMILBitmapEffectOutputConnector>;
55}
56impl ::windows::core::RuntimeName for IMILBitmapEffectConnections {}
57impl IMILBitmapEffectConnections_Vtbl {
58 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IMILBitmapEffectConnections_Impl, const OFFSET: isize>() -> IMILBitmapEffectConnections_Vtbl {
59 unsafe extern "system" fn GetInputConnector<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IMILBitmapEffectConnections_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, uiindex: u32, ppconnector: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
60 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
61 let this = (*this).get_impl();
62 match this.GetInputConnector(::core::mem::transmute_copy(&uiindex)) {
63 ::core::result::Result::Ok(ok__) => {
64 ::core::ptr::write(ppconnector, ::core::mem::transmute(ok__));
65 ::windows::core::HRESULT(0)
66 }
67 ::core::result::Result::Err(err) => err.into(),
68 }
69 }
70 unsafe extern "system" fn GetOutputConnector<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IMILBitmapEffectConnections_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, uiindex: u32, ppconnector: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
71 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
72 let this = (*this).get_impl();
73 match this.GetOutputConnector(::core::mem::transmute_copy(&uiindex)) {
74 ::core::result::Result::Ok(ok__) => {
75 ::core::ptr::write(ppconnector, ::core::mem::transmute(ok__));
76 ::windows::core::HRESULT(0)
77 }
78 ::core::result::Result::Err(err) => err.into(),
79 }
80 }
81 Self {
82 base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
83 GetInputConnector: GetInputConnector::<Identity, Impl, OFFSET>,
84 GetOutputConnector: GetOutputConnector::<Identity, Impl, OFFSET>,
85 }
86 }
87 pub fn matches(iid: &windows::core::GUID) -> bool {
88 iid == &<IMILBitmapEffectConnections as ::windows::core::ComInterface>::IID
89 }
90}
91#[doc = "*Required features: `\"Win32_UI_Wpf\"`, `\"implement\"`*"]
92pub trait IMILBitmapEffectConnectionsInfo_Impl: Sized {
93 fn GetNumberInputs(&self) -> ::windows::core::Result<u32>;
94 fn GetNumberOutputs(&self) -> ::windows::core::Result<u32>;
95 fn GetInputConnectorInfo(&self, uiindex: u32) -> ::windows::core::Result<IMILBitmapEffectConnectorInfo>;
96 fn GetOutputConnectorInfo(&self, uiindex: u32) -> ::windows::core::Result<IMILBitmapEffectConnectorInfo>;
97}
98impl ::windows::core::RuntimeName for IMILBitmapEffectConnectionsInfo {}
99impl IMILBitmapEffectConnectionsInfo_Vtbl {
100 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IMILBitmapEffectConnectionsInfo_Impl, const OFFSET: isize>() -> IMILBitmapEffectConnectionsInfo_Vtbl {
101 unsafe extern "system" fn GetNumberInputs<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IMILBitmapEffectConnectionsInfo_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, puinuminputs: *mut u32) -> ::windows::core::HRESULT {
102 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
103 let this = (*this).get_impl();
104 match this.GetNumberInputs() {
105 ::core::result::Result::Ok(ok__) => {
106 ::core::ptr::write(puinuminputs, ::core::mem::transmute(ok__));
107 ::windows::core::HRESULT(0)
108 }
109 ::core::result::Result::Err(err) => err.into(),
110 }
111 }
112 unsafe extern "system" fn GetNumberOutputs<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IMILBitmapEffectConnectionsInfo_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, puinumoutputs: *mut u32) -> ::windows::core::HRESULT {
113 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
114 let this = (*this).get_impl();
115 match this.GetNumberOutputs() {
116 ::core::result::Result::Ok(ok__) => {
117 ::core::ptr::write(puinumoutputs, ::core::mem::transmute(ok__));
118 ::windows::core::HRESULT(0)
119 }
120 ::core::result::Result::Err(err) => err.into(),
121 }
122 }
123 unsafe extern "system" fn GetInputConnectorInfo<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IMILBitmapEffectConnectionsInfo_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, uiindex: u32, ppconnectorinfo: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
124 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
125 let this = (*this).get_impl();
126 match this.GetInputConnectorInfo(::core::mem::transmute_copy(&uiindex)) {
127 ::core::result::Result::Ok(ok__) => {
128 ::core::ptr::write(ppconnectorinfo, ::core::mem::transmute(ok__));
129 ::windows::core::HRESULT(0)
130 }
131 ::core::result::Result::Err(err) => err.into(),
132 }
133 }
134 unsafe extern "system" fn GetOutputConnectorInfo<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IMILBitmapEffectConnectionsInfo_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, uiindex: u32, ppconnectorinfo: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
135 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
136 let this = (*this).get_impl();
137 match this.GetOutputConnectorInfo(::core::mem::transmute_copy(&uiindex)) {
138 ::core::result::Result::Ok(ok__) => {
139 ::core::ptr::write(ppconnectorinfo, ::core::mem::transmute(ok__));
140 ::windows::core::HRESULT(0)
141 }
142 ::core::result::Result::Err(err) => err.into(),
143 }
144 }
145 Self {
146 base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
147 GetNumberInputs: GetNumberInputs::<Identity, Impl, OFFSET>,
148 GetNumberOutputs: GetNumberOutputs::<Identity, Impl, OFFSET>,
149 GetInputConnectorInfo: GetInputConnectorInfo::<Identity, Impl, OFFSET>,
150 GetOutputConnectorInfo: GetOutputConnectorInfo::<Identity, Impl, OFFSET>,
151 }
152 }
153 pub fn matches(iid: &windows::core::GUID) -> bool {
154 iid == &<IMILBitmapEffectConnectionsInfo as ::windows::core::ComInterface>::IID
155 }
156}
157#[doc = "*Required features: `\"Win32_UI_Wpf\"`, `\"Win32_Foundation\"`, `\"implement\"`*"]
158#[cfg(feature = "Win32_Foundation")]
159pub trait IMILBitmapEffectConnector_Impl: Sized + IMILBitmapEffectConnectorInfo_Impl {
160 fn IsConnected(&self) -> ::windows::core::Result<super::super::Foundation::VARIANT_BOOL>;
161 fn GetBitmapEffect(&self) -> ::windows::core::Result<IMILBitmapEffect>;
162}
163#[cfg(feature = "Win32_Foundation")]
164impl ::windows::core::RuntimeName for IMILBitmapEffectConnector {}
165#[cfg(feature = "Win32_Foundation")]
166impl IMILBitmapEffectConnector_Vtbl {
167 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IMILBitmapEffectConnector_Impl, const OFFSET: isize>() -> IMILBitmapEffectConnector_Vtbl {
168 unsafe extern "system" fn IsConnected<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IMILBitmapEffectConnector_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pfconnected: *mut super::super::Foundation::VARIANT_BOOL) -> ::windows::core::HRESULT {
169 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
170 let this = (*this).get_impl();
171 match this.IsConnected() {
172 ::core::result::Result::Ok(ok__) => {
173 ::core::ptr::write(pfconnected, ::core::mem::transmute(ok__));
174 ::windows::core::HRESULT(0)
175 }
176 ::core::result::Result::Err(err) => err.into(),
177 }
178 }
179 unsafe extern "system" fn GetBitmapEffect<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IMILBitmapEffectConnector_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppeffect: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
180 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
181 let this = (*this).get_impl();
182 match this.GetBitmapEffect() {
183 ::core::result::Result::Ok(ok__) => {
184 ::core::ptr::write(ppeffect, ::core::mem::transmute(ok__));
185 ::windows::core::HRESULT(0)
186 }
187 ::core::result::Result::Err(err) => err.into(),
188 }
189 }
190 Self {
191 base__: IMILBitmapEffectConnectorInfo_Vtbl::new::<Identity, Impl, OFFSET>(),
192 IsConnected: IsConnected::<Identity, Impl, OFFSET>,
193 GetBitmapEffect: GetBitmapEffect::<Identity, Impl, OFFSET>,
194 }
195 }
196 pub fn matches(iid: &windows::core::GUID) -> bool {
197 iid == &<IMILBitmapEffectConnector as ::windows::core::ComInterface>::IID || iid == &<IMILBitmapEffectConnectorInfo as ::windows::core::ComInterface>::IID
198 }
199}
200#[doc = "*Required features: `\"Win32_UI_Wpf\"`, `\"implement\"`*"]
201pub trait IMILBitmapEffectConnectorInfo_Impl: Sized {
202 fn GetIndex(&self) -> ::windows::core::Result<u32>;
203 fn GetOptimalFormat(&self) -> ::windows::core::Result<::windows::core::GUID>;
204 fn GetNumberFormats(&self) -> ::windows::core::Result<u32>;
205 fn GetFormat(&self, ulindex: u32) -> ::windows::core::Result<::windows::core::GUID>;
206}
207impl ::windows::core::RuntimeName for IMILBitmapEffectConnectorInfo {}
208impl IMILBitmapEffectConnectorInfo_Vtbl {
209 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IMILBitmapEffectConnectorInfo_Impl, const OFFSET: isize>() -> IMILBitmapEffectConnectorInfo_Vtbl {
210 unsafe extern "system" fn GetIndex<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IMILBitmapEffectConnectorInfo_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, puiindex: *mut u32) -> ::windows::core::HRESULT {
211 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
212 let this = (*this).get_impl();
213 match this.GetIndex() {
214 ::core::result::Result::Ok(ok__) => {
215 ::core::ptr::write(puiindex, ::core::mem::transmute(ok__));
216 ::windows::core::HRESULT(0)
217 }
218 ::core::result::Result::Err(err) => err.into(),
219 }
220 }
221 unsafe extern "system" fn GetOptimalFormat<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IMILBitmapEffectConnectorInfo_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pformat: *mut ::windows::core::GUID) -> ::windows::core::HRESULT {
222 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
223 let this = (*this).get_impl();
224 match this.GetOptimalFormat() {
225 ::core::result::Result::Ok(ok__) => {
226 ::core::ptr::write(pformat, ::core::mem::transmute(ok__));
227 ::windows::core::HRESULT(0)
228 }
229 ::core::result::Result::Err(err) => err.into(),
230 }
231 }
232 unsafe extern "system" fn GetNumberFormats<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IMILBitmapEffectConnectorInfo_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pulnumberformats: *mut u32) -> ::windows::core::HRESULT {
233 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
234 let this = (*this).get_impl();
235 match this.GetNumberFormats() {
236 ::core::result::Result::Ok(ok__) => {
237 ::core::ptr::write(pulnumberformats, ::core::mem::transmute(ok__));
238 ::windows::core::HRESULT(0)
239 }
240 ::core::result::Result::Err(err) => err.into(),
241 }
242 }
243 unsafe extern "system" fn GetFormat<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IMILBitmapEffectConnectorInfo_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ulindex: u32, pformat: *mut ::windows::core::GUID) -> ::windows::core::HRESULT {
244 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
245 let this = (*this).get_impl();
246 match this.GetFormat(::core::mem::transmute_copy(&ulindex)) {
247 ::core::result::Result::Ok(ok__) => {
248 ::core::ptr::write(pformat, ::core::mem::transmute(ok__));
249 ::windows::core::HRESULT(0)
250 }
251 ::core::result::Result::Err(err) => err.into(),
252 }
253 }
254 Self {
255 base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
256 GetIndex: GetIndex::<Identity, Impl, OFFSET>,
257 GetOptimalFormat: GetOptimalFormat::<Identity, Impl, OFFSET>,
258 GetNumberFormats: GetNumberFormats::<Identity, Impl, OFFSET>,
259 GetFormat: GetFormat::<Identity, Impl, OFFSET>,
260 }
261 }
262 pub fn matches(iid: &windows::core::GUID) -> bool {
263 iid == &<IMILBitmapEffectConnectorInfo as ::windows::core::ComInterface>::IID
264 }
265}
266#[doc = "*Required features: `\"Win32_UI_Wpf\"`, `\"implement\"`*"]
267pub trait IMILBitmapEffectEvents_Impl: Sized {
268 fn PropertyChange(&self, peffect: ::core::option::Option<&IMILBitmapEffect>, bstrpropertyname: &::windows::core::BSTR) -> ::windows::core::Result<()>;
269 fn DirtyRegion(&self, peffect: ::core::option::Option<&IMILBitmapEffect>, prect: *const MilRectD) -> ::windows::core::Result<()>;
270}
271impl ::windows::core::RuntimeName for IMILBitmapEffectEvents {}
272impl IMILBitmapEffectEvents_Vtbl {
273 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IMILBitmapEffectEvents_Impl, const OFFSET: isize>() -> IMILBitmapEffectEvents_Vtbl {
274 unsafe extern "system" fn PropertyChange<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IMILBitmapEffectEvents_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, peffect: *mut ::core::ffi::c_void, bstrpropertyname: ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
275 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
276 let this = (*this).get_impl();
277 this.PropertyChange(::windows::core::from_raw_borrowed(&peffect), ::core::mem::transmute(&bstrpropertyname)).into()
278 }
279 unsafe extern "system" fn DirtyRegion<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IMILBitmapEffectEvents_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, peffect: *mut ::core::ffi::c_void, prect: *const MilRectD) -> ::windows::core::HRESULT {
280 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
281 let this = (*this).get_impl();
282 this.DirtyRegion(::windows::core::from_raw_borrowed(&peffect), ::core::mem::transmute_copy(&prect)).into()
283 }
284 Self {
285 base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
286 PropertyChange: PropertyChange::<Identity, Impl, OFFSET>,
287 DirtyRegion: DirtyRegion::<Identity, Impl, OFFSET>,
288 }
289 }
290 pub fn matches(iid: &windows::core::GUID) -> bool {
291 iid == &<IMILBitmapEffectEvents as ::windows::core::ComInterface>::IID
292 }
293}
294#[doc = "*Required features: `\"Win32_UI_Wpf\"`, `\"implement\"`*"]
295pub trait IMILBitmapEffectFactory_Impl: Sized {
296 fn CreateEffect(&self, pguideffect: *const ::windows::core::GUID) -> ::windows::core::Result<IMILBitmapEffect>;
297 fn CreateContext(&self) -> ::windows::core::Result<IMILBitmapEffectRenderContext>;
298 fn CreateEffectOuter(&self) -> ::windows::core::Result<IMILBitmapEffect>;
299}
300impl ::windows::core::RuntimeName for IMILBitmapEffectFactory {}
301impl IMILBitmapEffectFactory_Vtbl {
302 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IMILBitmapEffectFactory_Impl, const OFFSET: isize>() -> IMILBitmapEffectFactory_Vtbl {
303 unsafe extern "system" fn CreateEffect<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IMILBitmapEffectFactory_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pguideffect: *const ::windows::core::GUID, ppeffect: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
304 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
305 let this = (*this).get_impl();
306 match this.CreateEffect(::core::mem::transmute_copy(&pguideffect)) {
307 ::core::result::Result::Ok(ok__) => {
308 ::core::ptr::write(ppeffect, ::core::mem::transmute(ok__));
309 ::windows::core::HRESULT(0)
310 }
311 ::core::result::Result::Err(err) => err.into(),
312 }
313 }
314 unsafe extern "system" fn CreateContext<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IMILBitmapEffectFactory_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppcontext: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
315 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
316 let this = (*this).get_impl();
317 match this.CreateContext() {
318 ::core::result::Result::Ok(ok__) => {
319 ::core::ptr::write(ppcontext, ::core::mem::transmute(ok__));
320 ::windows::core::HRESULT(0)
321 }
322 ::core::result::Result::Err(err) => err.into(),
323 }
324 }
325 unsafe extern "system" fn CreateEffectOuter<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IMILBitmapEffectFactory_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppeffect: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
326 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
327 let this = (*this).get_impl();
328 match this.CreateEffectOuter() {
329 ::core::result::Result::Ok(ok__) => {
330 ::core::ptr::write(ppeffect, ::core::mem::transmute(ok__));
331 ::windows::core::HRESULT(0)
332 }
333 ::core::result::Result::Err(err) => err.into(),
334 }
335 }
336 Self {
337 base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
338 CreateEffect: CreateEffect::<Identity, Impl, OFFSET>,
339 CreateContext: CreateContext::<Identity, Impl, OFFSET>,
340 CreateEffectOuter: CreateEffectOuter::<Identity, Impl, OFFSET>,
341 }
342 }
343 pub fn matches(iid: &windows::core::GUID) -> bool {
344 iid == &<IMILBitmapEffectFactory as ::windows::core::ComInterface>::IID
345 }
346}
347#[doc = "*Required features: `\"Win32_UI_Wpf\"`, `\"implement\"`*"]
348pub trait IMILBitmapEffectGroup_Impl: Sized {
349 fn GetInteriorInputConnector(&self, uiindex: u32) -> ::windows::core::Result<IMILBitmapEffectOutputConnector>;
350 fn GetInteriorOutputConnector(&self, uiindex: u32) -> ::windows::core::Result<IMILBitmapEffectInputConnector>;
351 fn Add(&self, peffect: ::core::option::Option<&IMILBitmapEffect>) -> ::windows::core::Result<()>;
352}
353impl ::windows::core::RuntimeName for IMILBitmapEffectGroup {}
354impl IMILBitmapEffectGroup_Vtbl {
355 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IMILBitmapEffectGroup_Impl, const OFFSET: isize>() -> IMILBitmapEffectGroup_Vtbl {
356 unsafe extern "system" fn GetInteriorInputConnector<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IMILBitmapEffectGroup_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, uiindex: u32, ppconnector: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
357 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
358 let this = (*this).get_impl();
359 match this.GetInteriorInputConnector(::core::mem::transmute_copy(&uiindex)) {
360 ::core::result::Result::Ok(ok__) => {
361 ::core::ptr::write(ppconnector, ::core::mem::transmute(ok__));
362 ::windows::core::HRESULT(0)
363 }
364 ::core::result::Result::Err(err) => err.into(),
365 }
366 }
367 unsafe extern "system" fn GetInteriorOutputConnector<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IMILBitmapEffectGroup_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, uiindex: u32, ppconnector: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
368 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
369 let this = (*this).get_impl();
370 match this.GetInteriorOutputConnector(::core::mem::transmute_copy(&uiindex)) {
371 ::core::result::Result::Ok(ok__) => {
372 ::core::ptr::write(ppconnector, ::core::mem::transmute(ok__));
373 ::windows::core::HRESULT(0)
374 }
375 ::core::result::Result::Err(err) => err.into(),
376 }
377 }
378 unsafe extern "system" fn Add<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IMILBitmapEffectGroup_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, peffect: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
379 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
380 let this = (*this).get_impl();
381 this.Add(::windows::core::from_raw_borrowed(&peffect)).into()
382 }
383 Self {
384 base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
385 GetInteriorInputConnector: GetInteriorInputConnector::<Identity, Impl, OFFSET>,
386 GetInteriorOutputConnector: GetInteriorOutputConnector::<Identity, Impl, OFFSET>,
387 Add: Add::<Identity, Impl, OFFSET>,
388 }
389 }
390 pub fn matches(iid: &windows::core::GUID) -> bool {
391 iid == &<IMILBitmapEffectGroup as ::windows::core::ComInterface>::IID
392 }
393}
394#[doc = "*Required features: `\"Win32_UI_Wpf\"`, `\"implement\"`*"]
395pub trait IMILBitmapEffectGroupImpl_Impl: Sized {
396 fn Preprocess(&self, pcontext: ::core::option::Option<&IMILBitmapEffectRenderContext>) -> ::windows::core::Result<()>;
397 fn GetNumberChildren(&self) -> ::windows::core::Result<u32>;
398 fn GetChildren(&self) -> ::windows::core::Result<IMILBitmapEffects>;
399}
400impl ::windows::core::RuntimeName for IMILBitmapEffectGroupImpl {}
401impl IMILBitmapEffectGroupImpl_Vtbl {
402 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IMILBitmapEffectGroupImpl_Impl, const OFFSET: isize>() -> IMILBitmapEffectGroupImpl_Vtbl {
403 unsafe extern "system" fn Preprocess<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IMILBitmapEffectGroupImpl_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pcontext: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
404 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
405 let this = (*this).get_impl();
406 this.Preprocess(::windows::core::from_raw_borrowed(&pcontext)).into()
407 }
408 unsafe extern "system" fn GetNumberChildren<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IMILBitmapEffectGroupImpl_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, puinumberchildren: *mut u32) -> ::windows::core::HRESULT {
409 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
410 let this = (*this).get_impl();
411 match this.GetNumberChildren() {
412 ::core::result::Result::Ok(ok__) => {
413 ::core::ptr::write(puinumberchildren, ::core::mem::transmute(ok__));
414 ::windows::core::HRESULT(0)
415 }
416 ::core::result::Result::Err(err) => err.into(),
417 }
418 }
419 unsafe extern "system" fn GetChildren<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IMILBitmapEffectGroupImpl_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pchildren: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
420 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
421 let this = (*this).get_impl();
422 match this.GetChildren() {
423 ::core::result::Result::Ok(ok__) => {
424 ::core::ptr::write(pchildren, ::core::mem::transmute(ok__));
425 ::windows::core::HRESULT(0)
426 }
427 ::core::result::Result::Err(err) => err.into(),
428 }
429 }
430 Self {
431 base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
432 Preprocess: Preprocess::<Identity, Impl, OFFSET>,
433 GetNumberChildren: GetNumberChildren::<Identity, Impl, OFFSET>,
434 GetChildren: GetChildren::<Identity, Impl, OFFSET>,
435 }
436 }
437 pub fn matches(iid: &windows::core::GUID) -> bool {
438 iid == &<IMILBitmapEffectGroupImpl as ::windows::core::ComInterface>::IID
439 }
440}
441#[doc = "*Required features: `\"Win32_UI_Wpf\"`, `\"Win32_Foundation\"`, `\"Win32_Graphics_Imaging\"`, `\"implement\"`*"]
442#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Imaging"))]
443pub trait IMILBitmapEffectImpl_Impl: Sized {
444 fn IsInPlaceModificationAllowed(&self, poutputconnector: ::core::option::Option<&IMILBitmapEffectOutputConnector>) -> ::windows::core::Result<super::super::Foundation::VARIANT_BOOL>;
445 fn SetParentEffect(&self, pparenteffect: ::core::option::Option<&IMILBitmapEffectGroup>) -> ::windows::core::Result<()>;
446 fn GetInputSource(&self, uiindex: u32) -> ::windows::core::Result<super::super::Graphics::Imaging::IWICBitmapSource>;
447 fn GetInputSourceBounds(&self, uiindex: u32, prect: *mut MilRectD) -> ::windows::core::Result<()>;
448 fn GetInputBitmapSource(&self, uiindex: u32, prendercontext: ::core::option::Option<&IMILBitmapEffectRenderContext>, pfmodifyinplace: *mut super::super::Foundation::VARIANT_BOOL, ppbitmapsource: *mut ::core::option::Option<super::super::Graphics::Imaging::IWICBitmapSource>) -> ::windows::core::Result<()>;
449 fn GetOutputBitmapSource(&self, uiindex: u32, prendercontext: ::core::option::Option<&IMILBitmapEffectRenderContext>, pfmodifyinplace: *mut super::super::Foundation::VARIANT_BOOL, ppbitmapsource: *mut ::core::option::Option<super::super::Graphics::Imaging::IWICBitmapSource>) -> ::windows::core::Result<()>;
450 fn Initialize(&self, pinner: ::core::option::Option<&::windows::core::IUnknown>) -> ::windows::core::Result<()>;
451}
452#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Imaging"))]
453impl ::windows::core::RuntimeName for IMILBitmapEffectImpl {}
454#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Imaging"))]
455impl IMILBitmapEffectImpl_Vtbl {
456 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IMILBitmapEffectImpl_Impl, const OFFSET: isize>() -> IMILBitmapEffectImpl_Vtbl {
457 unsafe extern "system" fn IsInPlaceModificationAllowed<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IMILBitmapEffectImpl_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, poutputconnector: *mut ::core::ffi::c_void, pfmodifyinplace: *mut super::super::Foundation::VARIANT_BOOL) -> ::windows::core::HRESULT {
458 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
459 let this = (*this).get_impl();
460 match this.IsInPlaceModificationAllowed(::windows::core::from_raw_borrowed(&poutputconnector)) {
461 ::core::result::Result::Ok(ok__) => {
462 ::core::ptr::write(pfmodifyinplace, ::core::mem::transmute(ok__));
463 ::windows::core::HRESULT(0)
464 }
465 ::core::result::Result::Err(err) => err.into(),
466 }
467 }
468 unsafe extern "system" fn SetParentEffect<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IMILBitmapEffectImpl_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pparenteffect: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
469 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
470 let this = (*this).get_impl();
471 this.SetParentEffect(::windows::core::from_raw_borrowed(&pparenteffect)).into()
472 }
473 unsafe extern "system" fn GetInputSource<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IMILBitmapEffectImpl_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, uiindex: u32, ppbitmapsource: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
474 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
475 let this = (*this).get_impl();
476 match this.GetInputSource(::core::mem::transmute_copy(&uiindex)) {
477 ::core::result::Result::Ok(ok__) => {
478 ::core::ptr::write(ppbitmapsource, ::core::mem::transmute(ok__));
479 ::windows::core::HRESULT(0)
480 }
481 ::core::result::Result::Err(err) => err.into(),
482 }
483 }
484 unsafe extern "system" fn GetInputSourceBounds<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IMILBitmapEffectImpl_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, uiindex: u32, prect: *mut MilRectD) -> ::windows::core::HRESULT {
485 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
486 let this = (*this).get_impl();
487 this.GetInputSourceBounds(::core::mem::transmute_copy(&uiindex), ::core::mem::transmute_copy(&prect)).into()
488 }
489 unsafe extern "system" fn GetInputBitmapSource<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IMILBitmapEffectImpl_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, uiindex: u32, prendercontext: *mut ::core::ffi::c_void, pfmodifyinplace: *mut super::super::Foundation::VARIANT_BOOL, ppbitmapsource: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
490 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
491 let this = (*this).get_impl();
492 this.GetInputBitmapSource(::core::mem::transmute_copy(&uiindex), ::windows::core::from_raw_borrowed(&prendercontext), ::core::mem::transmute_copy(&pfmodifyinplace), ::core::mem::transmute_copy(&ppbitmapsource)).into()
493 }
494 unsafe extern "system" fn GetOutputBitmapSource<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IMILBitmapEffectImpl_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, uiindex: u32, prendercontext: *mut ::core::ffi::c_void, pfmodifyinplace: *mut super::super::Foundation::VARIANT_BOOL, ppbitmapsource: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
495 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
496 let this = (*this).get_impl();
497 this.GetOutputBitmapSource(::core::mem::transmute_copy(&uiindex), ::windows::core::from_raw_borrowed(&prendercontext), ::core::mem::transmute_copy(&pfmodifyinplace), ::core::mem::transmute_copy(&ppbitmapsource)).into()
498 }
499 unsafe extern "system" fn Initialize<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IMILBitmapEffectImpl_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pinner: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
500 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
501 let this = (*this).get_impl();
502 this.Initialize(::windows::core::from_raw_borrowed(&pinner)).into()
503 }
504 Self {
505 base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
506 IsInPlaceModificationAllowed: IsInPlaceModificationAllowed::<Identity, Impl, OFFSET>,
507 SetParentEffect: SetParentEffect::<Identity, Impl, OFFSET>,
508 GetInputSource: GetInputSource::<Identity, Impl, OFFSET>,
509 GetInputSourceBounds: GetInputSourceBounds::<Identity, Impl, OFFSET>,
510 GetInputBitmapSource: GetInputBitmapSource::<Identity, Impl, OFFSET>,
511 GetOutputBitmapSource: GetOutputBitmapSource::<Identity, Impl, OFFSET>,
512 Initialize: Initialize::<Identity, Impl, OFFSET>,
513 }
514 }
515 pub fn matches(iid: &windows::core::GUID) -> bool {
516 iid == &<IMILBitmapEffectImpl as ::windows::core::ComInterface>::IID
517 }
518}
519#[doc = "*Required features: `\"Win32_UI_Wpf\"`, `\"Win32_Foundation\"`, `\"implement\"`*"]
520#[cfg(feature = "Win32_Foundation")]
521pub trait IMILBitmapEffectInputConnector_Impl: Sized + IMILBitmapEffectConnector_Impl {
522 fn ConnectTo(&self, pconnector: ::core::option::Option<&IMILBitmapEffectOutputConnector>) -> ::windows::core::Result<()>;
523 fn GetConnection(&self) -> ::windows::core::Result<IMILBitmapEffectOutputConnector>;
524}
525#[cfg(feature = "Win32_Foundation")]
526impl ::windows::core::RuntimeName for IMILBitmapEffectInputConnector {}
527#[cfg(feature = "Win32_Foundation")]
528impl IMILBitmapEffectInputConnector_Vtbl {
529 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IMILBitmapEffectInputConnector_Impl, const OFFSET: isize>() -> IMILBitmapEffectInputConnector_Vtbl {
530 unsafe extern "system" fn ConnectTo<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IMILBitmapEffectInputConnector_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pconnector: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
531 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
532 let this = (*this).get_impl();
533 this.ConnectTo(::windows::core::from_raw_borrowed(&pconnector)).into()
534 }
535 unsafe extern "system" fn GetConnection<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IMILBitmapEffectInputConnector_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppconnector: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
536 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
537 let this = (*this).get_impl();
538 match this.GetConnection() {
539 ::core::result::Result::Ok(ok__) => {
540 ::core::ptr::write(ppconnector, ::core::mem::transmute(ok__));
541 ::windows::core::HRESULT(0)
542 }
543 ::core::result::Result::Err(err) => err.into(),
544 }
545 }
546 Self {
547 base__: IMILBitmapEffectConnector_Vtbl::new::<Identity, Impl, OFFSET>(),
548 ConnectTo: ConnectTo::<Identity, Impl, OFFSET>,
549 GetConnection: GetConnection::<Identity, Impl, OFFSET>,
550 }
551 }
552 pub fn matches(iid: &windows::core::GUID) -> bool {
553 iid == &<IMILBitmapEffectInputConnector as ::windows::core::ComInterface>::IID || iid == &<IMILBitmapEffectConnectorInfo as ::windows::core::ComInterface>::IID || iid == &<IMILBitmapEffectConnector as ::windows::core::ComInterface>::IID
554 }
555}
556#[doc = "*Required features: `\"Win32_UI_Wpf\"`, `\"implement\"`*"]
557pub trait IMILBitmapEffectInteriorInputConnector_Impl: Sized {
558 fn GetInputConnector(&self) -> ::windows::core::Result<IMILBitmapEffectInputConnector>;
559}
560impl ::windows::core::RuntimeName for IMILBitmapEffectInteriorInputConnector {}
561impl IMILBitmapEffectInteriorInputConnector_Vtbl {
562 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IMILBitmapEffectInteriorInputConnector_Impl, const OFFSET: isize>() -> IMILBitmapEffectInteriorInputConnector_Vtbl {
563 unsafe extern "system" fn GetInputConnector<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IMILBitmapEffectInteriorInputConnector_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pinputconnector: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
564 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
565 let this = (*this).get_impl();
566 match this.GetInputConnector() {
567 ::core::result::Result::Ok(ok__) => {
568 ::core::ptr::write(pinputconnector, ::core::mem::transmute(ok__));
569 ::windows::core::HRESULT(0)
570 }
571 ::core::result::Result::Err(err) => err.into(),
572 }
573 }
574 Self { base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(), GetInputConnector: GetInputConnector::<Identity, Impl, OFFSET> }
575 }
576 pub fn matches(iid: &windows::core::GUID) -> bool {
577 iid == &<IMILBitmapEffectInteriorInputConnector as ::windows::core::ComInterface>::IID
578 }
579}
580#[doc = "*Required features: `\"Win32_UI_Wpf\"`, `\"implement\"`*"]
581pub trait IMILBitmapEffectInteriorOutputConnector_Impl: Sized {
582 fn GetOutputConnector(&self) -> ::windows::core::Result<IMILBitmapEffectOutputConnector>;
583}
584impl ::windows::core::RuntimeName for IMILBitmapEffectInteriorOutputConnector {}
585impl IMILBitmapEffectInteriorOutputConnector_Vtbl {
586 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IMILBitmapEffectInteriorOutputConnector_Impl, const OFFSET: isize>() -> IMILBitmapEffectInteriorOutputConnector_Vtbl {
587 unsafe extern "system" fn GetOutputConnector<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IMILBitmapEffectInteriorOutputConnector_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, poutputconnector: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
588 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
589 let this = (*this).get_impl();
590 match this.GetOutputConnector() {
591 ::core::result::Result::Ok(ok__) => {
592 ::core::ptr::write(poutputconnector, ::core::mem::transmute(ok__));
593 ::windows::core::HRESULT(0)
594 }
595 ::core::result::Result::Err(err) => err.into(),
596 }
597 }
598 Self { base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(), GetOutputConnector: GetOutputConnector::<Identity, Impl, OFFSET> }
599 }
600 pub fn matches(iid: &windows::core::GUID) -> bool {
601 iid == &<IMILBitmapEffectInteriorOutputConnector as ::windows::core::ComInterface>::IID
602 }
603}
604#[doc = "*Required features: `\"Win32_UI_Wpf\"`, `\"Win32_Foundation\"`, `\"implement\"`*"]
605#[cfg(feature = "Win32_Foundation")]
606pub trait IMILBitmapEffectOutputConnector_Impl: Sized + IMILBitmapEffectConnector_Impl {
607 fn GetNumberConnections(&self) -> ::windows::core::Result<u32>;
608 fn GetConnection(&self, uiindex: u32) -> ::windows::core::Result<IMILBitmapEffectInputConnector>;
609}
610#[cfg(feature = "Win32_Foundation")]
611impl ::windows::core::RuntimeName for IMILBitmapEffectOutputConnector {}
612#[cfg(feature = "Win32_Foundation")]
613impl IMILBitmapEffectOutputConnector_Vtbl {
614 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IMILBitmapEffectOutputConnector_Impl, const OFFSET: isize>() -> IMILBitmapEffectOutputConnector_Vtbl {
615 unsafe extern "system" fn GetNumberConnections<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IMILBitmapEffectOutputConnector_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, puinumberconnections: *mut u32) -> ::windows::core::HRESULT {
616 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
617 let this = (*this).get_impl();
618 match this.GetNumberConnections() {
619 ::core::result::Result::Ok(ok__) => {
620 ::core::ptr::write(puinumberconnections, ::core::mem::transmute(ok__));
621 ::windows::core::HRESULT(0)
622 }
623 ::core::result::Result::Err(err) => err.into(),
624 }
625 }
626 unsafe extern "system" fn GetConnection<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IMILBitmapEffectOutputConnector_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, uiindex: u32, ppconnection: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
627 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
628 let this = (*this).get_impl();
629 match this.GetConnection(::core::mem::transmute_copy(&uiindex)) {
630 ::core::result::Result::Ok(ok__) => {
631 ::core::ptr::write(ppconnection, ::core::mem::transmute(ok__));
632 ::windows::core::HRESULT(0)
633 }
634 ::core::result::Result::Err(err) => err.into(),
635 }
636 }
637 Self {
638 base__: IMILBitmapEffectConnector_Vtbl::new::<Identity, Impl, OFFSET>(),
639 GetNumberConnections: GetNumberConnections::<Identity, Impl, OFFSET>,
640 GetConnection: GetConnection::<Identity, Impl, OFFSET>,
641 }
642 }
643 pub fn matches(iid: &windows::core::GUID) -> bool {
644 iid == &<IMILBitmapEffectOutputConnector as ::windows::core::ComInterface>::IID || iid == &<IMILBitmapEffectConnectorInfo as ::windows::core::ComInterface>::IID || iid == &<IMILBitmapEffectConnector as ::windows::core::ComInterface>::IID
645 }
646}
647#[doc = "*Required features: `\"Win32_UI_Wpf\"`, `\"implement\"`*"]
648pub trait IMILBitmapEffectOutputConnectorImpl_Impl: Sized {
649 fn AddBackLink(&self, pconnection: ::core::option::Option<&IMILBitmapEffectInputConnector>) -> ::windows::core::Result<()>;
650 fn RemoveBackLink(&self, pconnection: ::core::option::Option<&IMILBitmapEffectInputConnector>) -> ::windows::core::Result<()>;
651}
652impl ::windows::core::RuntimeName for IMILBitmapEffectOutputConnectorImpl {}
653impl IMILBitmapEffectOutputConnectorImpl_Vtbl {
654 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IMILBitmapEffectOutputConnectorImpl_Impl, const OFFSET: isize>() -> IMILBitmapEffectOutputConnectorImpl_Vtbl {
655 unsafe extern "system" fn AddBackLink<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IMILBitmapEffectOutputConnectorImpl_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pconnection: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
656 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
657 let this = (*this).get_impl();
658 this.AddBackLink(::windows::core::from_raw_borrowed(&pconnection)).into()
659 }
660 unsafe extern "system" fn RemoveBackLink<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IMILBitmapEffectOutputConnectorImpl_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pconnection: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
661 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
662 let this = (*this).get_impl();
663 this.RemoveBackLink(::windows::core::from_raw_borrowed(&pconnection)).into()
664 }
665 Self {
666 base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
667 AddBackLink: AddBackLink::<Identity, Impl, OFFSET>,
668 RemoveBackLink: RemoveBackLink::<Identity, Impl, OFFSET>,
669 }
670 }
671 pub fn matches(iid: &windows::core::GUID) -> bool {
672 iid == &<IMILBitmapEffectOutputConnectorImpl as ::windows::core::ComInterface>::IID
673 }
674}
675#[doc = "*Required features: `\"Win32_UI_Wpf\"`, `\"Win32_Foundation\"`, `\"Win32_Graphics_Dwm\"`, `\"Win32_Graphics_Imaging\"`, `\"implement\"`*"]
676#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Dwm", feature = "Win32_Graphics_Imaging"))]
677pub trait IMILBitmapEffectPrimitive_Impl: Sized {
678 fn GetOutput(&self, uiindex: u32, pcontext: ::core::option::Option<&IMILBitmapEffectRenderContext>, pfmodifyinplace: *mut super::super::Foundation::VARIANT_BOOL, ppbitmapsource: *mut ::core::option::Option<super::super::Graphics::Imaging::IWICBitmapSource>) -> ::windows::core::Result<()>;
679 fn TransformPoint(&self, uiindex: u32, p: *mut MilPoint2D, fforwardtransform: super::super::Foundation::VARIANT_BOOL, pcontext: ::core::option::Option<&IMILBitmapEffectRenderContext>, pfpointtransformed: *mut super::super::Foundation::VARIANT_BOOL) -> ::windows::core::Result<()>;
680 fn TransformRect(&self, uiindex: u32, p: *mut MilRectD, fforwardtransform: super::super::Foundation::VARIANT_BOOL, pcontext: ::core::option::Option<&IMILBitmapEffectRenderContext>) -> ::windows::core::Result<()>;
681 fn HasAffineTransform(&self, uiindex: u32) -> ::windows::core::Result<super::super::Foundation::VARIANT_BOOL>;
682 fn HasInverseTransform(&self, uiindex: u32) -> ::windows::core::Result<super::super::Foundation::VARIANT_BOOL>;
683 fn GetAffineMatrix(&self, uiindex: u32, pmatrix: *mut super::super::Graphics::Dwm::MilMatrix3x2D) -> ::windows::core::Result<()>;
684}
685#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Dwm", feature = "Win32_Graphics_Imaging"))]
686impl ::windows::core::RuntimeName for IMILBitmapEffectPrimitive {}
687#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Dwm", feature = "Win32_Graphics_Imaging"))]
688impl IMILBitmapEffectPrimitive_Vtbl {
689 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IMILBitmapEffectPrimitive_Impl, const OFFSET: isize>() -> IMILBitmapEffectPrimitive_Vtbl {
690 unsafe extern "system" fn GetOutput<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IMILBitmapEffectPrimitive_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, uiindex: u32, pcontext: *mut ::core::ffi::c_void, pfmodifyinplace: *mut super::super::Foundation::VARIANT_BOOL, ppbitmapsource: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
691 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
692 let this = (*this).get_impl();
693 this.GetOutput(::core::mem::transmute_copy(&uiindex), ::windows::core::from_raw_borrowed(&pcontext), ::core::mem::transmute_copy(&pfmodifyinplace), ::core::mem::transmute_copy(&ppbitmapsource)).into()
694 }
695 unsafe extern "system" fn TransformPoint<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IMILBitmapEffectPrimitive_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, uiindex: u32, p: *mut MilPoint2D, fforwardtransform: super::super::Foundation::VARIANT_BOOL, pcontext: *mut ::core::ffi::c_void, pfpointtransformed: *mut super::super::Foundation::VARIANT_BOOL) -> ::windows::core::HRESULT {
696 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
697 let this = (*this).get_impl();
698 this.TransformPoint(::core::mem::transmute_copy(&uiindex), ::core::mem::transmute_copy(&p), ::core::mem::transmute_copy(&fforwardtransform), ::windows::core::from_raw_borrowed(&pcontext), ::core::mem::transmute_copy(&pfpointtransformed)).into()
699 }
700 unsafe extern "system" fn TransformRect<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IMILBitmapEffectPrimitive_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, uiindex: u32, p: *mut MilRectD, fforwardtransform: super::super::Foundation::VARIANT_BOOL, pcontext: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
701 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
702 let this = (*this).get_impl();
703 this.TransformRect(::core::mem::transmute_copy(&uiindex), ::core::mem::transmute_copy(&p), ::core::mem::transmute_copy(&fforwardtransform), ::windows::core::from_raw_borrowed(&pcontext)).into()
704 }
705 unsafe extern "system" fn HasAffineTransform<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IMILBitmapEffectPrimitive_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, uiindex: u32, pfaffine: *mut super::super::Foundation::VARIANT_BOOL) -> ::windows::core::HRESULT {
706 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
707 let this = (*this).get_impl();
708 match this.HasAffineTransform(::core::mem::transmute_copy(&uiindex)) {
709 ::core::result::Result::Ok(ok__) => {
710 ::core::ptr::write(pfaffine, ::core::mem::transmute(ok__));
711 ::windows::core::HRESULT(0)
712 }
713 ::core::result::Result::Err(err) => err.into(),
714 }
715 }
716 unsafe extern "system" fn HasInverseTransform<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IMILBitmapEffectPrimitive_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, uiindex: u32, pfhasinverse: *mut super::super::Foundation::VARIANT_BOOL) -> ::windows::core::HRESULT {
717 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
718 let this = (*this).get_impl();
719 match this.HasInverseTransform(::core::mem::transmute_copy(&uiindex)) {
720 ::core::result::Result::Ok(ok__) => {
721 ::core::ptr::write(pfhasinverse, ::core::mem::transmute(ok__));
722 ::windows::core::HRESULT(0)
723 }
724 ::core::result::Result::Err(err) => err.into(),
725 }
726 }
727 unsafe extern "system" fn GetAffineMatrix<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IMILBitmapEffectPrimitive_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, uiindex: u32, pmatrix: *mut super::super::Graphics::Dwm::MilMatrix3x2D) -> ::windows::core::HRESULT {
728 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
729 let this = (*this).get_impl();
730 this.GetAffineMatrix(::core::mem::transmute_copy(&uiindex), ::core::mem::transmute_copy(&pmatrix)).into()
731 }
732 Self {
733 base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
734 GetOutput: GetOutput::<Identity, Impl, OFFSET>,
735 TransformPoint: TransformPoint::<Identity, Impl, OFFSET>,
736 TransformRect: TransformRect::<Identity, Impl, OFFSET>,
737 HasAffineTransform: HasAffineTransform::<Identity, Impl, OFFSET>,
738 HasInverseTransform: HasInverseTransform::<Identity, Impl, OFFSET>,
739 GetAffineMatrix: GetAffineMatrix::<Identity, Impl, OFFSET>,
740 }
741 }
742 pub fn matches(iid: &windows::core::GUID) -> bool {
743 iid == &<IMILBitmapEffectPrimitive as ::windows::core::ComInterface>::IID
744 }
745}
746#[doc = "*Required features: `\"Win32_UI_Wpf\"`, `\"Win32_Foundation\"`, `\"implement\"`*"]
747#[cfg(feature = "Win32_Foundation")]
748pub trait IMILBitmapEffectPrimitiveImpl_Impl: Sized {
749 fn IsDirty(&self, uioutputindex: u32, pfdirty: *mut super::super::Foundation::VARIANT_BOOL) -> ::windows::core::HRESULT;
750 fn IsVolatile(&self, uioutputindex: u32) -> ::windows::core::Result<super::super::Foundation::VARIANT_BOOL>;
751}
752#[cfg(feature = "Win32_Foundation")]
753impl ::windows::core::RuntimeName for IMILBitmapEffectPrimitiveImpl {}
754#[cfg(feature = "Win32_Foundation")]
755impl IMILBitmapEffectPrimitiveImpl_Vtbl {
756 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IMILBitmapEffectPrimitiveImpl_Impl, const OFFSET: isize>() -> IMILBitmapEffectPrimitiveImpl_Vtbl {
757 unsafe extern "system" fn IsDirty<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IMILBitmapEffectPrimitiveImpl_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, uioutputindex: u32, pfdirty: *mut super::super::Foundation::VARIANT_BOOL) -> ::windows::core::HRESULT {
758 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
759 let this = (*this).get_impl();
760 this.IsDirty(::core::mem::transmute_copy(&uioutputindex), ::core::mem::transmute_copy(&pfdirty))
761 }
762 unsafe extern "system" fn IsVolatile<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IMILBitmapEffectPrimitiveImpl_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, uioutputindex: u32, pfvolatile: *mut super::super::Foundation::VARIANT_BOOL) -> ::windows::core::HRESULT {
763 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
764 let this = (*this).get_impl();
765 match this.IsVolatile(::core::mem::transmute_copy(&uioutputindex)) {
766 ::core::result::Result::Ok(ok__) => {
767 ::core::ptr::write(pfvolatile, ::core::mem::transmute(ok__));
768 ::windows::core::HRESULT(0)
769 }
770 ::core::result::Result::Err(err) => err.into(),
771 }
772 }
773 Self {
774 base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
775 IsDirty: IsDirty::<Identity, Impl, OFFSET>,
776 IsVolatile: IsVolatile::<Identity, Impl, OFFSET>,
777 }
778 }
779 pub fn matches(iid: &windows::core::GUID) -> bool {
780 iid == &<IMILBitmapEffectPrimitiveImpl as ::windows::core::ComInterface>::IID
781 }
782}
783#[doc = "*Required features: `\"Win32_UI_Wpf\"`, `\"Win32_Foundation\"`, `\"implement\"`*"]
784#[cfg(feature = "Win32_Foundation")]
785pub trait IMILBitmapEffectRenderContext_Impl: Sized {
786 fn SetOutputPixelFormat(&self, format: *const ::windows::core::GUID) -> ::windows::core::Result<()>;
787 fn GetOutputPixelFormat(&self) -> ::windows::core::Result<::windows::core::GUID>;
788 fn SetUseSoftwareRenderer(&self, fsoftware: super::super::Foundation::VARIANT_BOOL) -> ::windows::core::Result<()>;
789 fn SetInitialTransform(&self, pmatrix: *const MILMatrixF) -> ::windows::core::Result<()>;
790 fn GetFinalTransform(&self, pmatrix: *mut MILMatrixF) -> ::windows::core::Result<()>;
791 fn SetOutputDPI(&self, dbldpix: f64, dbldpiy: f64) -> ::windows::core::Result<()>;
792 fn GetOutputDPI(&self, pdbldpix: *mut f64, pdbldpiy: *mut f64) -> ::windows::core::Result<()>;
793 fn SetRegionOfInterest(&self, prect: *const MilRectD) -> ::windows::core::Result<()>;
794}
795#[cfg(feature = "Win32_Foundation")]
796impl ::windows::core::RuntimeName for IMILBitmapEffectRenderContext {}
797#[cfg(feature = "Win32_Foundation")]
798impl IMILBitmapEffectRenderContext_Vtbl {
799 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IMILBitmapEffectRenderContext_Impl, const OFFSET: isize>() -> IMILBitmapEffectRenderContext_Vtbl {
800 unsafe extern "system" fn SetOutputPixelFormat<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IMILBitmapEffectRenderContext_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, format: *const ::windows::core::GUID) -> ::windows::core::HRESULT {
801 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
802 let this = (*this).get_impl();
803 this.SetOutputPixelFormat(::core::mem::transmute_copy(&format)).into()
804 }
805 unsafe extern "system" fn GetOutputPixelFormat<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IMILBitmapEffectRenderContext_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pformat: *mut ::windows::core::GUID) -> ::windows::core::HRESULT {
806 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
807 let this = (*this).get_impl();
808 match this.GetOutputPixelFormat() {
809 ::core::result::Result::Ok(ok__) => {
810 ::core::ptr::write(pformat, ::core::mem::transmute(ok__));
811 ::windows::core::HRESULT(0)
812 }
813 ::core::result::Result::Err(err) => err.into(),
814 }
815 }
816 unsafe extern "system" fn SetUseSoftwareRenderer<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IMILBitmapEffectRenderContext_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, fsoftware: super::super::Foundation::VARIANT_BOOL) -> ::windows::core::HRESULT {
817 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
818 let this = (*this).get_impl();
819 this.SetUseSoftwareRenderer(::core::mem::transmute_copy(&fsoftware)).into()
820 }
821 unsafe extern "system" fn SetInitialTransform<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IMILBitmapEffectRenderContext_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pmatrix: *const MILMatrixF) -> ::windows::core::HRESULT {
822 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
823 let this = (*this).get_impl();
824 this.SetInitialTransform(::core::mem::transmute_copy(&pmatrix)).into()
825 }
826 unsafe extern "system" fn GetFinalTransform<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IMILBitmapEffectRenderContext_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pmatrix: *mut MILMatrixF) -> ::windows::core::HRESULT {
827 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
828 let this = (*this).get_impl();
829 this.GetFinalTransform(::core::mem::transmute_copy(&pmatrix)).into()
830 }
831 unsafe extern "system" fn SetOutputDPI<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IMILBitmapEffectRenderContext_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, dbldpix: f64, dbldpiy: f64) -> ::windows::core::HRESULT {
832 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
833 let this = (*this).get_impl();
834 this.SetOutputDPI(::core::mem::transmute_copy(&dbldpix), ::core::mem::transmute_copy(&dbldpiy)).into()
835 }
836 unsafe extern "system" fn GetOutputDPI<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IMILBitmapEffectRenderContext_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pdbldpix: *mut f64, pdbldpiy: *mut f64) -> ::windows::core::HRESULT {
837 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
838 let this = (*this).get_impl();
839 this.GetOutputDPI(::core::mem::transmute_copy(&pdbldpix), ::core::mem::transmute_copy(&pdbldpiy)).into()
840 }
841 unsafe extern "system" fn SetRegionOfInterest<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IMILBitmapEffectRenderContext_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, prect: *const MilRectD) -> ::windows::core::HRESULT {
842 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
843 let this = (*this).get_impl();
844 this.SetRegionOfInterest(::core::mem::transmute_copy(&prect)).into()
845 }
846 Self {
847 base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
848 SetOutputPixelFormat: SetOutputPixelFormat::<Identity, Impl, OFFSET>,
849 GetOutputPixelFormat: GetOutputPixelFormat::<Identity, Impl, OFFSET>,
850 SetUseSoftwareRenderer: SetUseSoftwareRenderer::<Identity, Impl, OFFSET>,
851 SetInitialTransform: SetInitialTransform::<Identity, Impl, OFFSET>,
852 GetFinalTransform: GetFinalTransform::<Identity, Impl, OFFSET>,
853 SetOutputDPI: SetOutputDPI::<Identity, Impl, OFFSET>,
854 GetOutputDPI: GetOutputDPI::<Identity, Impl, OFFSET>,
855 SetRegionOfInterest: SetRegionOfInterest::<Identity, Impl, OFFSET>,
856 }
857 }
858 pub fn matches(iid: &windows::core::GUID) -> bool {
859 iid == &<IMILBitmapEffectRenderContext as ::windows::core::ComInterface>::IID
860 }
861}
862#[doc = "*Required features: `\"Win32_UI_Wpf\"`, `\"Win32_Foundation\"`, `\"implement\"`*"]
863#[cfg(feature = "Win32_Foundation")]
864pub trait IMILBitmapEffectRenderContextImpl_Impl: Sized {
865 fn GetUseSoftwareRenderer(&self) -> ::windows::core::Result<super::super::Foundation::VARIANT_BOOL>;
866 fn GetTransform(&self, pmatrix: *mut MILMatrixF) -> ::windows::core::Result<()>;
867 fn UpdateTransform(&self, pmatrix: *const MILMatrixF) -> ::windows::core::Result<()>;
868 fn GetOutputBounds(&self, prect: *mut MilRectD) -> ::windows::core::Result<()>;
869 fn UpdateOutputBounds(&self, prect: *const MilRectD) -> ::windows::core::Result<()>;
870}
871#[cfg(feature = "Win32_Foundation")]
872impl ::windows::core::RuntimeName for IMILBitmapEffectRenderContextImpl {}
873#[cfg(feature = "Win32_Foundation")]
874impl IMILBitmapEffectRenderContextImpl_Vtbl {
875 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IMILBitmapEffectRenderContextImpl_Impl, const OFFSET: isize>() -> IMILBitmapEffectRenderContextImpl_Vtbl {
876 unsafe extern "system" fn GetUseSoftwareRenderer<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IMILBitmapEffectRenderContextImpl_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pfsoftware: *mut super::super::Foundation::VARIANT_BOOL) -> ::windows::core::HRESULT {
877 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
878 let this = (*this).get_impl();
879 match this.GetUseSoftwareRenderer() {
880 ::core::result::Result::Ok(ok__) => {
881 ::core::ptr::write(pfsoftware, ::core::mem::transmute(ok__));
882 ::windows::core::HRESULT(0)
883 }
884 ::core::result::Result::Err(err) => err.into(),
885 }
886 }
887 unsafe extern "system" fn GetTransform<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IMILBitmapEffectRenderContextImpl_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pmatrix: *mut MILMatrixF) -> ::windows::core::HRESULT {
888 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
889 let this = (*this).get_impl();
890 this.GetTransform(::core::mem::transmute_copy(&pmatrix)).into()
891 }
892 unsafe extern "system" fn UpdateTransform<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IMILBitmapEffectRenderContextImpl_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pmatrix: *const MILMatrixF) -> ::windows::core::HRESULT {
893 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
894 let this = (*this).get_impl();
895 this.UpdateTransform(::core::mem::transmute_copy(&pmatrix)).into()
896 }
897 unsafe extern "system" fn GetOutputBounds<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IMILBitmapEffectRenderContextImpl_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, prect: *mut MilRectD) -> ::windows::core::HRESULT {
898 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
899 let this = (*this).get_impl();
900 this.GetOutputBounds(::core::mem::transmute_copy(&prect)).into()
901 }
902 unsafe extern "system" fn UpdateOutputBounds<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IMILBitmapEffectRenderContextImpl_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, prect: *const MilRectD) -> ::windows::core::HRESULT {
903 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
904 let this = (*this).get_impl();
905 this.UpdateOutputBounds(::core::mem::transmute_copy(&prect)).into()
906 }
907 Self {
908 base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
909 GetUseSoftwareRenderer: GetUseSoftwareRenderer::<Identity, Impl, OFFSET>,
910 GetTransform: GetTransform::<Identity, Impl, OFFSET>,
911 UpdateTransform: UpdateTransform::<Identity, Impl, OFFSET>,
912 GetOutputBounds: GetOutputBounds::<Identity, Impl, OFFSET>,
913 UpdateOutputBounds: UpdateOutputBounds::<Identity, Impl, OFFSET>,
914 }
915 }
916 pub fn matches(iid: &windows::core::GUID) -> bool {
917 iid == &<IMILBitmapEffectRenderContextImpl as ::windows::core::ComInterface>::IID
918 }
919}
920#[doc = "*Required features: `\"Win32_UI_Wpf\"`, `\"implement\"`*"]
921pub trait IMILBitmapEffects_Impl: Sized {
922 fn _NewEnum(&self) -> ::windows::core::Result<::windows::core::IUnknown>;
923 fn Parent(&self) -> ::windows::core::Result<IMILBitmapEffectGroup>;
924 fn Item(&self, uindex: u32) -> ::windows::core::Result<IMILBitmapEffect>;
925 fn Count(&self) -> ::windows::core::Result<u32>;
926}
927impl ::windows::core::RuntimeName for IMILBitmapEffects {}
928impl IMILBitmapEffects_Vtbl {
929 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IMILBitmapEffects_Impl, const OFFSET: isize>() -> IMILBitmapEffects_Vtbl {
930 unsafe extern "system" fn _NewEnum<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IMILBitmapEffects_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppiureturn: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
931 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
932 let this = (*this).get_impl();
933 match this._NewEnum() {
934 ::core::result::Result::Ok(ok__) => {
935 ::core::ptr::write(ppiureturn, ::core::mem::transmute(ok__));
936 ::windows::core::HRESULT(0)
937 }
938 ::core::result::Result::Err(err) => err.into(),
939 }
940 }
941 unsafe extern "system" fn Parent<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IMILBitmapEffects_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppeffect: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
942 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
943 let this = (*this).get_impl();
944 match this.Parent() {
945 ::core::result::Result::Ok(ok__) => {
946 ::core::ptr::write(ppeffect, ::core::mem::transmute(ok__));
947 ::windows::core::HRESULT(0)
948 }
949 ::core::result::Result::Err(err) => err.into(),
950 }
951 }
952 unsafe extern "system" fn Item<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IMILBitmapEffects_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, uindex: u32, ppeffect: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
953 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
954 let this = (*this).get_impl();
955 match this.Item(::core::mem::transmute_copy(&uindex)) {
956 ::core::result::Result::Ok(ok__) => {
957 ::core::ptr::write(ppeffect, ::core::mem::transmute(ok__));
958 ::windows::core::HRESULT(0)
959 }
960 ::core::result::Result::Err(err) => err.into(),
961 }
962 }
963 unsafe extern "system" fn Count<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IMILBitmapEffects_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, puicount: *mut u32) -> ::windows::core::HRESULT {
964 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
965 let this = (*this).get_impl();
966 match this.Count() {
967 ::core::result::Result::Ok(ok__) => {
968 ::core::ptr::write(puicount, ::core::mem::transmute(ok__));
969 ::windows::core::HRESULT(0)
970 }
971 ::core::result::Result::Err(err) => err.into(),
972 }
973 }
974 Self {
975 base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
976 _NewEnum: _NewEnum::<Identity, Impl, OFFSET>,
977 Parent: Parent::<Identity, Impl, OFFSET>,
978 Item: Item::<Identity, Impl, OFFSET>,
979 Count: Count::<Identity, Impl, OFFSET>,
980 }
981 }
982 pub fn matches(iid: &windows::core::GUID) -> bool {
983 iid == &<IMILBitmapEffects as ::windows::core::ComInterface>::IID
984 }
985}