1 #![allow(unused_variables, non_upper_case_globals, non_snake_case, unused_unsafe, non_camel_case_types, dead_code, clippy::all)]
2 #[repr(transparent)]
3 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
4 #[doc(hidden)]
5 pub struct IInkAnalysisInkBullet(::windows::runtime::IInspectable);
6 unsafe impl ::windows::runtime::Interface for IInkAnalysisInkBullet {
7     type Vtable = IInkAnalysisInkBullet_abi;
8     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3993277288, 24848, 16694, [149, 249, 238, 128, 159, 194, 0, 48]);
9 }
10 #[repr(C)]
11 #[doc(hidden)]
12 pub struct IInkAnalysisInkBullet_abi(
13     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
14     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
15     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
16     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
17     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
18     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
19     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
20 );
21 #[repr(transparent)]
22 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
23 #[doc(hidden)]
24 pub struct IInkAnalysisInkDrawing(::windows::runtime::IInspectable);
25 unsafe impl ::windows::runtime::Interface for IInkAnalysisInkDrawing {
26     type Vtable = IInkAnalysisInkDrawing_abi;
27     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1787161887, 8164, 19989, [137, 140, 142, 17, 35, 119, 224, 33]);
28 }
29 #[repr(C)]
30 #[doc(hidden)]
31 pub struct IInkAnalysisInkDrawing_abi(
32     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
33     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
34     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
35     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
36     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
37     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
38     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut InkAnalysisDrawingKind) -> ::windows::runtime::HRESULT,
39     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut super::super::super::super::Foundation::Point) -> ::windows::runtime::HRESULT,
40     #[cfg(not(feature = "Foundation"))] usize,
41     #[cfg(all(feature = "Foundation", feature = "Foundation_Collections"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
42     #[cfg(not(all(feature = "Foundation", feature = "Foundation_Collections")))] usize,
43 );
44 #[repr(transparent)]
45 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
46 #[doc(hidden)]
47 pub struct IInkAnalysisInkWord(::windows::runtime::IInspectable);
48 unsafe impl ::windows::runtime::Interface for IInkAnalysisInkWord {
49     type Vtable = IInkAnalysisInkWord_abi;
50     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1272064173, 33711, 16436, [143, 59, 248, 104, 125, 255, 244, 54]);
51 }
52 #[repr(C)]
53 #[doc(hidden)]
54 pub struct IInkAnalysisInkWord_abi(
55     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
56     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
57     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
58     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
59     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
60     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
61     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
62     #[cfg(feature = "Foundation_Collections")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
63     #[cfg(not(feature = "Foundation_Collections"))] usize,
64 );
65 #[repr(transparent)]
66 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
67 #[doc(hidden)]
68 pub struct IInkAnalysisLine(::windows::runtime::IInspectable);
69 unsafe impl ::windows::runtime::Interface for IInkAnalysisLine {
70     type Vtable = IInkAnalysisLine_abi;
71     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2691499149, 11149, 18260, [173, 90, 208, 135, 17, 147, 169, 86]);
72 }
73 #[repr(C)]
74 #[doc(hidden)]
75 pub struct IInkAnalysisLine_abi(
76     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
77     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
78     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
79     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
80     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
81     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
82     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
83     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut i32) -> ::windows::runtime::HRESULT,
84 );
85 #[repr(transparent)]
86 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
87 #[doc(hidden)]
88 pub struct IInkAnalysisListItem(::windows::runtime::IInspectable);
89 unsafe impl ::windows::runtime::Interface for IInkAnalysisListItem {
90     type Vtable = IInkAnalysisListItem_abi;
91     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3034825279, 50371, 19514, [161, 166, 157, 133, 84, 126, 229, 134]);
92 }
93 #[repr(C)]
94 #[doc(hidden)]
95 pub struct IInkAnalysisListItem_abi(
96     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
97     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
98     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
99     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
100     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
101     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
102     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
103 );
104 #[repr(transparent)]
105 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
106 pub struct IInkAnalysisNode(::windows::runtime::IInspectable);
107 unsafe impl ::windows::runtime::Interface for IInkAnalysisNode {
108     type Vtable = IInkAnalysisNode_abi;
109     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(813899525, 24420, 18988, [186, 55, 79, 72, 135, 135, 149, 116]);
110 }
111 impl IInkAnalysisNode {
Id(&self) -> ::windows::runtime::Result<u32>112     pub fn Id(&self) -> ::windows::runtime::Result<u32> {
113         let this = self;
114         unsafe {
115             let mut result__: u32 = ::std::mem::zeroed();
116             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<u32>(result__)
117         }
118     }
Kind(&self) -> ::windows::runtime::Result<InkAnalysisNodeKind>119     pub fn Kind(&self) -> ::windows::runtime::Result<InkAnalysisNodeKind> {
120         let this = self;
121         unsafe {
122             let mut result__: InkAnalysisNodeKind = ::std::mem::zeroed();
123             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<InkAnalysisNodeKind>(result__)
124         }
125     }
126     #[cfg(feature = "Foundation")]
BoundingRect(&self) -> ::windows::runtime::Result<super::super::super::super::Foundation::Rect>127     pub fn BoundingRect(&self) -> ::windows::runtime::Result<super::super::super::super::Foundation::Rect> {
128         let this = self;
129         unsafe {
130             let mut result__: super::super::super::super::Foundation::Rect = ::std::mem::zeroed();
131             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::super::super::Foundation::Rect>(result__)
132         }
133     }
134     #[cfg(all(feature = "Foundation", feature = "Foundation_Collections"))]
RotatedBoundingRect(&self) -> ::windows::runtime::Result<super::super::super::super::Foundation::Collections::IVectorView<super::super::super::super::Foundation::Point>>135     pub fn RotatedBoundingRect(&self) -> ::windows::runtime::Result<super::super::super::super::Foundation::Collections::IVectorView<super::super::super::super::Foundation::Point>> {
136         let this = self;
137         unsafe {
138             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
139             (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::super::super::Foundation::Collections::IVectorView<super::super::super::super::Foundation::Point>>(result__)
140         }
141     }
142     #[cfg(feature = "Foundation_Collections")]
Children(&self) -> ::windows::runtime::Result<super::super::super::super::Foundation::Collections::IVectorView<IInkAnalysisNode>>143     pub fn Children(&self) -> ::windows::runtime::Result<super::super::super::super::Foundation::Collections::IVectorView<IInkAnalysisNode>> {
144         let this = self;
145         unsafe {
146             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
147             (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::super::super::Foundation::Collections::IVectorView<IInkAnalysisNode>>(result__)
148         }
149     }
Parent(&self) -> ::windows::runtime::Result<IInkAnalysisNode>150     pub fn Parent(&self) -> ::windows::runtime::Result<IInkAnalysisNode> {
151         let this = self;
152         unsafe {
153             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
154             (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), &mut result__).from_abi::<IInkAnalysisNode>(result__)
155         }
156     }
157     #[cfg(feature = "Foundation_Collections")]
GetStrokeIds(&self) -> ::windows::runtime::Result<super::super::super::super::Foundation::Collections::IVectorView<u32>>158     pub fn GetStrokeIds(&self) -> ::windows::runtime::Result<super::super::super::super::Foundation::Collections::IVectorView<u32>> {
159         let this = self;
160         unsafe {
161             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
162             (::windows::runtime::Interface::vtable(this).12)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::super::super::Foundation::Collections::IVectorView<u32>>(result__)
163         }
164     }
165 }
166 unsafe impl ::windows::runtime::RuntimeType for IInkAnalysisNode {
167     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"{30831f05-5f64-4a2c-ba37-4f4887879574}");
168 }
169 impl ::std::convert::From<IInkAnalysisNode> for ::windows::runtime::IUnknown {
from(value: IInkAnalysisNode) -> Self170     fn from(value: IInkAnalysisNode) -> Self {
171         unsafe { ::std::mem::transmute(value) }
172     }
173 }
174 impl ::std::convert::From<&IInkAnalysisNode> for ::windows::runtime::IUnknown {
from(value: &IInkAnalysisNode) -> Self175     fn from(value: &IInkAnalysisNode) -> Self {
176         ::std::convert::From::from(::std::clone::Clone::clone(value))
177     }
178 }
179 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IInkAnalysisNode {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>180     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
181         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
182     }
183 }
184 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IInkAnalysisNode {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>185     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
186         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
187     }
188 }
189 impl ::std::convert::From<IInkAnalysisNode> for ::windows::runtime::IInspectable {
from(value: IInkAnalysisNode) -> Self190     fn from(value: IInkAnalysisNode) -> Self {
191         value.0
192     }
193 }
194 impl ::std::convert::From<&IInkAnalysisNode> for ::windows::runtime::IInspectable {
from(value: &IInkAnalysisNode) -> Self195     fn from(value: &IInkAnalysisNode) -> Self {
196         value.0.clone()
197     }
198 }
199 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for IInkAnalysisNode {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>200     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
201         ::windows::runtime::Param::Owned(self.0)
202     }
203 }
204 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a IInkAnalysisNode {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>205     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
206         ::windows::runtime::Param::Borrowed(&self.0)
207     }
208 }
209 #[repr(C)]
210 #[doc(hidden)]
211 pub struct IInkAnalysisNode_abi(
212     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
213     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
214     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
215     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
216     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
217     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
218     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut u32) -> ::windows::runtime::HRESULT,
219     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut InkAnalysisNodeKind) -> ::windows::runtime::HRESULT,
220     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut super::super::super::super::Foundation::Rect) -> ::windows::runtime::HRESULT,
221     #[cfg(not(feature = "Foundation"))] usize,
222     #[cfg(all(feature = "Foundation", feature = "Foundation_Collections"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
223     #[cfg(not(all(feature = "Foundation", feature = "Foundation_Collections")))] usize,
224     #[cfg(feature = "Foundation_Collections")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
225     #[cfg(not(feature = "Foundation_Collections"))] usize,
226     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
227     #[cfg(feature = "Foundation_Collections")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
228     #[cfg(not(feature = "Foundation_Collections"))] usize,
229 );
230 #[repr(transparent)]
231 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
232 #[doc(hidden)]
233 pub struct IInkAnalysisParagraph(::windows::runtime::IInspectable);
234 unsafe impl ::windows::runtime::Interface for IInkAnalysisParagraph {
235     type Vtable = IInkAnalysisParagraph_abi;
236     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3651994716, 3281, 19924, [166, 139, 235, 31, 18, 179, 215, 39]);
237 }
238 #[repr(C)]
239 #[doc(hidden)]
240 pub struct IInkAnalysisParagraph_abi(
241     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
242     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
243     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
244     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
245     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
246     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
247     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
248 );
249 #[repr(transparent)]
250 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
251 #[doc(hidden)]
252 pub struct IInkAnalysisResult(::windows::runtime::IInspectable);
253 unsafe impl ::windows::runtime::Interface for IInkAnalysisResult {
254     type Vtable = IInkAnalysisResult_abi;
255     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2303244921, 41539, 19107, [162, 148, 31, 152, 189, 15, 245, 128]);
256 }
257 #[repr(C)]
258 #[doc(hidden)]
259 pub struct IInkAnalysisResult_abi(
260     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
261     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
262     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
263     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
264     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
265     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
266     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut InkAnalysisStatus) -> ::windows::runtime::HRESULT,
267 );
268 #[repr(transparent)]
269 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
270 #[doc(hidden)]
271 pub struct IInkAnalysisRoot(::windows::runtime::IInspectable);
272 unsafe impl ::windows::runtime::Interface for IInkAnalysisRoot {
273     type Vtable = IInkAnalysisRoot_abi;
274     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1068934084, 12254, 16481, [133, 2, 169, 15, 50, 84, 91, 132]);
275 }
276 #[repr(C)]
277 #[doc(hidden)]
278 pub struct IInkAnalysisRoot_abi(
279     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
280     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
281     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
282     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
283     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
284     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
285     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
286     #[cfg(feature = "Foundation_Collections")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, nodekind: InkAnalysisNodeKind, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
287     #[cfg(not(feature = "Foundation_Collections"))] usize,
288 );
289 #[repr(transparent)]
290 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
291 #[doc(hidden)]
292 pub struct IInkAnalysisWritingRegion(::windows::runtime::IInspectable);
293 unsafe impl ::windows::runtime::Interface for IInkAnalysisWritingRegion {
294     type Vtable = IInkAnalysisWritingRegion_abi;
295     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3714933297, 48406, 18019, [181, 174, 148, 29, 48, 67, 239, 91]);
296 }
297 #[repr(C)]
298 #[doc(hidden)]
299 pub struct IInkAnalysisWritingRegion_abi(
300     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
301     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
302     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
303     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
304     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
305     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
306     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
307 );
308 #[repr(transparent)]
309 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
310 #[doc(hidden)]
311 pub struct IInkAnalyzer(::windows::runtime::IInspectable);
312 unsafe impl ::windows::runtime::Interface for IInkAnalyzer {
313     type Vtable = IInkAnalyzer_abi;
314     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(4046163861, 2150, 19909, [140, 119, 248, 134, 20, 223, 227, 140]);
315 }
316 #[repr(C)]
317 #[doc(hidden)]
318 pub struct IInkAnalyzer_abi(
319     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
320     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
321     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
322     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
323     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
324     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
325     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
326     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut bool) -> ::windows::runtime::HRESULT,
327     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, stroke: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
328     #[cfg(feature = "Foundation_Collections")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, strokes: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
329     #[cfg(not(feature = "Foundation_Collections"))] usize,
330     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
331     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, strokeid: u32) -> ::windows::runtime::HRESULT,
332     #[cfg(feature = "Foundation_Collections")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, strokeids: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
333     #[cfg(not(feature = "Foundation_Collections"))] usize,
334     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, stroke: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
335     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, strokeid: u32, strokekind: InkAnalysisStrokeKind) -> ::windows::runtime::HRESULT,
336     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
337     #[cfg(not(feature = "Foundation"))] usize,
338 );
339 #[repr(transparent)]
340 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
341 pub struct IInkAnalyzerFactory(::windows::runtime::IInspectable);
342 unsafe impl ::windows::runtime::Interface for IInkAnalyzerFactory {
343     type Vtable = IInkAnalyzerFactory_abi;
344     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(689145478, 6499, 18904, [149, 137, 225, 67, 132, 199, 105, 227]);
345 }
346 impl IInkAnalyzerFactory {
CreateAnalyzer(&self) -> ::windows::runtime::Result<InkAnalyzer>347     pub fn CreateAnalyzer(&self) -> ::windows::runtime::Result<InkAnalyzer> {
348         let this = self;
349         unsafe {
350             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
351             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<InkAnalyzer>(result__)
352         }
353     }
354 }
355 unsafe impl ::windows::runtime::RuntimeType for IInkAnalyzerFactory {
356     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"{29138686-1963-49d8-9589-e14384c769e3}");
357 }
358 impl ::std::convert::From<IInkAnalyzerFactory> for ::windows::runtime::IUnknown {
from(value: IInkAnalyzerFactory) -> Self359     fn from(value: IInkAnalyzerFactory) -> Self {
360         unsafe { ::std::mem::transmute(value) }
361     }
362 }
363 impl ::std::convert::From<&IInkAnalyzerFactory> for ::windows::runtime::IUnknown {
from(value: &IInkAnalyzerFactory) -> Self364     fn from(value: &IInkAnalyzerFactory) -> Self {
365         ::std::convert::From::from(::std::clone::Clone::clone(value))
366     }
367 }
368 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IInkAnalyzerFactory {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>369     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
370         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
371     }
372 }
373 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IInkAnalyzerFactory {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>374     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
375         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
376     }
377 }
378 impl ::std::convert::From<IInkAnalyzerFactory> for ::windows::runtime::IInspectable {
from(value: IInkAnalyzerFactory) -> Self379     fn from(value: IInkAnalyzerFactory) -> Self {
380         value.0
381     }
382 }
383 impl ::std::convert::From<&IInkAnalyzerFactory> for ::windows::runtime::IInspectable {
from(value: &IInkAnalyzerFactory) -> Self384     fn from(value: &IInkAnalyzerFactory) -> Self {
385         value.0.clone()
386     }
387 }
388 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for IInkAnalyzerFactory {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>389     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
390         ::windows::runtime::Param::Owned(self.0)
391     }
392 }
393 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a IInkAnalyzerFactory {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>394     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
395         ::windows::runtime::Param::Borrowed(&self.0)
396     }
397 }
398 #[repr(C)]
399 #[doc(hidden)]
400 pub struct IInkAnalyzerFactory_abi(
401     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
402     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
403     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
404     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
405     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
406     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
407     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
408 );
409 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
410 #[repr(transparent)]
411 pub struct InkAnalysisDrawingKind(pub i32);
412 impl InkAnalysisDrawingKind {
413     pub const Drawing: InkAnalysisDrawingKind = InkAnalysisDrawingKind(0i32);
414     pub const Circle: InkAnalysisDrawingKind = InkAnalysisDrawingKind(1i32);
415     pub const Ellipse: InkAnalysisDrawingKind = InkAnalysisDrawingKind(2i32);
416     pub const Triangle: InkAnalysisDrawingKind = InkAnalysisDrawingKind(3i32);
417     pub const IsoscelesTriangle: InkAnalysisDrawingKind = InkAnalysisDrawingKind(4i32);
418     pub const EquilateralTriangle: InkAnalysisDrawingKind = InkAnalysisDrawingKind(5i32);
419     pub const RightTriangle: InkAnalysisDrawingKind = InkAnalysisDrawingKind(6i32);
420     pub const Quadrilateral: InkAnalysisDrawingKind = InkAnalysisDrawingKind(7i32);
421     pub const Rectangle: InkAnalysisDrawingKind = InkAnalysisDrawingKind(8i32);
422     pub const Square: InkAnalysisDrawingKind = InkAnalysisDrawingKind(9i32);
423     pub const Diamond: InkAnalysisDrawingKind = InkAnalysisDrawingKind(10i32);
424     pub const Trapezoid: InkAnalysisDrawingKind = InkAnalysisDrawingKind(11i32);
425     pub const Parallelogram: InkAnalysisDrawingKind = InkAnalysisDrawingKind(12i32);
426     pub const Pentagon: InkAnalysisDrawingKind = InkAnalysisDrawingKind(13i32);
427     pub const Hexagon: InkAnalysisDrawingKind = InkAnalysisDrawingKind(14i32);
428 }
429 impl ::std::convert::From<i32> for InkAnalysisDrawingKind {
from(value: i32) -> Self430     fn from(value: i32) -> Self {
431         Self(value)
432     }
433 }
434 unsafe impl ::windows::runtime::Abi for InkAnalysisDrawingKind {
435     type Abi = Self;
436     type DefaultType = Self;
437 }
438 unsafe impl ::windows::runtime::RuntimeType for InkAnalysisDrawingKind {
439     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"enum(Windows.UI.Input.Inking.Analysis.InkAnalysisDrawingKind;i4)");
440 }
441 #[repr(transparent)]
442 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
443 pub struct InkAnalysisInkBullet(::windows::runtime::IInspectable);
444 impl InkAnalysisInkBullet {
RecognizedText(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>445     pub fn RecognizedText(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
446         let this = self;
447         unsafe {
448             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
449             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
450         }
451     }
Id(&self) -> ::windows::runtime::Result<u32>452     pub fn Id(&self) -> ::windows::runtime::Result<u32> {
453         let this = &::windows::runtime::Interface::cast::<IInkAnalysisNode>(self)?;
454         unsafe {
455             let mut result__: u32 = ::std::mem::zeroed();
456             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<u32>(result__)
457         }
458     }
Kind(&self) -> ::windows::runtime::Result<InkAnalysisNodeKind>459     pub fn Kind(&self) -> ::windows::runtime::Result<InkAnalysisNodeKind> {
460         let this = &::windows::runtime::Interface::cast::<IInkAnalysisNode>(self)?;
461         unsafe {
462             let mut result__: InkAnalysisNodeKind = ::std::mem::zeroed();
463             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<InkAnalysisNodeKind>(result__)
464         }
465     }
466     #[cfg(feature = "Foundation")]
BoundingRect(&self) -> ::windows::runtime::Result<super::super::super::super::Foundation::Rect>467     pub fn BoundingRect(&self) -> ::windows::runtime::Result<super::super::super::super::Foundation::Rect> {
468         let this = &::windows::runtime::Interface::cast::<IInkAnalysisNode>(self)?;
469         unsafe {
470             let mut result__: super::super::super::super::Foundation::Rect = ::std::mem::zeroed();
471             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::super::super::Foundation::Rect>(result__)
472         }
473     }
474     #[cfg(all(feature = "Foundation", feature = "Foundation_Collections"))]
RotatedBoundingRect(&self) -> ::windows::runtime::Result<super::super::super::super::Foundation::Collections::IVectorView<super::super::super::super::Foundation::Point>>475     pub fn RotatedBoundingRect(&self) -> ::windows::runtime::Result<super::super::super::super::Foundation::Collections::IVectorView<super::super::super::super::Foundation::Point>> {
476         let this = &::windows::runtime::Interface::cast::<IInkAnalysisNode>(self)?;
477         unsafe {
478             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
479             (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::super::super::Foundation::Collections::IVectorView<super::super::super::super::Foundation::Point>>(result__)
480         }
481     }
482     #[cfg(feature = "Foundation_Collections")]
Children(&self) -> ::windows::runtime::Result<super::super::super::super::Foundation::Collections::IVectorView<IInkAnalysisNode>>483     pub fn Children(&self) -> ::windows::runtime::Result<super::super::super::super::Foundation::Collections::IVectorView<IInkAnalysisNode>> {
484         let this = &::windows::runtime::Interface::cast::<IInkAnalysisNode>(self)?;
485         unsafe {
486             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
487             (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::super::super::Foundation::Collections::IVectorView<IInkAnalysisNode>>(result__)
488         }
489     }
Parent(&self) -> ::windows::runtime::Result<IInkAnalysisNode>490     pub fn Parent(&self) -> ::windows::runtime::Result<IInkAnalysisNode> {
491         let this = &::windows::runtime::Interface::cast::<IInkAnalysisNode>(self)?;
492         unsafe {
493             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
494             (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), &mut result__).from_abi::<IInkAnalysisNode>(result__)
495         }
496     }
497     #[cfg(feature = "Foundation_Collections")]
GetStrokeIds(&self) -> ::windows::runtime::Result<super::super::super::super::Foundation::Collections::IVectorView<u32>>498     pub fn GetStrokeIds(&self) -> ::windows::runtime::Result<super::super::super::super::Foundation::Collections::IVectorView<u32>> {
499         let this = &::windows::runtime::Interface::cast::<IInkAnalysisNode>(self)?;
500         unsafe {
501             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
502             (::windows::runtime::Interface::vtable(this).12)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::super::super::Foundation::Collections::IVectorView<u32>>(result__)
503         }
504     }
505 }
506 unsafe impl ::windows::runtime::RuntimeType for InkAnalysisInkBullet {
507     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.UI.Input.Inking.Analysis.InkAnalysisInkBullet;{ee049368-6110-4136-95f9-ee809fc20030})");
508 }
509 unsafe impl ::windows::runtime::Interface for InkAnalysisInkBullet {
510     type Vtable = IInkAnalysisInkBullet_abi;
511     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3993277288, 24848, 16694, [149, 249, 238, 128, 159, 194, 0, 48]);
512 }
513 impl ::windows::runtime::RuntimeName for InkAnalysisInkBullet {
514     const NAME: &'static str = "Windows.UI.Input.Inking.Analysis.InkAnalysisInkBullet";
515 }
516 impl ::std::convert::From<InkAnalysisInkBullet> for ::windows::runtime::IUnknown {
from(value: InkAnalysisInkBullet) -> Self517     fn from(value: InkAnalysisInkBullet) -> Self {
518         unsafe { ::std::mem::transmute(value) }
519     }
520 }
521 impl ::std::convert::From<&InkAnalysisInkBullet> for ::windows::runtime::IUnknown {
from(value: &InkAnalysisInkBullet) -> Self522     fn from(value: &InkAnalysisInkBullet) -> Self {
523         ::std::convert::From::from(::std::clone::Clone::clone(value))
524     }
525 }
526 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for InkAnalysisInkBullet {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>527     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
528         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
529     }
530 }
531 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &InkAnalysisInkBullet {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>532     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
533         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
534     }
535 }
536 impl ::std::convert::From<InkAnalysisInkBullet> for ::windows::runtime::IInspectable {
from(value: InkAnalysisInkBullet) -> Self537     fn from(value: InkAnalysisInkBullet) -> Self {
538         value.0
539     }
540 }
541 impl ::std::convert::From<&InkAnalysisInkBullet> for ::windows::runtime::IInspectable {
from(value: &InkAnalysisInkBullet) -> Self542     fn from(value: &InkAnalysisInkBullet) -> Self {
543         value.0.clone()
544     }
545 }
546 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for InkAnalysisInkBullet {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>547     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
548         ::windows::runtime::Param::Owned(self.0)
549     }
550 }
551 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a InkAnalysisInkBullet {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>552     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
553         ::windows::runtime::Param::Borrowed(&self.0)
554     }
555 }
556 impl ::std::convert::TryFrom<InkAnalysisInkBullet> for IInkAnalysisNode {
557     type Error = ::windows::runtime::Error;
try_from(value: InkAnalysisInkBullet) -> ::windows::runtime::Result<Self>558     fn try_from(value: InkAnalysisInkBullet) -> ::windows::runtime::Result<Self> {
559         ::std::convert::TryFrom::try_from(&value)
560     }
561 }
562 impl ::std::convert::TryFrom<&InkAnalysisInkBullet> for IInkAnalysisNode {
563     type Error = ::windows::runtime::Error;
try_from(value: &InkAnalysisInkBullet) -> ::windows::runtime::Result<Self>564     fn try_from(value: &InkAnalysisInkBullet) -> ::windows::runtime::Result<Self> {
565         ::windows::runtime::Interface::cast(value)
566     }
567 }
568 impl<'a> ::windows::runtime::IntoParam<'a, IInkAnalysisNode> for InkAnalysisInkBullet {
into_param(self) -> ::windows::runtime::Param<'a, IInkAnalysisNode>569     fn into_param(self) -> ::windows::runtime::Param<'a, IInkAnalysisNode> {
570         ::windows::runtime::IntoParam::into_param(&self)
571     }
572 }
573 impl<'a> ::windows::runtime::IntoParam<'a, IInkAnalysisNode> for &InkAnalysisInkBullet {
into_param(self) -> ::windows::runtime::Param<'a, IInkAnalysisNode>574     fn into_param(self) -> ::windows::runtime::Param<'a, IInkAnalysisNode> {
575         ::std::convert::TryInto::<IInkAnalysisNode>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
576     }
577 }
578 unsafe impl ::std::marker::Send for InkAnalysisInkBullet {}
579 unsafe impl ::std::marker::Sync for InkAnalysisInkBullet {}
580 #[repr(transparent)]
581 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
582 pub struct InkAnalysisInkDrawing(::windows::runtime::IInspectable);
583 impl InkAnalysisInkDrawing {
DrawingKind(&self) -> ::windows::runtime::Result<InkAnalysisDrawingKind>584     pub fn DrawingKind(&self) -> ::windows::runtime::Result<InkAnalysisDrawingKind> {
585         let this = self;
586         unsafe {
587             let mut result__: InkAnalysisDrawingKind = ::std::mem::zeroed();
588             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<InkAnalysisDrawingKind>(result__)
589         }
590     }
591     #[cfg(feature = "Foundation")]
Center(&self) -> ::windows::runtime::Result<super::super::super::super::Foundation::Point>592     pub fn Center(&self) -> ::windows::runtime::Result<super::super::super::super::Foundation::Point> {
593         let this = self;
594         unsafe {
595             let mut result__: super::super::super::super::Foundation::Point = ::std::mem::zeroed();
596             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::super::super::Foundation::Point>(result__)
597         }
598     }
599     #[cfg(all(feature = "Foundation", feature = "Foundation_Collections"))]
Points(&self) -> ::windows::runtime::Result<super::super::super::super::Foundation::Collections::IVectorView<super::super::super::super::Foundation::Point>>600     pub fn Points(&self) -> ::windows::runtime::Result<super::super::super::super::Foundation::Collections::IVectorView<super::super::super::super::Foundation::Point>> {
601         let this = self;
602         unsafe {
603             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
604             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::super::super::Foundation::Collections::IVectorView<super::super::super::super::Foundation::Point>>(result__)
605         }
606     }
Id(&self) -> ::windows::runtime::Result<u32>607     pub fn Id(&self) -> ::windows::runtime::Result<u32> {
608         let this = &::windows::runtime::Interface::cast::<IInkAnalysisNode>(self)?;
609         unsafe {
610             let mut result__: u32 = ::std::mem::zeroed();
611             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<u32>(result__)
612         }
613     }
Kind(&self) -> ::windows::runtime::Result<InkAnalysisNodeKind>614     pub fn Kind(&self) -> ::windows::runtime::Result<InkAnalysisNodeKind> {
615         let this = &::windows::runtime::Interface::cast::<IInkAnalysisNode>(self)?;
616         unsafe {
617             let mut result__: InkAnalysisNodeKind = ::std::mem::zeroed();
618             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<InkAnalysisNodeKind>(result__)
619         }
620     }
621     #[cfg(feature = "Foundation")]
BoundingRect(&self) -> ::windows::runtime::Result<super::super::super::super::Foundation::Rect>622     pub fn BoundingRect(&self) -> ::windows::runtime::Result<super::super::super::super::Foundation::Rect> {
623         let this = &::windows::runtime::Interface::cast::<IInkAnalysisNode>(self)?;
624         unsafe {
625             let mut result__: super::super::super::super::Foundation::Rect = ::std::mem::zeroed();
626             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::super::super::Foundation::Rect>(result__)
627         }
628     }
629     #[cfg(all(feature = "Foundation", feature = "Foundation_Collections"))]
RotatedBoundingRect(&self) -> ::windows::runtime::Result<super::super::super::super::Foundation::Collections::IVectorView<super::super::super::super::Foundation::Point>>630     pub fn RotatedBoundingRect(&self) -> ::windows::runtime::Result<super::super::super::super::Foundation::Collections::IVectorView<super::super::super::super::Foundation::Point>> {
631         let this = &::windows::runtime::Interface::cast::<IInkAnalysisNode>(self)?;
632         unsafe {
633             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
634             (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::super::super::Foundation::Collections::IVectorView<super::super::super::super::Foundation::Point>>(result__)
635         }
636     }
637     #[cfg(feature = "Foundation_Collections")]
Children(&self) -> ::windows::runtime::Result<super::super::super::super::Foundation::Collections::IVectorView<IInkAnalysisNode>>638     pub fn Children(&self) -> ::windows::runtime::Result<super::super::super::super::Foundation::Collections::IVectorView<IInkAnalysisNode>> {
639         let this = &::windows::runtime::Interface::cast::<IInkAnalysisNode>(self)?;
640         unsafe {
641             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
642             (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::super::super::Foundation::Collections::IVectorView<IInkAnalysisNode>>(result__)
643         }
644     }
Parent(&self) -> ::windows::runtime::Result<IInkAnalysisNode>645     pub fn Parent(&self) -> ::windows::runtime::Result<IInkAnalysisNode> {
646         let this = &::windows::runtime::Interface::cast::<IInkAnalysisNode>(self)?;
647         unsafe {
648             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
649             (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), &mut result__).from_abi::<IInkAnalysisNode>(result__)
650         }
651     }
652     #[cfg(feature = "Foundation_Collections")]
GetStrokeIds(&self) -> ::windows::runtime::Result<super::super::super::super::Foundation::Collections::IVectorView<u32>>653     pub fn GetStrokeIds(&self) -> ::windows::runtime::Result<super::super::super::super::Foundation::Collections::IVectorView<u32>> {
654         let this = &::windows::runtime::Interface::cast::<IInkAnalysisNode>(self)?;
655         unsafe {
656             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
657             (::windows::runtime::Interface::vtable(this).12)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::super::super::Foundation::Collections::IVectorView<u32>>(result__)
658         }
659     }
660 }
661 unsafe impl ::windows::runtime::RuntimeType for InkAnalysisInkDrawing {
662     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.UI.Input.Inking.Analysis.InkAnalysisInkDrawing;{6a85ed1f-1fe4-4e15-898c-8e112377e021})");
663 }
664 unsafe impl ::windows::runtime::Interface for InkAnalysisInkDrawing {
665     type Vtable = IInkAnalysisInkDrawing_abi;
666     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1787161887, 8164, 19989, [137, 140, 142, 17, 35, 119, 224, 33]);
667 }
668 impl ::windows::runtime::RuntimeName for InkAnalysisInkDrawing {
669     const NAME: &'static str = "Windows.UI.Input.Inking.Analysis.InkAnalysisInkDrawing";
670 }
671 impl ::std::convert::From<InkAnalysisInkDrawing> for ::windows::runtime::IUnknown {
from(value: InkAnalysisInkDrawing) -> Self672     fn from(value: InkAnalysisInkDrawing) -> Self {
673         unsafe { ::std::mem::transmute(value) }
674     }
675 }
676 impl ::std::convert::From<&InkAnalysisInkDrawing> for ::windows::runtime::IUnknown {
from(value: &InkAnalysisInkDrawing) -> Self677     fn from(value: &InkAnalysisInkDrawing) -> Self {
678         ::std::convert::From::from(::std::clone::Clone::clone(value))
679     }
680 }
681 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for InkAnalysisInkDrawing {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>682     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
683         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
684     }
685 }
686 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &InkAnalysisInkDrawing {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>687     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
688         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
689     }
690 }
691 impl ::std::convert::From<InkAnalysisInkDrawing> for ::windows::runtime::IInspectable {
from(value: InkAnalysisInkDrawing) -> Self692     fn from(value: InkAnalysisInkDrawing) -> Self {
693         value.0
694     }
695 }
696 impl ::std::convert::From<&InkAnalysisInkDrawing> for ::windows::runtime::IInspectable {
from(value: &InkAnalysisInkDrawing) -> Self697     fn from(value: &InkAnalysisInkDrawing) -> Self {
698         value.0.clone()
699     }
700 }
701 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for InkAnalysisInkDrawing {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>702     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
703         ::windows::runtime::Param::Owned(self.0)
704     }
705 }
706 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a InkAnalysisInkDrawing {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>707     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
708         ::windows::runtime::Param::Borrowed(&self.0)
709     }
710 }
711 impl ::std::convert::TryFrom<InkAnalysisInkDrawing> for IInkAnalysisNode {
712     type Error = ::windows::runtime::Error;
try_from(value: InkAnalysisInkDrawing) -> ::windows::runtime::Result<Self>713     fn try_from(value: InkAnalysisInkDrawing) -> ::windows::runtime::Result<Self> {
714         ::std::convert::TryFrom::try_from(&value)
715     }
716 }
717 impl ::std::convert::TryFrom<&InkAnalysisInkDrawing> for IInkAnalysisNode {
718     type Error = ::windows::runtime::Error;
try_from(value: &InkAnalysisInkDrawing) -> ::windows::runtime::Result<Self>719     fn try_from(value: &InkAnalysisInkDrawing) -> ::windows::runtime::Result<Self> {
720         ::windows::runtime::Interface::cast(value)
721     }
722 }
723 impl<'a> ::windows::runtime::IntoParam<'a, IInkAnalysisNode> for InkAnalysisInkDrawing {
into_param(self) -> ::windows::runtime::Param<'a, IInkAnalysisNode>724     fn into_param(self) -> ::windows::runtime::Param<'a, IInkAnalysisNode> {
725         ::windows::runtime::IntoParam::into_param(&self)
726     }
727 }
728 impl<'a> ::windows::runtime::IntoParam<'a, IInkAnalysisNode> for &InkAnalysisInkDrawing {
into_param(self) -> ::windows::runtime::Param<'a, IInkAnalysisNode>729     fn into_param(self) -> ::windows::runtime::Param<'a, IInkAnalysisNode> {
730         ::std::convert::TryInto::<IInkAnalysisNode>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
731     }
732 }
733 unsafe impl ::std::marker::Send for InkAnalysisInkDrawing {}
734 unsafe impl ::std::marker::Sync for InkAnalysisInkDrawing {}
735 #[repr(transparent)]
736 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
737 pub struct InkAnalysisInkWord(::windows::runtime::IInspectable);
738 impl InkAnalysisInkWord {
RecognizedText(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>739     pub fn RecognizedText(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
740         let this = self;
741         unsafe {
742             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
743             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
744         }
745     }
746     #[cfg(feature = "Foundation_Collections")]
TextAlternates(&self) -> ::windows::runtime::Result<super::super::super::super::Foundation::Collections::IVectorView<::windows::runtime::HSTRING>>747     pub fn TextAlternates(&self) -> ::windows::runtime::Result<super::super::super::super::Foundation::Collections::IVectorView<::windows::runtime::HSTRING>> {
748         let this = self;
749         unsafe {
750             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
751             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::super::super::Foundation::Collections::IVectorView<::windows::runtime::HSTRING>>(result__)
752         }
753     }
Id(&self) -> ::windows::runtime::Result<u32>754     pub fn Id(&self) -> ::windows::runtime::Result<u32> {
755         let this = &::windows::runtime::Interface::cast::<IInkAnalysisNode>(self)?;
756         unsafe {
757             let mut result__: u32 = ::std::mem::zeroed();
758             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<u32>(result__)
759         }
760     }
Kind(&self) -> ::windows::runtime::Result<InkAnalysisNodeKind>761     pub fn Kind(&self) -> ::windows::runtime::Result<InkAnalysisNodeKind> {
762         let this = &::windows::runtime::Interface::cast::<IInkAnalysisNode>(self)?;
763         unsafe {
764             let mut result__: InkAnalysisNodeKind = ::std::mem::zeroed();
765             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<InkAnalysisNodeKind>(result__)
766         }
767     }
768     #[cfg(feature = "Foundation")]
BoundingRect(&self) -> ::windows::runtime::Result<super::super::super::super::Foundation::Rect>769     pub fn BoundingRect(&self) -> ::windows::runtime::Result<super::super::super::super::Foundation::Rect> {
770         let this = &::windows::runtime::Interface::cast::<IInkAnalysisNode>(self)?;
771         unsafe {
772             let mut result__: super::super::super::super::Foundation::Rect = ::std::mem::zeroed();
773             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::super::super::Foundation::Rect>(result__)
774         }
775     }
776     #[cfg(all(feature = "Foundation", feature = "Foundation_Collections"))]
RotatedBoundingRect(&self) -> ::windows::runtime::Result<super::super::super::super::Foundation::Collections::IVectorView<super::super::super::super::Foundation::Point>>777     pub fn RotatedBoundingRect(&self) -> ::windows::runtime::Result<super::super::super::super::Foundation::Collections::IVectorView<super::super::super::super::Foundation::Point>> {
778         let this = &::windows::runtime::Interface::cast::<IInkAnalysisNode>(self)?;
779         unsafe {
780             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
781             (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::super::super::Foundation::Collections::IVectorView<super::super::super::super::Foundation::Point>>(result__)
782         }
783     }
784     #[cfg(feature = "Foundation_Collections")]
Children(&self) -> ::windows::runtime::Result<super::super::super::super::Foundation::Collections::IVectorView<IInkAnalysisNode>>785     pub fn Children(&self) -> ::windows::runtime::Result<super::super::super::super::Foundation::Collections::IVectorView<IInkAnalysisNode>> {
786         let this = &::windows::runtime::Interface::cast::<IInkAnalysisNode>(self)?;
787         unsafe {
788             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
789             (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::super::super::Foundation::Collections::IVectorView<IInkAnalysisNode>>(result__)
790         }
791     }
Parent(&self) -> ::windows::runtime::Result<IInkAnalysisNode>792     pub fn Parent(&self) -> ::windows::runtime::Result<IInkAnalysisNode> {
793         let this = &::windows::runtime::Interface::cast::<IInkAnalysisNode>(self)?;
794         unsafe {
795             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
796             (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), &mut result__).from_abi::<IInkAnalysisNode>(result__)
797         }
798     }
799     #[cfg(feature = "Foundation_Collections")]
GetStrokeIds(&self) -> ::windows::runtime::Result<super::super::super::super::Foundation::Collections::IVectorView<u32>>800     pub fn GetStrokeIds(&self) -> ::windows::runtime::Result<super::super::super::super::Foundation::Collections::IVectorView<u32>> {
801         let this = &::windows::runtime::Interface::cast::<IInkAnalysisNode>(self)?;
802         unsafe {
803             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
804             (::windows::runtime::Interface::vtable(this).12)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::super::super::Foundation::Collections::IVectorView<u32>>(result__)
805         }
806     }
807 }
808 unsafe impl ::windows::runtime::RuntimeType for InkAnalysisInkWord {
809     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.UI.Input.Inking.Analysis.InkAnalysisInkWord;{4bd228ad-83af-4034-8f3b-f8687dfff436})");
810 }
811 unsafe impl ::windows::runtime::Interface for InkAnalysisInkWord {
812     type Vtable = IInkAnalysisInkWord_abi;
813     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1272064173, 33711, 16436, [143, 59, 248, 104, 125, 255, 244, 54]);
814 }
815 impl ::windows::runtime::RuntimeName for InkAnalysisInkWord {
816     const NAME: &'static str = "Windows.UI.Input.Inking.Analysis.InkAnalysisInkWord";
817 }
818 impl ::std::convert::From<InkAnalysisInkWord> for ::windows::runtime::IUnknown {
from(value: InkAnalysisInkWord) -> Self819     fn from(value: InkAnalysisInkWord) -> Self {
820         unsafe { ::std::mem::transmute(value) }
821     }
822 }
823 impl ::std::convert::From<&InkAnalysisInkWord> for ::windows::runtime::IUnknown {
from(value: &InkAnalysisInkWord) -> Self824     fn from(value: &InkAnalysisInkWord) -> Self {
825         ::std::convert::From::from(::std::clone::Clone::clone(value))
826     }
827 }
828 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for InkAnalysisInkWord {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>829     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
830         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
831     }
832 }
833 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &InkAnalysisInkWord {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>834     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
835         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
836     }
837 }
838 impl ::std::convert::From<InkAnalysisInkWord> for ::windows::runtime::IInspectable {
from(value: InkAnalysisInkWord) -> Self839     fn from(value: InkAnalysisInkWord) -> Self {
840         value.0
841     }
842 }
843 impl ::std::convert::From<&InkAnalysisInkWord> for ::windows::runtime::IInspectable {
from(value: &InkAnalysisInkWord) -> Self844     fn from(value: &InkAnalysisInkWord) -> Self {
845         value.0.clone()
846     }
847 }
848 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for InkAnalysisInkWord {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>849     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
850         ::windows::runtime::Param::Owned(self.0)
851     }
852 }
853 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a InkAnalysisInkWord {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>854     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
855         ::windows::runtime::Param::Borrowed(&self.0)
856     }
857 }
858 impl ::std::convert::TryFrom<InkAnalysisInkWord> for IInkAnalysisNode {
859     type Error = ::windows::runtime::Error;
try_from(value: InkAnalysisInkWord) -> ::windows::runtime::Result<Self>860     fn try_from(value: InkAnalysisInkWord) -> ::windows::runtime::Result<Self> {
861         ::std::convert::TryFrom::try_from(&value)
862     }
863 }
864 impl ::std::convert::TryFrom<&InkAnalysisInkWord> for IInkAnalysisNode {
865     type Error = ::windows::runtime::Error;
try_from(value: &InkAnalysisInkWord) -> ::windows::runtime::Result<Self>866     fn try_from(value: &InkAnalysisInkWord) -> ::windows::runtime::Result<Self> {
867         ::windows::runtime::Interface::cast(value)
868     }
869 }
870 impl<'a> ::windows::runtime::IntoParam<'a, IInkAnalysisNode> for InkAnalysisInkWord {
into_param(self) -> ::windows::runtime::Param<'a, IInkAnalysisNode>871     fn into_param(self) -> ::windows::runtime::Param<'a, IInkAnalysisNode> {
872         ::windows::runtime::IntoParam::into_param(&self)
873     }
874 }
875 impl<'a> ::windows::runtime::IntoParam<'a, IInkAnalysisNode> for &InkAnalysisInkWord {
into_param(self) -> ::windows::runtime::Param<'a, IInkAnalysisNode>876     fn into_param(self) -> ::windows::runtime::Param<'a, IInkAnalysisNode> {
877         ::std::convert::TryInto::<IInkAnalysisNode>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
878     }
879 }
880 unsafe impl ::std::marker::Send for InkAnalysisInkWord {}
881 unsafe impl ::std::marker::Sync for InkAnalysisInkWord {}
882 #[repr(transparent)]
883 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
884 pub struct InkAnalysisLine(::windows::runtime::IInspectable);
885 impl InkAnalysisLine {
RecognizedText(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>886     pub fn RecognizedText(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
887         let this = self;
888         unsafe {
889             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
890             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
891         }
892     }
IndentLevel(&self) -> ::windows::runtime::Result<i32>893     pub fn IndentLevel(&self) -> ::windows::runtime::Result<i32> {
894         let this = self;
895         unsafe {
896             let mut result__: i32 = ::std::mem::zeroed();
897             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<i32>(result__)
898         }
899     }
Id(&self) -> ::windows::runtime::Result<u32>900     pub fn Id(&self) -> ::windows::runtime::Result<u32> {
901         let this = &::windows::runtime::Interface::cast::<IInkAnalysisNode>(self)?;
902         unsafe {
903             let mut result__: u32 = ::std::mem::zeroed();
904             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<u32>(result__)
905         }
906     }
Kind(&self) -> ::windows::runtime::Result<InkAnalysisNodeKind>907     pub fn Kind(&self) -> ::windows::runtime::Result<InkAnalysisNodeKind> {
908         let this = &::windows::runtime::Interface::cast::<IInkAnalysisNode>(self)?;
909         unsafe {
910             let mut result__: InkAnalysisNodeKind = ::std::mem::zeroed();
911             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<InkAnalysisNodeKind>(result__)
912         }
913     }
914     #[cfg(feature = "Foundation")]
BoundingRect(&self) -> ::windows::runtime::Result<super::super::super::super::Foundation::Rect>915     pub fn BoundingRect(&self) -> ::windows::runtime::Result<super::super::super::super::Foundation::Rect> {
916         let this = &::windows::runtime::Interface::cast::<IInkAnalysisNode>(self)?;
917         unsafe {
918             let mut result__: super::super::super::super::Foundation::Rect = ::std::mem::zeroed();
919             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::super::super::Foundation::Rect>(result__)
920         }
921     }
922     #[cfg(all(feature = "Foundation", feature = "Foundation_Collections"))]
RotatedBoundingRect(&self) -> ::windows::runtime::Result<super::super::super::super::Foundation::Collections::IVectorView<super::super::super::super::Foundation::Point>>923     pub fn RotatedBoundingRect(&self) -> ::windows::runtime::Result<super::super::super::super::Foundation::Collections::IVectorView<super::super::super::super::Foundation::Point>> {
924         let this = &::windows::runtime::Interface::cast::<IInkAnalysisNode>(self)?;
925         unsafe {
926             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
927             (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::super::super::Foundation::Collections::IVectorView<super::super::super::super::Foundation::Point>>(result__)
928         }
929     }
930     #[cfg(feature = "Foundation_Collections")]
Children(&self) -> ::windows::runtime::Result<super::super::super::super::Foundation::Collections::IVectorView<IInkAnalysisNode>>931     pub fn Children(&self) -> ::windows::runtime::Result<super::super::super::super::Foundation::Collections::IVectorView<IInkAnalysisNode>> {
932         let this = &::windows::runtime::Interface::cast::<IInkAnalysisNode>(self)?;
933         unsafe {
934             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
935             (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::super::super::Foundation::Collections::IVectorView<IInkAnalysisNode>>(result__)
936         }
937     }
Parent(&self) -> ::windows::runtime::Result<IInkAnalysisNode>938     pub fn Parent(&self) -> ::windows::runtime::Result<IInkAnalysisNode> {
939         let this = &::windows::runtime::Interface::cast::<IInkAnalysisNode>(self)?;
940         unsafe {
941             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
942             (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), &mut result__).from_abi::<IInkAnalysisNode>(result__)
943         }
944     }
945     #[cfg(feature = "Foundation_Collections")]
GetStrokeIds(&self) -> ::windows::runtime::Result<super::super::super::super::Foundation::Collections::IVectorView<u32>>946     pub fn GetStrokeIds(&self) -> ::windows::runtime::Result<super::super::super::super::Foundation::Collections::IVectorView<u32>> {
947         let this = &::windows::runtime::Interface::cast::<IInkAnalysisNode>(self)?;
948         unsafe {
949             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
950             (::windows::runtime::Interface::vtable(this).12)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::super::super::Foundation::Collections::IVectorView<u32>>(result__)
951         }
952     }
953 }
954 unsafe impl ::windows::runtime::RuntimeType for InkAnalysisLine {
955     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.UI.Input.Inking.Analysis.InkAnalysisLine;{a06d048d-2b8d-4754-ad5a-d0871193a956})");
956 }
957 unsafe impl ::windows::runtime::Interface for InkAnalysisLine {
958     type Vtable = IInkAnalysisLine_abi;
959     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2691499149, 11149, 18260, [173, 90, 208, 135, 17, 147, 169, 86]);
960 }
961 impl ::windows::runtime::RuntimeName for InkAnalysisLine {
962     const NAME: &'static str = "Windows.UI.Input.Inking.Analysis.InkAnalysisLine";
963 }
964 impl ::std::convert::From<InkAnalysisLine> for ::windows::runtime::IUnknown {
from(value: InkAnalysisLine) -> Self965     fn from(value: InkAnalysisLine) -> Self {
966         unsafe { ::std::mem::transmute(value) }
967     }
968 }
969 impl ::std::convert::From<&InkAnalysisLine> for ::windows::runtime::IUnknown {
from(value: &InkAnalysisLine) -> Self970     fn from(value: &InkAnalysisLine) -> Self {
971         ::std::convert::From::from(::std::clone::Clone::clone(value))
972     }
973 }
974 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for InkAnalysisLine {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>975     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
976         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
977     }
978 }
979 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &InkAnalysisLine {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>980     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
981         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
982     }
983 }
984 impl ::std::convert::From<InkAnalysisLine> for ::windows::runtime::IInspectable {
from(value: InkAnalysisLine) -> Self985     fn from(value: InkAnalysisLine) -> Self {
986         value.0
987     }
988 }
989 impl ::std::convert::From<&InkAnalysisLine> for ::windows::runtime::IInspectable {
from(value: &InkAnalysisLine) -> Self990     fn from(value: &InkAnalysisLine) -> Self {
991         value.0.clone()
992     }
993 }
994 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for InkAnalysisLine {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>995     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
996         ::windows::runtime::Param::Owned(self.0)
997     }
998 }
999 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a InkAnalysisLine {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>1000     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
1001         ::windows::runtime::Param::Borrowed(&self.0)
1002     }
1003 }
1004 impl ::std::convert::TryFrom<InkAnalysisLine> for IInkAnalysisNode {
1005     type Error = ::windows::runtime::Error;
try_from(value: InkAnalysisLine) -> ::windows::runtime::Result<Self>1006     fn try_from(value: InkAnalysisLine) -> ::windows::runtime::Result<Self> {
1007         ::std::convert::TryFrom::try_from(&value)
1008     }
1009 }
1010 impl ::std::convert::TryFrom<&InkAnalysisLine> for IInkAnalysisNode {
1011     type Error = ::windows::runtime::Error;
try_from(value: &InkAnalysisLine) -> ::windows::runtime::Result<Self>1012     fn try_from(value: &InkAnalysisLine) -> ::windows::runtime::Result<Self> {
1013         ::windows::runtime::Interface::cast(value)
1014     }
1015 }
1016 impl<'a> ::windows::runtime::IntoParam<'a, IInkAnalysisNode> for InkAnalysisLine {
into_param(self) -> ::windows::runtime::Param<'a, IInkAnalysisNode>1017     fn into_param(self) -> ::windows::runtime::Param<'a, IInkAnalysisNode> {
1018         ::windows::runtime::IntoParam::into_param(&self)
1019     }
1020 }
1021 impl<'a> ::windows::runtime::IntoParam<'a, IInkAnalysisNode> for &InkAnalysisLine {
into_param(self) -> ::windows::runtime::Param<'a, IInkAnalysisNode>1022     fn into_param(self) -> ::windows::runtime::Param<'a, IInkAnalysisNode> {
1023         ::std::convert::TryInto::<IInkAnalysisNode>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
1024     }
1025 }
1026 unsafe impl ::std::marker::Send for InkAnalysisLine {}
1027 unsafe impl ::std::marker::Sync for InkAnalysisLine {}
1028 #[repr(transparent)]
1029 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1030 pub struct InkAnalysisListItem(::windows::runtime::IInspectable);
1031 impl InkAnalysisListItem {
RecognizedText(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>1032     pub fn RecognizedText(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
1033         let this = self;
1034         unsafe {
1035             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
1036             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
1037         }
1038     }
Id(&self) -> ::windows::runtime::Result<u32>1039     pub fn Id(&self) -> ::windows::runtime::Result<u32> {
1040         let this = &::windows::runtime::Interface::cast::<IInkAnalysisNode>(self)?;
1041         unsafe {
1042             let mut result__: u32 = ::std::mem::zeroed();
1043             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<u32>(result__)
1044         }
1045     }
Kind(&self) -> ::windows::runtime::Result<InkAnalysisNodeKind>1046     pub fn Kind(&self) -> ::windows::runtime::Result<InkAnalysisNodeKind> {
1047         let this = &::windows::runtime::Interface::cast::<IInkAnalysisNode>(self)?;
1048         unsafe {
1049             let mut result__: InkAnalysisNodeKind = ::std::mem::zeroed();
1050             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<InkAnalysisNodeKind>(result__)
1051         }
1052     }
1053     #[cfg(feature = "Foundation")]
BoundingRect(&self) -> ::windows::runtime::Result<super::super::super::super::Foundation::Rect>1054     pub fn BoundingRect(&self) -> ::windows::runtime::Result<super::super::super::super::Foundation::Rect> {
1055         let this = &::windows::runtime::Interface::cast::<IInkAnalysisNode>(self)?;
1056         unsafe {
1057             let mut result__: super::super::super::super::Foundation::Rect = ::std::mem::zeroed();
1058             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::super::super::Foundation::Rect>(result__)
1059         }
1060     }
1061     #[cfg(all(feature = "Foundation", feature = "Foundation_Collections"))]
RotatedBoundingRect(&self) -> ::windows::runtime::Result<super::super::super::super::Foundation::Collections::IVectorView<super::super::super::super::Foundation::Point>>1062     pub fn RotatedBoundingRect(&self) -> ::windows::runtime::Result<super::super::super::super::Foundation::Collections::IVectorView<super::super::super::super::Foundation::Point>> {
1063         let this = &::windows::runtime::Interface::cast::<IInkAnalysisNode>(self)?;
1064         unsafe {
1065             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
1066             (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::super::super::Foundation::Collections::IVectorView<super::super::super::super::Foundation::Point>>(result__)
1067         }
1068     }
1069     #[cfg(feature = "Foundation_Collections")]
Children(&self) -> ::windows::runtime::Result<super::super::super::super::Foundation::Collections::IVectorView<IInkAnalysisNode>>1070     pub fn Children(&self) -> ::windows::runtime::Result<super::super::super::super::Foundation::Collections::IVectorView<IInkAnalysisNode>> {
1071         let this = &::windows::runtime::Interface::cast::<IInkAnalysisNode>(self)?;
1072         unsafe {
1073             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
1074             (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::super::super::Foundation::Collections::IVectorView<IInkAnalysisNode>>(result__)
1075         }
1076     }
Parent(&self) -> ::windows::runtime::Result<IInkAnalysisNode>1077     pub fn Parent(&self) -> ::windows::runtime::Result<IInkAnalysisNode> {
1078         let this = &::windows::runtime::Interface::cast::<IInkAnalysisNode>(self)?;
1079         unsafe {
1080             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
1081             (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), &mut result__).from_abi::<IInkAnalysisNode>(result__)
1082         }
1083     }
1084     #[cfg(feature = "Foundation_Collections")]
GetStrokeIds(&self) -> ::windows::runtime::Result<super::super::super::super::Foundation::Collections::IVectorView<u32>>1085     pub fn GetStrokeIds(&self) -> ::windows::runtime::Result<super::super::super::super::Foundation::Collections::IVectorView<u32>> {
1086         let this = &::windows::runtime::Interface::cast::<IInkAnalysisNode>(self)?;
1087         unsafe {
1088             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
1089             (::windows::runtime::Interface::vtable(this).12)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::super::super::Foundation::Collections::IVectorView<u32>>(result__)
1090         }
1091     }
1092 }
1093 unsafe impl ::windows::runtime::RuntimeType for InkAnalysisListItem {
1094     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.UI.Input.Inking.Analysis.InkAnalysisListItem;{b4e3c23f-c4c3-4c3a-a1a6-9d85547ee586})");
1095 }
1096 unsafe impl ::windows::runtime::Interface for InkAnalysisListItem {
1097     type Vtable = IInkAnalysisListItem_abi;
1098     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3034825279, 50371, 19514, [161, 166, 157, 133, 84, 126, 229, 134]);
1099 }
1100 impl ::windows::runtime::RuntimeName for InkAnalysisListItem {
1101     const NAME: &'static str = "Windows.UI.Input.Inking.Analysis.InkAnalysisListItem";
1102 }
1103 impl ::std::convert::From<InkAnalysisListItem> for ::windows::runtime::IUnknown {
from(value: InkAnalysisListItem) -> Self1104     fn from(value: InkAnalysisListItem) -> Self {
1105         unsafe { ::std::mem::transmute(value) }
1106     }
1107 }
1108 impl ::std::convert::From<&InkAnalysisListItem> for ::windows::runtime::IUnknown {
from(value: &InkAnalysisListItem) -> Self1109     fn from(value: &InkAnalysisListItem) -> Self {
1110         ::std::convert::From::from(::std::clone::Clone::clone(value))
1111     }
1112 }
1113 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for InkAnalysisListItem {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1114     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1115         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
1116     }
1117 }
1118 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &InkAnalysisListItem {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1119     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1120         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
1121     }
1122 }
1123 impl ::std::convert::From<InkAnalysisListItem> for ::windows::runtime::IInspectable {
from(value: InkAnalysisListItem) -> Self1124     fn from(value: InkAnalysisListItem) -> Self {
1125         value.0
1126     }
1127 }
1128 impl ::std::convert::From<&InkAnalysisListItem> for ::windows::runtime::IInspectable {
from(value: &InkAnalysisListItem) -> Self1129     fn from(value: &InkAnalysisListItem) -> Self {
1130         value.0.clone()
1131     }
1132 }
1133 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for InkAnalysisListItem {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>1134     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
1135         ::windows::runtime::Param::Owned(self.0)
1136     }
1137 }
1138 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a InkAnalysisListItem {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>1139     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
1140         ::windows::runtime::Param::Borrowed(&self.0)
1141     }
1142 }
1143 impl ::std::convert::TryFrom<InkAnalysisListItem> for IInkAnalysisNode {
1144     type Error = ::windows::runtime::Error;
try_from(value: InkAnalysisListItem) -> ::windows::runtime::Result<Self>1145     fn try_from(value: InkAnalysisListItem) -> ::windows::runtime::Result<Self> {
1146         ::std::convert::TryFrom::try_from(&value)
1147     }
1148 }
1149 impl ::std::convert::TryFrom<&InkAnalysisListItem> for IInkAnalysisNode {
1150     type Error = ::windows::runtime::Error;
try_from(value: &InkAnalysisListItem) -> ::windows::runtime::Result<Self>1151     fn try_from(value: &InkAnalysisListItem) -> ::windows::runtime::Result<Self> {
1152         ::windows::runtime::Interface::cast(value)
1153     }
1154 }
1155 impl<'a> ::windows::runtime::IntoParam<'a, IInkAnalysisNode> for InkAnalysisListItem {
into_param(self) -> ::windows::runtime::Param<'a, IInkAnalysisNode>1156     fn into_param(self) -> ::windows::runtime::Param<'a, IInkAnalysisNode> {
1157         ::windows::runtime::IntoParam::into_param(&self)
1158     }
1159 }
1160 impl<'a> ::windows::runtime::IntoParam<'a, IInkAnalysisNode> for &InkAnalysisListItem {
into_param(self) -> ::windows::runtime::Param<'a, IInkAnalysisNode>1161     fn into_param(self) -> ::windows::runtime::Param<'a, IInkAnalysisNode> {
1162         ::std::convert::TryInto::<IInkAnalysisNode>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
1163     }
1164 }
1165 unsafe impl ::std::marker::Send for InkAnalysisListItem {}
1166 unsafe impl ::std::marker::Sync for InkAnalysisListItem {}
1167 #[repr(transparent)]
1168 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1169 pub struct InkAnalysisNode(::windows::runtime::IInspectable);
1170 impl InkAnalysisNode {
Id(&self) -> ::windows::runtime::Result<u32>1171     pub fn Id(&self) -> ::windows::runtime::Result<u32> {
1172         let this = self;
1173         unsafe {
1174             let mut result__: u32 = ::std::mem::zeroed();
1175             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<u32>(result__)
1176         }
1177     }
Kind(&self) -> ::windows::runtime::Result<InkAnalysisNodeKind>1178     pub fn Kind(&self) -> ::windows::runtime::Result<InkAnalysisNodeKind> {
1179         let this = self;
1180         unsafe {
1181             let mut result__: InkAnalysisNodeKind = ::std::mem::zeroed();
1182             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<InkAnalysisNodeKind>(result__)
1183         }
1184     }
1185     #[cfg(feature = "Foundation")]
BoundingRect(&self) -> ::windows::runtime::Result<super::super::super::super::Foundation::Rect>1186     pub fn BoundingRect(&self) -> ::windows::runtime::Result<super::super::super::super::Foundation::Rect> {
1187         let this = self;
1188         unsafe {
1189             let mut result__: super::super::super::super::Foundation::Rect = ::std::mem::zeroed();
1190             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::super::super::Foundation::Rect>(result__)
1191         }
1192     }
1193     #[cfg(all(feature = "Foundation", feature = "Foundation_Collections"))]
RotatedBoundingRect(&self) -> ::windows::runtime::Result<super::super::super::super::Foundation::Collections::IVectorView<super::super::super::super::Foundation::Point>>1194     pub fn RotatedBoundingRect(&self) -> ::windows::runtime::Result<super::super::super::super::Foundation::Collections::IVectorView<super::super::super::super::Foundation::Point>> {
1195         let this = self;
1196         unsafe {
1197             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
1198             (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::super::super::Foundation::Collections::IVectorView<super::super::super::super::Foundation::Point>>(result__)
1199         }
1200     }
1201     #[cfg(feature = "Foundation_Collections")]
Children(&self) -> ::windows::runtime::Result<super::super::super::super::Foundation::Collections::IVectorView<IInkAnalysisNode>>1202     pub fn Children(&self) -> ::windows::runtime::Result<super::super::super::super::Foundation::Collections::IVectorView<IInkAnalysisNode>> {
1203         let this = self;
1204         unsafe {
1205             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
1206             (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::super::super::Foundation::Collections::IVectorView<IInkAnalysisNode>>(result__)
1207         }
1208     }
Parent(&self) -> ::windows::runtime::Result<IInkAnalysisNode>1209     pub fn Parent(&self) -> ::windows::runtime::Result<IInkAnalysisNode> {
1210         let this = self;
1211         unsafe {
1212             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
1213             (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), &mut result__).from_abi::<IInkAnalysisNode>(result__)
1214         }
1215     }
1216     #[cfg(feature = "Foundation_Collections")]
GetStrokeIds(&self) -> ::windows::runtime::Result<super::super::super::super::Foundation::Collections::IVectorView<u32>>1217     pub fn GetStrokeIds(&self) -> ::windows::runtime::Result<super::super::super::super::Foundation::Collections::IVectorView<u32>> {
1218         let this = self;
1219         unsafe {
1220             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
1221             (::windows::runtime::Interface::vtable(this).12)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::super::super::Foundation::Collections::IVectorView<u32>>(result__)
1222         }
1223     }
1224 }
1225 unsafe impl ::windows::runtime::RuntimeType for InkAnalysisNode {
1226     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.UI.Input.Inking.Analysis.InkAnalysisNode;{30831f05-5f64-4a2c-ba37-4f4887879574})");
1227 }
1228 unsafe impl ::windows::runtime::Interface for InkAnalysisNode {
1229     type Vtable = IInkAnalysisNode_abi;
1230     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(813899525, 24420, 18988, [186, 55, 79, 72, 135, 135, 149, 116]);
1231 }
1232 impl ::windows::runtime::RuntimeName for InkAnalysisNode {
1233     const NAME: &'static str = "Windows.UI.Input.Inking.Analysis.InkAnalysisNode";
1234 }
1235 impl ::std::convert::From<InkAnalysisNode> for ::windows::runtime::IUnknown {
from(value: InkAnalysisNode) -> Self1236     fn from(value: InkAnalysisNode) -> Self {
1237         unsafe { ::std::mem::transmute(value) }
1238     }
1239 }
1240 impl ::std::convert::From<&InkAnalysisNode> for ::windows::runtime::IUnknown {
from(value: &InkAnalysisNode) -> Self1241     fn from(value: &InkAnalysisNode) -> Self {
1242         ::std::convert::From::from(::std::clone::Clone::clone(value))
1243     }
1244 }
1245 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for InkAnalysisNode {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1246     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1247         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
1248     }
1249 }
1250 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &InkAnalysisNode {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1251     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1252         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
1253     }
1254 }
1255 impl ::std::convert::From<InkAnalysisNode> for ::windows::runtime::IInspectable {
from(value: InkAnalysisNode) -> Self1256     fn from(value: InkAnalysisNode) -> Self {
1257         value.0
1258     }
1259 }
1260 impl ::std::convert::From<&InkAnalysisNode> for ::windows::runtime::IInspectable {
from(value: &InkAnalysisNode) -> Self1261     fn from(value: &InkAnalysisNode) -> Self {
1262         value.0.clone()
1263     }
1264 }
1265 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for InkAnalysisNode {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>1266     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
1267         ::windows::runtime::Param::Owned(self.0)
1268     }
1269 }
1270 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a InkAnalysisNode {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>1271     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
1272         ::windows::runtime::Param::Borrowed(&self.0)
1273     }
1274 }
1275 impl ::std::convert::From<InkAnalysisNode> for IInkAnalysisNode {
from(value: InkAnalysisNode) -> Self1276     fn from(value: InkAnalysisNode) -> Self {
1277         unsafe { ::std::mem::transmute(value) }
1278     }
1279 }
1280 impl ::std::convert::From<&InkAnalysisNode> for IInkAnalysisNode {
from(value: &InkAnalysisNode) -> Self1281     fn from(value: &InkAnalysisNode) -> Self {
1282         ::std::convert::From::from(::std::clone::Clone::clone(value))
1283     }
1284 }
1285 impl<'a> ::windows::runtime::IntoParam<'a, IInkAnalysisNode> for InkAnalysisNode {
into_param(self) -> ::windows::runtime::Param<'a, IInkAnalysisNode>1286     fn into_param(self) -> ::windows::runtime::Param<'a, IInkAnalysisNode> {
1287         ::windows::runtime::Param::Owned(::std::convert::Into::<IInkAnalysisNode>::into(self))
1288     }
1289 }
1290 impl<'a> ::windows::runtime::IntoParam<'a, IInkAnalysisNode> for &InkAnalysisNode {
into_param(self) -> ::windows::runtime::Param<'a, IInkAnalysisNode>1291     fn into_param(self) -> ::windows::runtime::Param<'a, IInkAnalysisNode> {
1292         ::windows::runtime::Param::Owned(::std::convert::Into::<IInkAnalysisNode>::into(::std::clone::Clone::clone(self)))
1293     }
1294 }
1295 unsafe impl ::std::marker::Send for InkAnalysisNode {}
1296 unsafe impl ::std::marker::Sync for InkAnalysisNode {}
1297 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
1298 #[repr(transparent)]
1299 pub struct InkAnalysisNodeKind(pub i32);
1300 impl InkAnalysisNodeKind {
1301     pub const UnclassifiedInk: InkAnalysisNodeKind = InkAnalysisNodeKind(0i32);
1302     pub const Root: InkAnalysisNodeKind = InkAnalysisNodeKind(1i32);
1303     pub const WritingRegion: InkAnalysisNodeKind = InkAnalysisNodeKind(2i32);
1304     pub const Paragraph: InkAnalysisNodeKind = InkAnalysisNodeKind(3i32);
1305     pub const Line: InkAnalysisNodeKind = InkAnalysisNodeKind(4i32);
1306     pub const InkWord: InkAnalysisNodeKind = InkAnalysisNodeKind(5i32);
1307     pub const InkBullet: InkAnalysisNodeKind = InkAnalysisNodeKind(6i32);
1308     pub const InkDrawing: InkAnalysisNodeKind = InkAnalysisNodeKind(7i32);
1309     pub const ListItem: InkAnalysisNodeKind = InkAnalysisNodeKind(8i32);
1310 }
1311 impl ::std::convert::From<i32> for InkAnalysisNodeKind {
from(value: i32) -> Self1312     fn from(value: i32) -> Self {
1313         Self(value)
1314     }
1315 }
1316 unsafe impl ::windows::runtime::Abi for InkAnalysisNodeKind {
1317     type Abi = Self;
1318     type DefaultType = Self;
1319 }
1320 unsafe impl ::windows::runtime::RuntimeType for InkAnalysisNodeKind {
1321     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"enum(Windows.UI.Input.Inking.Analysis.InkAnalysisNodeKind;i4)");
1322 }
1323 #[repr(transparent)]
1324 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1325 pub struct InkAnalysisParagraph(::windows::runtime::IInspectable);
1326 impl InkAnalysisParagraph {
RecognizedText(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>1327     pub fn RecognizedText(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
1328         let this = self;
1329         unsafe {
1330             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
1331             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
1332         }
1333     }
Id(&self) -> ::windows::runtime::Result<u32>1334     pub fn Id(&self) -> ::windows::runtime::Result<u32> {
1335         let this = &::windows::runtime::Interface::cast::<IInkAnalysisNode>(self)?;
1336         unsafe {
1337             let mut result__: u32 = ::std::mem::zeroed();
1338             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<u32>(result__)
1339         }
1340     }
Kind(&self) -> ::windows::runtime::Result<InkAnalysisNodeKind>1341     pub fn Kind(&self) -> ::windows::runtime::Result<InkAnalysisNodeKind> {
1342         let this = &::windows::runtime::Interface::cast::<IInkAnalysisNode>(self)?;
1343         unsafe {
1344             let mut result__: InkAnalysisNodeKind = ::std::mem::zeroed();
1345             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<InkAnalysisNodeKind>(result__)
1346         }
1347     }
1348     #[cfg(feature = "Foundation")]
BoundingRect(&self) -> ::windows::runtime::Result<super::super::super::super::Foundation::Rect>1349     pub fn BoundingRect(&self) -> ::windows::runtime::Result<super::super::super::super::Foundation::Rect> {
1350         let this = &::windows::runtime::Interface::cast::<IInkAnalysisNode>(self)?;
1351         unsafe {
1352             let mut result__: super::super::super::super::Foundation::Rect = ::std::mem::zeroed();
1353             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::super::super::Foundation::Rect>(result__)
1354         }
1355     }
1356     #[cfg(all(feature = "Foundation", feature = "Foundation_Collections"))]
RotatedBoundingRect(&self) -> ::windows::runtime::Result<super::super::super::super::Foundation::Collections::IVectorView<super::super::super::super::Foundation::Point>>1357     pub fn RotatedBoundingRect(&self) -> ::windows::runtime::Result<super::super::super::super::Foundation::Collections::IVectorView<super::super::super::super::Foundation::Point>> {
1358         let this = &::windows::runtime::Interface::cast::<IInkAnalysisNode>(self)?;
1359         unsafe {
1360             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
1361             (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::super::super::Foundation::Collections::IVectorView<super::super::super::super::Foundation::Point>>(result__)
1362         }
1363     }
1364     #[cfg(feature = "Foundation_Collections")]
Children(&self) -> ::windows::runtime::Result<super::super::super::super::Foundation::Collections::IVectorView<IInkAnalysisNode>>1365     pub fn Children(&self) -> ::windows::runtime::Result<super::super::super::super::Foundation::Collections::IVectorView<IInkAnalysisNode>> {
1366         let this = &::windows::runtime::Interface::cast::<IInkAnalysisNode>(self)?;
1367         unsafe {
1368             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
1369             (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::super::super::Foundation::Collections::IVectorView<IInkAnalysisNode>>(result__)
1370         }
1371     }
Parent(&self) -> ::windows::runtime::Result<IInkAnalysisNode>1372     pub fn Parent(&self) -> ::windows::runtime::Result<IInkAnalysisNode> {
1373         let this = &::windows::runtime::Interface::cast::<IInkAnalysisNode>(self)?;
1374         unsafe {
1375             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
1376             (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), &mut result__).from_abi::<IInkAnalysisNode>(result__)
1377         }
1378     }
1379     #[cfg(feature = "Foundation_Collections")]
GetStrokeIds(&self) -> ::windows::runtime::Result<super::super::super::super::Foundation::Collections::IVectorView<u32>>1380     pub fn GetStrokeIds(&self) -> ::windows::runtime::Result<super::super::super::super::Foundation::Collections::IVectorView<u32>> {
1381         let this = &::windows::runtime::Interface::cast::<IInkAnalysisNode>(self)?;
1382         unsafe {
1383             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
1384             (::windows::runtime::Interface::vtable(this).12)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::super::super::Foundation::Collections::IVectorView<u32>>(result__)
1385         }
1386     }
1387 }
1388 unsafe impl ::windows::runtime::RuntimeType for InkAnalysisParagraph {
1389     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.UI.Input.Inking.Analysis.InkAnalysisParagraph;{d9ad045c-0cd1-4dd4-a68b-eb1f12b3d727})");
1390 }
1391 unsafe impl ::windows::runtime::Interface for InkAnalysisParagraph {
1392     type Vtable = IInkAnalysisParagraph_abi;
1393     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3651994716, 3281, 19924, [166, 139, 235, 31, 18, 179, 215, 39]);
1394 }
1395 impl ::windows::runtime::RuntimeName for InkAnalysisParagraph {
1396     const NAME: &'static str = "Windows.UI.Input.Inking.Analysis.InkAnalysisParagraph";
1397 }
1398 impl ::std::convert::From<InkAnalysisParagraph> for ::windows::runtime::IUnknown {
from(value: InkAnalysisParagraph) -> Self1399     fn from(value: InkAnalysisParagraph) -> Self {
1400         unsafe { ::std::mem::transmute(value) }
1401     }
1402 }
1403 impl ::std::convert::From<&InkAnalysisParagraph> for ::windows::runtime::IUnknown {
from(value: &InkAnalysisParagraph) -> Self1404     fn from(value: &InkAnalysisParagraph) -> Self {
1405         ::std::convert::From::from(::std::clone::Clone::clone(value))
1406     }
1407 }
1408 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for InkAnalysisParagraph {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1409     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1410         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
1411     }
1412 }
1413 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &InkAnalysisParagraph {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1414     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1415         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
1416     }
1417 }
1418 impl ::std::convert::From<InkAnalysisParagraph> for ::windows::runtime::IInspectable {
from(value: InkAnalysisParagraph) -> Self1419     fn from(value: InkAnalysisParagraph) -> Self {
1420         value.0
1421     }
1422 }
1423 impl ::std::convert::From<&InkAnalysisParagraph> for ::windows::runtime::IInspectable {
from(value: &InkAnalysisParagraph) -> Self1424     fn from(value: &InkAnalysisParagraph) -> Self {
1425         value.0.clone()
1426     }
1427 }
1428 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for InkAnalysisParagraph {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>1429     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
1430         ::windows::runtime::Param::Owned(self.0)
1431     }
1432 }
1433 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a InkAnalysisParagraph {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>1434     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
1435         ::windows::runtime::Param::Borrowed(&self.0)
1436     }
1437 }
1438 impl ::std::convert::TryFrom<InkAnalysisParagraph> for IInkAnalysisNode {
1439     type Error = ::windows::runtime::Error;
try_from(value: InkAnalysisParagraph) -> ::windows::runtime::Result<Self>1440     fn try_from(value: InkAnalysisParagraph) -> ::windows::runtime::Result<Self> {
1441         ::std::convert::TryFrom::try_from(&value)
1442     }
1443 }
1444 impl ::std::convert::TryFrom<&InkAnalysisParagraph> for IInkAnalysisNode {
1445     type Error = ::windows::runtime::Error;
try_from(value: &InkAnalysisParagraph) -> ::windows::runtime::Result<Self>1446     fn try_from(value: &InkAnalysisParagraph) -> ::windows::runtime::Result<Self> {
1447         ::windows::runtime::Interface::cast(value)
1448     }
1449 }
1450 impl<'a> ::windows::runtime::IntoParam<'a, IInkAnalysisNode> for InkAnalysisParagraph {
into_param(self) -> ::windows::runtime::Param<'a, IInkAnalysisNode>1451     fn into_param(self) -> ::windows::runtime::Param<'a, IInkAnalysisNode> {
1452         ::windows::runtime::IntoParam::into_param(&self)
1453     }
1454 }
1455 impl<'a> ::windows::runtime::IntoParam<'a, IInkAnalysisNode> for &InkAnalysisParagraph {
into_param(self) -> ::windows::runtime::Param<'a, IInkAnalysisNode>1456     fn into_param(self) -> ::windows::runtime::Param<'a, IInkAnalysisNode> {
1457         ::std::convert::TryInto::<IInkAnalysisNode>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
1458     }
1459 }
1460 unsafe impl ::std::marker::Send for InkAnalysisParagraph {}
1461 unsafe impl ::std::marker::Sync for InkAnalysisParagraph {}
1462 #[repr(transparent)]
1463 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1464 pub struct InkAnalysisResult(::windows::runtime::IInspectable);
1465 impl InkAnalysisResult {
Status(&self) -> ::windows::runtime::Result<InkAnalysisStatus>1466     pub fn Status(&self) -> ::windows::runtime::Result<InkAnalysisStatus> {
1467         let this = self;
1468         unsafe {
1469             let mut result__: InkAnalysisStatus = ::std::mem::zeroed();
1470             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<InkAnalysisStatus>(result__)
1471         }
1472     }
1473 }
1474 unsafe impl ::windows::runtime::RuntimeType for InkAnalysisResult {
1475     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.UI.Input.Inking.Analysis.InkAnalysisResult;{8948ba79-a243-4aa3-a294-1f98bd0ff580})");
1476 }
1477 unsafe impl ::windows::runtime::Interface for InkAnalysisResult {
1478     type Vtable = IInkAnalysisResult_abi;
1479     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2303244921, 41539, 19107, [162, 148, 31, 152, 189, 15, 245, 128]);
1480 }
1481 impl ::windows::runtime::RuntimeName for InkAnalysisResult {
1482     const NAME: &'static str = "Windows.UI.Input.Inking.Analysis.InkAnalysisResult";
1483 }
1484 impl ::std::convert::From<InkAnalysisResult> for ::windows::runtime::IUnknown {
from(value: InkAnalysisResult) -> Self1485     fn from(value: InkAnalysisResult) -> Self {
1486         unsafe { ::std::mem::transmute(value) }
1487     }
1488 }
1489 impl ::std::convert::From<&InkAnalysisResult> for ::windows::runtime::IUnknown {
from(value: &InkAnalysisResult) -> Self1490     fn from(value: &InkAnalysisResult) -> Self {
1491         ::std::convert::From::from(::std::clone::Clone::clone(value))
1492     }
1493 }
1494 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for InkAnalysisResult {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1495     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1496         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
1497     }
1498 }
1499 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &InkAnalysisResult {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1500     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1501         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
1502     }
1503 }
1504 impl ::std::convert::From<InkAnalysisResult> for ::windows::runtime::IInspectable {
from(value: InkAnalysisResult) -> Self1505     fn from(value: InkAnalysisResult) -> Self {
1506         value.0
1507     }
1508 }
1509 impl ::std::convert::From<&InkAnalysisResult> for ::windows::runtime::IInspectable {
from(value: &InkAnalysisResult) -> Self1510     fn from(value: &InkAnalysisResult) -> Self {
1511         value.0.clone()
1512     }
1513 }
1514 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for InkAnalysisResult {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>1515     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
1516         ::windows::runtime::Param::Owned(self.0)
1517     }
1518 }
1519 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a InkAnalysisResult {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>1520     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
1521         ::windows::runtime::Param::Borrowed(&self.0)
1522     }
1523 }
1524 unsafe impl ::std::marker::Send for InkAnalysisResult {}
1525 unsafe impl ::std::marker::Sync for InkAnalysisResult {}
1526 #[repr(transparent)]
1527 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1528 pub struct InkAnalysisRoot(::windows::runtime::IInspectable);
1529 impl InkAnalysisRoot {
RecognizedText(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>1530     pub fn RecognizedText(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
1531         let this = self;
1532         unsafe {
1533             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
1534             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
1535         }
1536     }
1537     #[cfg(feature = "Foundation_Collections")]
FindNodes(&self, nodekind: InkAnalysisNodeKind) -> ::windows::runtime::Result<super::super::super::super::Foundation::Collections::IVectorView<IInkAnalysisNode>>1538     pub fn FindNodes(&self, nodekind: InkAnalysisNodeKind) -> ::windows::runtime::Result<super::super::super::super::Foundation::Collections::IVectorView<IInkAnalysisNode>> {
1539         let this = self;
1540         unsafe {
1541             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
1542             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), nodekind, &mut result__).from_abi::<super::super::super::super::Foundation::Collections::IVectorView<IInkAnalysisNode>>(result__)
1543         }
1544     }
Id(&self) -> ::windows::runtime::Result<u32>1545     pub fn Id(&self) -> ::windows::runtime::Result<u32> {
1546         let this = &::windows::runtime::Interface::cast::<IInkAnalysisNode>(self)?;
1547         unsafe {
1548             let mut result__: u32 = ::std::mem::zeroed();
1549             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<u32>(result__)
1550         }
1551     }
Kind(&self) -> ::windows::runtime::Result<InkAnalysisNodeKind>1552     pub fn Kind(&self) -> ::windows::runtime::Result<InkAnalysisNodeKind> {
1553         let this = &::windows::runtime::Interface::cast::<IInkAnalysisNode>(self)?;
1554         unsafe {
1555             let mut result__: InkAnalysisNodeKind = ::std::mem::zeroed();
1556             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<InkAnalysisNodeKind>(result__)
1557         }
1558     }
1559     #[cfg(feature = "Foundation")]
BoundingRect(&self) -> ::windows::runtime::Result<super::super::super::super::Foundation::Rect>1560     pub fn BoundingRect(&self) -> ::windows::runtime::Result<super::super::super::super::Foundation::Rect> {
1561         let this = &::windows::runtime::Interface::cast::<IInkAnalysisNode>(self)?;
1562         unsafe {
1563             let mut result__: super::super::super::super::Foundation::Rect = ::std::mem::zeroed();
1564             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::super::super::Foundation::Rect>(result__)
1565         }
1566     }
1567     #[cfg(all(feature = "Foundation", feature = "Foundation_Collections"))]
RotatedBoundingRect(&self) -> ::windows::runtime::Result<super::super::super::super::Foundation::Collections::IVectorView<super::super::super::super::Foundation::Point>>1568     pub fn RotatedBoundingRect(&self) -> ::windows::runtime::Result<super::super::super::super::Foundation::Collections::IVectorView<super::super::super::super::Foundation::Point>> {
1569         let this = &::windows::runtime::Interface::cast::<IInkAnalysisNode>(self)?;
1570         unsafe {
1571             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
1572             (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::super::super::Foundation::Collections::IVectorView<super::super::super::super::Foundation::Point>>(result__)
1573         }
1574     }
1575     #[cfg(feature = "Foundation_Collections")]
Children(&self) -> ::windows::runtime::Result<super::super::super::super::Foundation::Collections::IVectorView<IInkAnalysisNode>>1576     pub fn Children(&self) -> ::windows::runtime::Result<super::super::super::super::Foundation::Collections::IVectorView<IInkAnalysisNode>> {
1577         let this = &::windows::runtime::Interface::cast::<IInkAnalysisNode>(self)?;
1578         unsafe {
1579             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
1580             (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::super::super::Foundation::Collections::IVectorView<IInkAnalysisNode>>(result__)
1581         }
1582     }
Parent(&self) -> ::windows::runtime::Result<IInkAnalysisNode>1583     pub fn Parent(&self) -> ::windows::runtime::Result<IInkAnalysisNode> {
1584         let this = &::windows::runtime::Interface::cast::<IInkAnalysisNode>(self)?;
1585         unsafe {
1586             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
1587             (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), &mut result__).from_abi::<IInkAnalysisNode>(result__)
1588         }
1589     }
1590     #[cfg(feature = "Foundation_Collections")]
GetStrokeIds(&self) -> ::windows::runtime::Result<super::super::super::super::Foundation::Collections::IVectorView<u32>>1591     pub fn GetStrokeIds(&self) -> ::windows::runtime::Result<super::super::super::super::Foundation::Collections::IVectorView<u32>> {
1592         let this = &::windows::runtime::Interface::cast::<IInkAnalysisNode>(self)?;
1593         unsafe {
1594             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
1595             (::windows::runtime::Interface::vtable(this).12)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::super::super::Foundation::Collections::IVectorView<u32>>(result__)
1596         }
1597     }
1598 }
1599 unsafe impl ::windows::runtime::RuntimeType for InkAnalysisRoot {
1600     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.UI.Input.Inking.Analysis.InkAnalysisRoot;{3fb6a3c4-2fde-4061-8502-a90f32545b84})");
1601 }
1602 unsafe impl ::windows::runtime::Interface for InkAnalysisRoot {
1603     type Vtable = IInkAnalysisRoot_abi;
1604     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1068934084, 12254, 16481, [133, 2, 169, 15, 50, 84, 91, 132]);
1605 }
1606 impl ::windows::runtime::RuntimeName for InkAnalysisRoot {
1607     const NAME: &'static str = "Windows.UI.Input.Inking.Analysis.InkAnalysisRoot";
1608 }
1609 impl ::std::convert::From<InkAnalysisRoot> for ::windows::runtime::IUnknown {
from(value: InkAnalysisRoot) -> Self1610     fn from(value: InkAnalysisRoot) -> Self {
1611         unsafe { ::std::mem::transmute(value) }
1612     }
1613 }
1614 impl ::std::convert::From<&InkAnalysisRoot> for ::windows::runtime::IUnknown {
from(value: &InkAnalysisRoot) -> Self1615     fn from(value: &InkAnalysisRoot) -> Self {
1616         ::std::convert::From::from(::std::clone::Clone::clone(value))
1617     }
1618 }
1619 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for InkAnalysisRoot {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1620     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1621         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
1622     }
1623 }
1624 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &InkAnalysisRoot {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1625     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1626         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
1627     }
1628 }
1629 impl ::std::convert::From<InkAnalysisRoot> for ::windows::runtime::IInspectable {
from(value: InkAnalysisRoot) -> Self1630     fn from(value: InkAnalysisRoot) -> Self {
1631         value.0
1632     }
1633 }
1634 impl ::std::convert::From<&InkAnalysisRoot> for ::windows::runtime::IInspectable {
from(value: &InkAnalysisRoot) -> Self1635     fn from(value: &InkAnalysisRoot) -> Self {
1636         value.0.clone()
1637     }
1638 }
1639 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for InkAnalysisRoot {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>1640     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
1641         ::windows::runtime::Param::Owned(self.0)
1642     }
1643 }
1644 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a InkAnalysisRoot {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>1645     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
1646         ::windows::runtime::Param::Borrowed(&self.0)
1647     }
1648 }
1649 impl ::std::convert::TryFrom<InkAnalysisRoot> for IInkAnalysisNode {
1650     type Error = ::windows::runtime::Error;
try_from(value: InkAnalysisRoot) -> ::windows::runtime::Result<Self>1651     fn try_from(value: InkAnalysisRoot) -> ::windows::runtime::Result<Self> {
1652         ::std::convert::TryFrom::try_from(&value)
1653     }
1654 }
1655 impl ::std::convert::TryFrom<&InkAnalysisRoot> for IInkAnalysisNode {
1656     type Error = ::windows::runtime::Error;
try_from(value: &InkAnalysisRoot) -> ::windows::runtime::Result<Self>1657     fn try_from(value: &InkAnalysisRoot) -> ::windows::runtime::Result<Self> {
1658         ::windows::runtime::Interface::cast(value)
1659     }
1660 }
1661 impl<'a> ::windows::runtime::IntoParam<'a, IInkAnalysisNode> for InkAnalysisRoot {
into_param(self) -> ::windows::runtime::Param<'a, IInkAnalysisNode>1662     fn into_param(self) -> ::windows::runtime::Param<'a, IInkAnalysisNode> {
1663         ::windows::runtime::IntoParam::into_param(&self)
1664     }
1665 }
1666 impl<'a> ::windows::runtime::IntoParam<'a, IInkAnalysisNode> for &InkAnalysisRoot {
into_param(self) -> ::windows::runtime::Param<'a, IInkAnalysisNode>1667     fn into_param(self) -> ::windows::runtime::Param<'a, IInkAnalysisNode> {
1668         ::std::convert::TryInto::<IInkAnalysisNode>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
1669     }
1670 }
1671 unsafe impl ::std::marker::Send for InkAnalysisRoot {}
1672 unsafe impl ::std::marker::Sync for InkAnalysisRoot {}
1673 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
1674 #[repr(transparent)]
1675 pub struct InkAnalysisStatus(pub i32);
1676 impl InkAnalysisStatus {
1677     pub const Updated: InkAnalysisStatus = InkAnalysisStatus(0i32);
1678     pub const Unchanged: InkAnalysisStatus = InkAnalysisStatus(1i32);
1679 }
1680 impl ::std::convert::From<i32> for InkAnalysisStatus {
from(value: i32) -> Self1681     fn from(value: i32) -> Self {
1682         Self(value)
1683     }
1684 }
1685 unsafe impl ::windows::runtime::Abi for InkAnalysisStatus {
1686     type Abi = Self;
1687     type DefaultType = Self;
1688 }
1689 unsafe impl ::windows::runtime::RuntimeType for InkAnalysisStatus {
1690     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"enum(Windows.UI.Input.Inking.Analysis.InkAnalysisStatus;i4)");
1691 }
1692 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
1693 #[repr(transparent)]
1694 pub struct InkAnalysisStrokeKind(pub i32);
1695 impl InkAnalysisStrokeKind {
1696     pub const Auto: InkAnalysisStrokeKind = InkAnalysisStrokeKind(0i32);
1697     pub const Writing: InkAnalysisStrokeKind = InkAnalysisStrokeKind(1i32);
1698     pub const Drawing: InkAnalysisStrokeKind = InkAnalysisStrokeKind(2i32);
1699 }
1700 impl ::std::convert::From<i32> for InkAnalysisStrokeKind {
from(value: i32) -> Self1701     fn from(value: i32) -> Self {
1702         Self(value)
1703     }
1704 }
1705 unsafe impl ::windows::runtime::Abi for InkAnalysisStrokeKind {
1706     type Abi = Self;
1707     type DefaultType = Self;
1708 }
1709 unsafe impl ::windows::runtime::RuntimeType for InkAnalysisStrokeKind {
1710     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"enum(Windows.UI.Input.Inking.Analysis.InkAnalysisStrokeKind;i4)");
1711 }
1712 #[repr(transparent)]
1713 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1714 pub struct InkAnalysisWritingRegion(::windows::runtime::IInspectable);
1715 impl InkAnalysisWritingRegion {
RecognizedText(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>1716     pub fn RecognizedText(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
1717         let this = self;
1718         unsafe {
1719             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
1720             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
1721         }
1722     }
Id(&self) -> ::windows::runtime::Result<u32>1723     pub fn Id(&self) -> ::windows::runtime::Result<u32> {
1724         let this = &::windows::runtime::Interface::cast::<IInkAnalysisNode>(self)?;
1725         unsafe {
1726             let mut result__: u32 = ::std::mem::zeroed();
1727             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<u32>(result__)
1728         }
1729     }
Kind(&self) -> ::windows::runtime::Result<InkAnalysisNodeKind>1730     pub fn Kind(&self) -> ::windows::runtime::Result<InkAnalysisNodeKind> {
1731         let this = &::windows::runtime::Interface::cast::<IInkAnalysisNode>(self)?;
1732         unsafe {
1733             let mut result__: InkAnalysisNodeKind = ::std::mem::zeroed();
1734             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<InkAnalysisNodeKind>(result__)
1735         }
1736     }
1737     #[cfg(feature = "Foundation")]
BoundingRect(&self) -> ::windows::runtime::Result<super::super::super::super::Foundation::Rect>1738     pub fn BoundingRect(&self) -> ::windows::runtime::Result<super::super::super::super::Foundation::Rect> {
1739         let this = &::windows::runtime::Interface::cast::<IInkAnalysisNode>(self)?;
1740         unsafe {
1741             let mut result__: super::super::super::super::Foundation::Rect = ::std::mem::zeroed();
1742             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::super::super::Foundation::Rect>(result__)
1743         }
1744     }
1745     #[cfg(all(feature = "Foundation", feature = "Foundation_Collections"))]
RotatedBoundingRect(&self) -> ::windows::runtime::Result<super::super::super::super::Foundation::Collections::IVectorView<super::super::super::super::Foundation::Point>>1746     pub fn RotatedBoundingRect(&self) -> ::windows::runtime::Result<super::super::super::super::Foundation::Collections::IVectorView<super::super::super::super::Foundation::Point>> {
1747         let this = &::windows::runtime::Interface::cast::<IInkAnalysisNode>(self)?;
1748         unsafe {
1749             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
1750             (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::super::super::Foundation::Collections::IVectorView<super::super::super::super::Foundation::Point>>(result__)
1751         }
1752     }
1753     #[cfg(feature = "Foundation_Collections")]
Children(&self) -> ::windows::runtime::Result<super::super::super::super::Foundation::Collections::IVectorView<IInkAnalysisNode>>1754     pub fn Children(&self) -> ::windows::runtime::Result<super::super::super::super::Foundation::Collections::IVectorView<IInkAnalysisNode>> {
1755         let this = &::windows::runtime::Interface::cast::<IInkAnalysisNode>(self)?;
1756         unsafe {
1757             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
1758             (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::super::super::Foundation::Collections::IVectorView<IInkAnalysisNode>>(result__)
1759         }
1760     }
Parent(&self) -> ::windows::runtime::Result<IInkAnalysisNode>1761     pub fn Parent(&self) -> ::windows::runtime::Result<IInkAnalysisNode> {
1762         let this = &::windows::runtime::Interface::cast::<IInkAnalysisNode>(self)?;
1763         unsafe {
1764             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
1765             (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), &mut result__).from_abi::<IInkAnalysisNode>(result__)
1766         }
1767     }
1768     #[cfg(feature = "Foundation_Collections")]
GetStrokeIds(&self) -> ::windows::runtime::Result<super::super::super::super::Foundation::Collections::IVectorView<u32>>1769     pub fn GetStrokeIds(&self) -> ::windows::runtime::Result<super::super::super::super::Foundation::Collections::IVectorView<u32>> {
1770         let this = &::windows::runtime::Interface::cast::<IInkAnalysisNode>(self)?;
1771         unsafe {
1772             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
1773             (::windows::runtime::Interface::vtable(this).12)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::super::super::Foundation::Collections::IVectorView<u32>>(result__)
1774         }
1775     }
1776 }
1777 unsafe impl ::windows::runtime::RuntimeType for InkAnalysisWritingRegion {
1778     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.UI.Input.Inking.Analysis.InkAnalysisWritingRegion;{dd6d6231-bd16-4663-b5ae-941d3043ef5b})");
1779 }
1780 unsafe impl ::windows::runtime::Interface for InkAnalysisWritingRegion {
1781     type Vtable = IInkAnalysisWritingRegion_abi;
1782     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3714933297, 48406, 18019, [181, 174, 148, 29, 48, 67, 239, 91]);
1783 }
1784 impl ::windows::runtime::RuntimeName for InkAnalysisWritingRegion {
1785     const NAME: &'static str = "Windows.UI.Input.Inking.Analysis.InkAnalysisWritingRegion";
1786 }
1787 impl ::std::convert::From<InkAnalysisWritingRegion> for ::windows::runtime::IUnknown {
from(value: InkAnalysisWritingRegion) -> Self1788     fn from(value: InkAnalysisWritingRegion) -> Self {
1789         unsafe { ::std::mem::transmute(value) }
1790     }
1791 }
1792 impl ::std::convert::From<&InkAnalysisWritingRegion> for ::windows::runtime::IUnknown {
from(value: &InkAnalysisWritingRegion) -> Self1793     fn from(value: &InkAnalysisWritingRegion) -> Self {
1794         ::std::convert::From::from(::std::clone::Clone::clone(value))
1795     }
1796 }
1797 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for InkAnalysisWritingRegion {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1798     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1799         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
1800     }
1801 }
1802 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &InkAnalysisWritingRegion {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1803     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1804         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
1805     }
1806 }
1807 impl ::std::convert::From<InkAnalysisWritingRegion> for ::windows::runtime::IInspectable {
from(value: InkAnalysisWritingRegion) -> Self1808     fn from(value: InkAnalysisWritingRegion) -> Self {
1809         value.0
1810     }
1811 }
1812 impl ::std::convert::From<&InkAnalysisWritingRegion> for ::windows::runtime::IInspectable {
from(value: &InkAnalysisWritingRegion) -> Self1813     fn from(value: &InkAnalysisWritingRegion) -> Self {
1814         value.0.clone()
1815     }
1816 }
1817 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for InkAnalysisWritingRegion {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>1818     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
1819         ::windows::runtime::Param::Owned(self.0)
1820     }
1821 }
1822 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a InkAnalysisWritingRegion {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>1823     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
1824         ::windows::runtime::Param::Borrowed(&self.0)
1825     }
1826 }
1827 impl ::std::convert::TryFrom<InkAnalysisWritingRegion> for IInkAnalysisNode {
1828     type Error = ::windows::runtime::Error;
try_from(value: InkAnalysisWritingRegion) -> ::windows::runtime::Result<Self>1829     fn try_from(value: InkAnalysisWritingRegion) -> ::windows::runtime::Result<Self> {
1830         ::std::convert::TryFrom::try_from(&value)
1831     }
1832 }
1833 impl ::std::convert::TryFrom<&InkAnalysisWritingRegion> for IInkAnalysisNode {
1834     type Error = ::windows::runtime::Error;
try_from(value: &InkAnalysisWritingRegion) -> ::windows::runtime::Result<Self>1835     fn try_from(value: &InkAnalysisWritingRegion) -> ::windows::runtime::Result<Self> {
1836         ::windows::runtime::Interface::cast(value)
1837     }
1838 }
1839 impl<'a> ::windows::runtime::IntoParam<'a, IInkAnalysisNode> for InkAnalysisWritingRegion {
into_param(self) -> ::windows::runtime::Param<'a, IInkAnalysisNode>1840     fn into_param(self) -> ::windows::runtime::Param<'a, IInkAnalysisNode> {
1841         ::windows::runtime::IntoParam::into_param(&self)
1842     }
1843 }
1844 impl<'a> ::windows::runtime::IntoParam<'a, IInkAnalysisNode> for &InkAnalysisWritingRegion {
into_param(self) -> ::windows::runtime::Param<'a, IInkAnalysisNode>1845     fn into_param(self) -> ::windows::runtime::Param<'a, IInkAnalysisNode> {
1846         ::std::convert::TryInto::<IInkAnalysisNode>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
1847     }
1848 }
1849 unsafe impl ::std::marker::Send for InkAnalysisWritingRegion {}
1850 unsafe impl ::std::marker::Sync for InkAnalysisWritingRegion {}
1851 #[repr(transparent)]
1852 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1853 pub struct InkAnalyzer(::windows::runtime::IInspectable);
1854 impl InkAnalyzer {
new() -> ::windows::runtime::Result<Self>1855     pub fn new() -> ::windows::runtime::Result<Self> {
1856         Self::IActivationFactory(|f| f.activate_instance::<Self>())
1857     }
IActivationFactory<R, F: FnOnce(&::windows::runtime::IActivationFactory) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R>1858     fn IActivationFactory<R, F: FnOnce(&::windows::runtime::IActivationFactory) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R> {
1859         static mut SHARED: ::windows::runtime::FactoryCache<InkAnalyzer, ::windows::runtime::IActivationFactory> = ::windows::runtime::FactoryCache::new();
1860         unsafe { SHARED.call(callback) }
1861     }
AnalysisRoot(&self) -> ::windows::runtime::Result<InkAnalysisRoot>1862     pub fn AnalysisRoot(&self) -> ::windows::runtime::Result<InkAnalysisRoot> {
1863         let this = self;
1864         unsafe {
1865             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
1866             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<InkAnalysisRoot>(result__)
1867         }
1868     }
IsAnalyzing(&self) -> ::windows::runtime::Result<bool>1869     pub fn IsAnalyzing(&self) -> ::windows::runtime::Result<bool> {
1870         let this = self;
1871         unsafe {
1872             let mut result__: bool = ::std::mem::zeroed();
1873             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<bool>(result__)
1874         }
1875     }
AddDataForStroke<'a, Param0: ::windows::runtime::IntoParam<'a, super::InkStroke>>(&self, stroke: Param0) -> ::windows::runtime::Result<()>1876     pub fn AddDataForStroke<'a, Param0: ::windows::runtime::IntoParam<'a, super::InkStroke>>(&self, stroke: Param0) -> ::windows::runtime::Result<()> {
1877         let this = self;
1878         unsafe { (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), stroke.into_param().abi()).ok() }
1879     }
1880     #[cfg(feature = "Foundation_Collections")]
AddDataForStrokes<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::super::super::Foundation::Collections::IIterable<super::InkStroke>>>(&self, strokes: Param0) -> ::windows::runtime::Result<()>1881     pub fn AddDataForStrokes<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::super::super::Foundation::Collections::IIterable<super::InkStroke>>>(&self, strokes: Param0) -> ::windows::runtime::Result<()> {
1882         let this = self;
1883         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), strokes.into_param().abi()).ok() }
1884     }
ClearDataForAllStrokes(&self) -> ::windows::runtime::Result<()>1885     pub fn ClearDataForAllStrokes(&self) -> ::windows::runtime::Result<()> {
1886         let this = self;
1887         unsafe { (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this)).ok() }
1888     }
RemoveDataForStroke(&self, strokeid: u32) -> ::windows::runtime::Result<()>1889     pub fn RemoveDataForStroke(&self, strokeid: u32) -> ::windows::runtime::Result<()> {
1890         let this = self;
1891         unsafe { (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), strokeid).ok() }
1892     }
1893     #[cfg(feature = "Foundation_Collections")]
RemoveDataForStrokes<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::super::super::Foundation::Collections::IIterable<u32>>>(&self, strokeids: Param0) -> ::windows::runtime::Result<()>1894     pub fn RemoveDataForStrokes<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::super::super::Foundation::Collections::IIterable<u32>>>(&self, strokeids: Param0) -> ::windows::runtime::Result<()> {
1895         let this = self;
1896         unsafe { (::windows::runtime::Interface::vtable(this).12)(::std::mem::transmute_copy(this), strokeids.into_param().abi()).ok() }
1897     }
ReplaceDataForStroke<'a, Param0: ::windows::runtime::IntoParam<'a, super::InkStroke>>(&self, stroke: Param0) -> ::windows::runtime::Result<()>1898     pub fn ReplaceDataForStroke<'a, Param0: ::windows::runtime::IntoParam<'a, super::InkStroke>>(&self, stroke: Param0) -> ::windows::runtime::Result<()> {
1899         let this = self;
1900         unsafe { (::windows::runtime::Interface::vtable(this).13)(::std::mem::transmute_copy(this), stroke.into_param().abi()).ok() }
1901     }
SetStrokeDataKind(&self, strokeid: u32, strokekind: InkAnalysisStrokeKind) -> ::windows::runtime::Result<()>1902     pub fn SetStrokeDataKind(&self, strokeid: u32, strokekind: InkAnalysisStrokeKind) -> ::windows::runtime::Result<()> {
1903         let this = self;
1904         unsafe { (::windows::runtime::Interface::vtable(this).14)(::std::mem::transmute_copy(this), strokeid, strokekind).ok() }
1905     }
1906     #[cfg(feature = "Foundation")]
AnalyzeAsync(&self) -> ::windows::runtime::Result<super::super::super::super::Foundation::IAsyncOperation<InkAnalysisResult>>1907     pub fn AnalyzeAsync(&self) -> ::windows::runtime::Result<super::super::super::super::Foundation::IAsyncOperation<InkAnalysisResult>> {
1908         let this = self;
1909         unsafe {
1910             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
1911             (::windows::runtime::Interface::vtable(this).15)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::super::super::Foundation::IAsyncOperation<InkAnalysisResult>>(result__)
1912         }
1913     }
1914 }
1915 unsafe impl ::windows::runtime::RuntimeType for InkAnalyzer {
1916     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.UI.Input.Inking.Analysis.InkAnalyzer;{f12b8f95-0866-4dc5-8c77-f88614dfe38c})");
1917 }
1918 unsafe impl ::windows::runtime::Interface for InkAnalyzer {
1919     type Vtable = IInkAnalyzer_abi;
1920     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(4046163861, 2150, 19909, [140, 119, 248, 134, 20, 223, 227, 140]);
1921 }
1922 impl ::windows::runtime::RuntimeName for InkAnalyzer {
1923     const NAME: &'static str = "Windows.UI.Input.Inking.Analysis.InkAnalyzer";
1924 }
1925 impl ::std::convert::From<InkAnalyzer> for ::windows::runtime::IUnknown {
from(value: InkAnalyzer) -> Self1926     fn from(value: InkAnalyzer) -> Self {
1927         unsafe { ::std::mem::transmute(value) }
1928     }
1929 }
1930 impl ::std::convert::From<&InkAnalyzer> for ::windows::runtime::IUnknown {
from(value: &InkAnalyzer) -> Self1931     fn from(value: &InkAnalyzer) -> Self {
1932         ::std::convert::From::from(::std::clone::Clone::clone(value))
1933     }
1934 }
1935 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for InkAnalyzer {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1936     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1937         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
1938     }
1939 }
1940 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &InkAnalyzer {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1941     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1942         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
1943     }
1944 }
1945 impl ::std::convert::From<InkAnalyzer> for ::windows::runtime::IInspectable {
from(value: InkAnalyzer) -> Self1946     fn from(value: InkAnalyzer) -> Self {
1947         value.0
1948     }
1949 }
1950 impl ::std::convert::From<&InkAnalyzer> for ::windows::runtime::IInspectable {
from(value: &InkAnalyzer) -> Self1951     fn from(value: &InkAnalyzer) -> Self {
1952         value.0.clone()
1953     }
1954 }
1955 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for InkAnalyzer {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>1956     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
1957         ::windows::runtime::Param::Owned(self.0)
1958     }
1959 }
1960 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a InkAnalyzer {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>1961     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
1962         ::windows::runtime::Param::Borrowed(&self.0)
1963     }
1964 }
1965 unsafe impl ::std::marker::Send for InkAnalyzer {}
1966 unsafe impl ::std::marker::Sync for InkAnalyzer {}
1967