]>
Commit | Line | Data |
---|---|---|
353b0b11 FG |
1 | #[doc = "*Required features: `\"UI_Input\"`, `\"Foundation\"`, `\"implement\"`*"] |
2 | #[cfg(feature = "Foundation")] | |
3 | pub trait IPointerPointTransform_Impl: Sized { | |
4 | fn Inverse(&self) -> ::windows::core::Result<IPointerPointTransform>; | |
5 | fn TryTransform(&self, inpoint: &super::super::Foundation::Point, outpoint: &mut super::super::Foundation::Point) -> ::windows::core::Result<bool>; | |
6 | fn TransformBounds(&self, rect: &super::super::Foundation::Rect) -> ::windows::core::Result<super::super::Foundation::Rect>; | |
7 | } | |
8 | #[cfg(feature = "Foundation")] | |
9 | impl ::windows::core::RuntimeName for IPointerPointTransform { | |
10 | const NAME: &'static str = "Windows.UI.Input.IPointerPointTransform"; | |
11 | } | |
12 | #[cfg(feature = "Foundation")] | |
13 | impl IPointerPointTransform_Vtbl { | |
14 | pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IPointerPointTransform_Impl, const OFFSET: isize>() -> IPointerPointTransform_Vtbl { | |
15 | unsafe extern "system" fn Inverse<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IPointerPointTransform_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT { | |
16 | let this = (this as *const *const ()).offset(OFFSET) as *const Identity; | |
17 | let this = (*this).get_impl(); | |
18 | match this.Inverse() { | |
19 | ::core::result::Result::Ok(ok__) => { | |
20 | ::core::ptr::write(result__, ::core::mem::transmute_copy(&ok__)); | |
21 | ::core::mem::forget(ok__); | |
22 | ::windows::core::HRESULT(0) | |
23 | } | |
24 | ::core::result::Result::Err(err) => err.into(), | |
25 | } | |
26 | } | |
27 | unsafe extern "system" fn TryTransform<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IPointerPointTransform_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, inpoint: super::super::Foundation::Point, outpoint: *mut super::super::Foundation::Point, result__: *mut bool) -> ::windows::core::HRESULT { | |
28 | let this = (this as *const *const ()).offset(OFFSET) as *const Identity; | |
29 | let this = (*this).get_impl(); | |
30 | match this.TryTransform(::core::mem::transmute(&inpoint), ::core::mem::transmute_copy(&outpoint)) { | |
31 | ::core::result::Result::Ok(ok__) => { | |
32 | ::core::ptr::write(result__, ::core::mem::transmute_copy(&ok__)); | |
33 | ::core::mem::forget(ok__); | |
34 | ::windows::core::HRESULT(0) | |
35 | } | |
36 | ::core::result::Result::Err(err) => err.into(), | |
37 | } | |
38 | } | |
39 | unsafe extern "system" fn TransformBounds<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IPointerPointTransform_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, rect: super::super::Foundation::Rect, result__: *mut super::super::Foundation::Rect) -> ::windows::core::HRESULT { | |
40 | let this = (this as *const *const ()).offset(OFFSET) as *const Identity; | |
41 | let this = (*this).get_impl(); | |
42 | match this.TransformBounds(::core::mem::transmute(&rect)) { | |
43 | ::core::result::Result::Ok(ok__) => { | |
44 | ::core::ptr::write(result__, ::core::mem::transmute_copy(&ok__)); | |
45 | ::core::mem::forget(ok__); | |
46 | ::windows::core::HRESULT(0) | |
47 | } | |
48 | ::core::result::Result::Err(err) => err.into(), | |
49 | } | |
50 | } | |
51 | Self { | |
52 | base__: ::windows::core::IInspectable_Vtbl::new::<Identity, IPointerPointTransform, OFFSET>(), | |
53 | Inverse: Inverse::<Identity, Impl, OFFSET>, | |
54 | TryTransform: TryTransform::<Identity, Impl, OFFSET>, | |
55 | TransformBounds: TransformBounds::<Identity, Impl, OFFSET>, | |
56 | } | |
57 | } | |
58 | pub fn matches(iid: &windows::core::GUID) -> bool { | |
59 | iid == &<IPointerPointTransform as ::windows::core::ComInterface>::IID | |
60 | } | |
61 | } |