1 #![allow(unused_variables, non_upper_case_globals, non_snake_case, unused_unsafe, non_camel_case_types, dead_code, clippy::all)]
2 #[cfg(feature = "UI_Text_Core")]
3 pub mod Core;
4 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
5 #[repr(transparent)]
6 pub struct CaretType(pub i32);
7 impl CaretType {
8     pub const Normal: CaretType = CaretType(0i32);
9     pub const Null: CaretType = CaretType(1i32);
10 }
11 impl ::std::convert::From<i32> for CaretType {
from(value: i32) -> Self12     fn from(value: i32) -> Self {
13         Self(value)
14     }
15 }
16 unsafe impl ::windows::runtime::Abi for CaretType {
17     type Abi = Self;
18     type DefaultType = Self;
19 }
20 unsafe impl ::windows::runtime::RuntimeType for CaretType {
21     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"enum(Windows.UI.Text.CaretType;i4)");
22 }
23 #[repr(transparent)]
24 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
25 pub struct ContentLinkInfo(::windows::runtime::IInspectable);
26 impl ContentLinkInfo {
new() -> ::windows::runtime::Result<Self>27     pub fn new() -> ::windows::runtime::Result<Self> {
28         Self::IActivationFactory(|f| f.activate_instance::<Self>())
29     }
IActivationFactory<R, F: FnOnce(&::windows::runtime::IActivationFactory) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R>30     fn IActivationFactory<R, F: FnOnce(&::windows::runtime::IActivationFactory) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R> {
31         static mut SHARED: ::windows::runtime::FactoryCache<ContentLinkInfo, ::windows::runtime::IActivationFactory> = ::windows::runtime::FactoryCache::new();
32         unsafe { SHARED.call(callback) }
33     }
Id(&self) -> ::windows::runtime::Result<u32>34     pub fn Id(&self) -> ::windows::runtime::Result<u32> {
35         let this = self;
36         unsafe {
37             let mut result__: u32 = ::std::mem::zeroed();
38             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<u32>(result__)
39         }
40     }
SetId(&self, value: u32) -> ::windows::runtime::Result<()>41     pub fn SetId(&self, value: u32) -> ::windows::runtime::Result<()> {
42         let this = self;
43         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value).ok() }
44     }
DisplayText(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>45     pub fn DisplayText(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
46         let this = self;
47         unsafe {
48             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
49             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
50         }
51     }
SetDisplayText<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()>52     pub fn SetDisplayText<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
53         let this = self;
54         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
55     }
SecondaryText(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>56     pub fn SecondaryText(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
57         let this = self;
58         unsafe {
59             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
60             (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
61         }
62     }
SetSecondaryText<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()>63     pub fn SetSecondaryText<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
64         let this = self;
65         unsafe { (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
66     }
67     #[cfg(feature = "Foundation")]
Uri(&self) -> ::windows::runtime::Result<super::super::Foundation::Uri>68     pub fn Uri(&self) -> ::windows::runtime::Result<super::super::Foundation::Uri> {
69         let this = self;
70         unsafe {
71             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
72             (::windows::runtime::Interface::vtable(this).12)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Uri>(result__)
73         }
74     }
75     #[cfg(feature = "Foundation")]
SetUri<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Uri>>(&self, value: Param0) -> ::windows::runtime::Result<()>76     pub fn SetUri<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Uri>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
77         let this = self;
78         unsafe { (::windows::runtime::Interface::vtable(this).13)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
79     }
LinkContentKind(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>80     pub fn LinkContentKind(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
81         let this = self;
82         unsafe {
83             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
84             (::windows::runtime::Interface::vtable(this).14)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
85         }
86     }
SetLinkContentKind<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()>87     pub fn SetLinkContentKind<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
88         let this = self;
89         unsafe { (::windows::runtime::Interface::vtable(this).15)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
90     }
91 }
92 unsafe impl ::windows::runtime::RuntimeType for ContentLinkInfo {
93     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.UI.Text.ContentLinkInfo;{1ed52525-1c5f-48cb-b335-78b50a2ee642})");
94 }
95 unsafe impl ::windows::runtime::Interface for ContentLinkInfo {
96     type Vtable = IContentLinkInfo_abi;
97     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(517285157, 7263, 18635, [179, 53, 120, 181, 10, 46, 230, 66]);
98 }
99 impl ::windows::runtime::RuntimeName for ContentLinkInfo {
100     const NAME: &'static str = "Windows.UI.Text.ContentLinkInfo";
101 }
102 impl ::std::convert::From<ContentLinkInfo> for ::windows::runtime::IUnknown {
from(value: ContentLinkInfo) -> Self103     fn from(value: ContentLinkInfo) -> Self {
104         unsafe { ::std::mem::transmute(value) }
105     }
106 }
107 impl ::std::convert::From<&ContentLinkInfo> for ::windows::runtime::IUnknown {
from(value: &ContentLinkInfo) -> Self108     fn from(value: &ContentLinkInfo) -> Self {
109         ::std::convert::From::from(::std::clone::Clone::clone(value))
110     }
111 }
112 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ContentLinkInfo {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>113     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
114         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
115     }
116 }
117 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ContentLinkInfo {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>118     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
119         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
120     }
121 }
122 impl ::std::convert::From<ContentLinkInfo> for ::windows::runtime::IInspectable {
from(value: ContentLinkInfo) -> Self123     fn from(value: ContentLinkInfo) -> Self {
124         value.0
125     }
126 }
127 impl ::std::convert::From<&ContentLinkInfo> for ::windows::runtime::IInspectable {
from(value: &ContentLinkInfo) -> Self128     fn from(value: &ContentLinkInfo) -> Self {
129         value.0.clone()
130     }
131 }
132 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for ContentLinkInfo {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>133     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
134         ::windows::runtime::Param::Owned(self.0)
135     }
136 }
137 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a ContentLinkInfo {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>138     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
139         ::windows::runtime::Param::Borrowed(&self.0)
140     }
141 }
142 unsafe impl ::std::marker::Send for ContentLinkInfo {}
143 unsafe impl ::std::marker::Sync for ContentLinkInfo {}
144 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
145 #[repr(transparent)]
146 pub struct FindOptions(pub u32);
147 impl FindOptions {
148     pub const None: FindOptions = FindOptions(0u32);
149     pub const Word: FindOptions = FindOptions(2u32);
150     pub const Case: FindOptions = FindOptions(4u32);
151 }
152 impl ::std::convert::From<u32> for FindOptions {
from(value: u32) -> Self153     fn from(value: u32) -> Self {
154         Self(value)
155     }
156 }
157 unsafe impl ::windows::runtime::Abi for FindOptions {
158     type Abi = Self;
159     type DefaultType = Self;
160 }
161 unsafe impl ::windows::runtime::RuntimeType for FindOptions {
162     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"enum(Windows.UI.Text.FindOptions;u4)");
163 }
164 impl ::std::ops::BitOr for FindOptions {
165     type Output = Self;
bitor(self, rhs: Self) -> Self166     fn bitor(self, rhs: Self) -> Self {
167         Self(self.0 | rhs.0)
168     }
169 }
170 impl ::std::ops::BitAnd for FindOptions {
171     type Output = Self;
bitand(self, rhs: Self) -> Self172     fn bitand(self, rhs: Self) -> Self {
173         Self(self.0 & rhs.0)
174     }
175 }
176 impl ::std::ops::BitOrAssign for FindOptions {
bitor_assign(&mut self, rhs: Self)177     fn bitor_assign(&mut self, rhs: Self) {
178         self.0.bitor_assign(rhs.0)
179     }
180 }
181 impl ::std::ops::BitAndAssign for FindOptions {
bitand_assign(&mut self, rhs: Self)182     fn bitand_assign(&mut self, rhs: Self) {
183         self.0.bitand_assign(rhs.0)
184     }
185 }
186 impl ::std::ops::Not for FindOptions {
187     type Output = Self;
not(self) -> Self188     fn not(self) -> Self {
189         Self(self.0.not())
190     }
191 }
192 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
193 #[repr(transparent)]
194 pub struct FontStretch(pub i32);
195 impl FontStretch {
196     pub const Undefined: FontStretch = FontStretch(0i32);
197     pub const UltraCondensed: FontStretch = FontStretch(1i32);
198     pub const ExtraCondensed: FontStretch = FontStretch(2i32);
199     pub const Condensed: FontStretch = FontStretch(3i32);
200     pub const SemiCondensed: FontStretch = FontStretch(4i32);
201     pub const Normal: FontStretch = FontStretch(5i32);
202     pub const SemiExpanded: FontStretch = FontStretch(6i32);
203     pub const Expanded: FontStretch = FontStretch(7i32);
204     pub const ExtraExpanded: FontStretch = FontStretch(8i32);
205     pub const UltraExpanded: FontStretch = FontStretch(9i32);
206 }
207 impl ::std::convert::From<i32> for FontStretch {
from(value: i32) -> Self208     fn from(value: i32) -> Self {
209         Self(value)
210     }
211 }
212 unsafe impl ::windows::runtime::Abi for FontStretch {
213     type Abi = Self;
214     type DefaultType = Self;
215 }
216 unsafe impl ::windows::runtime::RuntimeType for FontStretch {
217     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"enum(Windows.UI.Text.FontStretch;i4)");
218 }
219 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
220 #[repr(transparent)]
221 pub struct FontStyle(pub i32);
222 impl FontStyle {
223     pub const Normal: FontStyle = FontStyle(0i32);
224     pub const Oblique: FontStyle = FontStyle(1i32);
225     pub const Italic: FontStyle = FontStyle(2i32);
226 }
227 impl ::std::convert::From<i32> for FontStyle {
from(value: i32) -> Self228     fn from(value: i32) -> Self {
229         Self(value)
230     }
231 }
232 unsafe impl ::windows::runtime::Abi for FontStyle {
233     type Abi = Self;
234     type DefaultType = Self;
235 }
236 unsafe impl ::windows::runtime::RuntimeType for FontStyle {
237     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"enum(Windows.UI.Text.FontStyle;i4)");
238 }
239 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
240 #[repr(C)]
241 pub struct FontWeight {
242     pub Weight: u16,
243 }
244 impl FontWeight {}
245 impl ::std::default::Default for FontWeight {
default() -> Self246     fn default() -> Self {
247         unsafe { ::std::mem::zeroed() }
248     }
249 }
250 impl ::std::fmt::Debug for FontWeight {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result251     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
252         fmt.debug_struct("FontWeight").field("Weight", &self.Weight).finish()
253     }
254 }
255 impl ::std::cmp::PartialEq for FontWeight {
eq(&self, other: &Self) -> bool256     fn eq(&self, other: &Self) -> bool {
257         self.Weight == other.Weight
258     }
259 }
260 impl ::std::cmp::Eq for FontWeight {}
261 unsafe impl ::windows::runtime::Abi for FontWeight {
262     type Abi = Self;
263     type DefaultType = Self;
264 }
265 unsafe impl ::windows::runtime::RuntimeType for FontWeight {
266     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"struct(Windows.UI.Text.FontWeight;u2)");
267 }
268 #[repr(transparent)]
269 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
270 pub struct FontWeights(::windows::runtime::IInspectable);
271 impl FontWeights {
Black() -> ::windows::runtime::Result<FontWeight>272     pub fn Black() -> ::windows::runtime::Result<FontWeight> {
273         Self::IFontWeightsStatics(|this| unsafe {
274             let mut result__: FontWeight = ::std::mem::zeroed();
275             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<FontWeight>(result__)
276         })
277     }
Bold() -> ::windows::runtime::Result<FontWeight>278     pub fn Bold() -> ::windows::runtime::Result<FontWeight> {
279         Self::IFontWeightsStatics(|this| unsafe {
280             let mut result__: FontWeight = ::std::mem::zeroed();
281             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<FontWeight>(result__)
282         })
283     }
ExtraBlack() -> ::windows::runtime::Result<FontWeight>284     pub fn ExtraBlack() -> ::windows::runtime::Result<FontWeight> {
285         Self::IFontWeightsStatics(|this| unsafe {
286             let mut result__: FontWeight = ::std::mem::zeroed();
287             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<FontWeight>(result__)
288         })
289     }
ExtraBold() -> ::windows::runtime::Result<FontWeight>290     pub fn ExtraBold() -> ::windows::runtime::Result<FontWeight> {
291         Self::IFontWeightsStatics(|this| unsafe {
292             let mut result__: FontWeight = ::std::mem::zeroed();
293             (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), &mut result__).from_abi::<FontWeight>(result__)
294         })
295     }
ExtraLight() -> ::windows::runtime::Result<FontWeight>296     pub fn ExtraLight() -> ::windows::runtime::Result<FontWeight> {
297         Self::IFontWeightsStatics(|this| unsafe {
298             let mut result__: FontWeight = ::std::mem::zeroed();
299             (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), &mut result__).from_abi::<FontWeight>(result__)
300         })
301     }
Light() -> ::windows::runtime::Result<FontWeight>302     pub fn Light() -> ::windows::runtime::Result<FontWeight> {
303         Self::IFontWeightsStatics(|this| unsafe {
304             let mut result__: FontWeight = ::std::mem::zeroed();
305             (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), &mut result__).from_abi::<FontWeight>(result__)
306         })
307     }
Medium() -> ::windows::runtime::Result<FontWeight>308     pub fn Medium() -> ::windows::runtime::Result<FontWeight> {
309         Self::IFontWeightsStatics(|this| unsafe {
310             let mut result__: FontWeight = ::std::mem::zeroed();
311             (::windows::runtime::Interface::vtable(this).12)(::std::mem::transmute_copy(this), &mut result__).from_abi::<FontWeight>(result__)
312         })
313     }
Normal() -> ::windows::runtime::Result<FontWeight>314     pub fn Normal() -> ::windows::runtime::Result<FontWeight> {
315         Self::IFontWeightsStatics(|this| unsafe {
316             let mut result__: FontWeight = ::std::mem::zeroed();
317             (::windows::runtime::Interface::vtable(this).13)(::std::mem::transmute_copy(this), &mut result__).from_abi::<FontWeight>(result__)
318         })
319     }
SemiBold() -> ::windows::runtime::Result<FontWeight>320     pub fn SemiBold() -> ::windows::runtime::Result<FontWeight> {
321         Self::IFontWeightsStatics(|this| unsafe {
322             let mut result__: FontWeight = ::std::mem::zeroed();
323             (::windows::runtime::Interface::vtable(this).14)(::std::mem::transmute_copy(this), &mut result__).from_abi::<FontWeight>(result__)
324         })
325     }
SemiLight() -> ::windows::runtime::Result<FontWeight>326     pub fn SemiLight() -> ::windows::runtime::Result<FontWeight> {
327         Self::IFontWeightsStatics(|this| unsafe {
328             let mut result__: FontWeight = ::std::mem::zeroed();
329             (::windows::runtime::Interface::vtable(this).15)(::std::mem::transmute_copy(this), &mut result__).from_abi::<FontWeight>(result__)
330         })
331     }
Thin() -> ::windows::runtime::Result<FontWeight>332     pub fn Thin() -> ::windows::runtime::Result<FontWeight> {
333         Self::IFontWeightsStatics(|this| unsafe {
334             let mut result__: FontWeight = ::std::mem::zeroed();
335             (::windows::runtime::Interface::vtable(this).16)(::std::mem::transmute_copy(this), &mut result__).from_abi::<FontWeight>(result__)
336         })
337     }
IFontWeightsStatics<R, F: FnOnce(&IFontWeightsStatics) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R>338     pub fn IFontWeightsStatics<R, F: FnOnce(&IFontWeightsStatics) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R> {
339         static mut SHARED: ::windows::runtime::FactoryCache<FontWeights, IFontWeightsStatics> = ::windows::runtime::FactoryCache::new();
340         unsafe { SHARED.call(callback) }
341     }
342 }
343 unsafe impl ::windows::runtime::RuntimeType for FontWeights {
344     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.UI.Text.FontWeights;{7880a444-01ab-4997-8517-df822a0c45f1})");
345 }
346 unsafe impl ::windows::runtime::Interface for FontWeights {
347     type Vtable = IFontWeights_abi;
348     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2021696580, 427, 18839, [133, 23, 223, 130, 42, 12, 69, 241]);
349 }
350 impl ::windows::runtime::RuntimeName for FontWeights {
351     const NAME: &'static str = "Windows.UI.Text.FontWeights";
352 }
353 impl ::std::convert::From<FontWeights> for ::windows::runtime::IUnknown {
from(value: FontWeights) -> Self354     fn from(value: FontWeights) -> Self {
355         unsafe { ::std::mem::transmute(value) }
356     }
357 }
358 impl ::std::convert::From<&FontWeights> for ::windows::runtime::IUnknown {
from(value: &FontWeights) -> Self359     fn from(value: &FontWeights) -> Self {
360         ::std::convert::From::from(::std::clone::Clone::clone(value))
361     }
362 }
363 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for FontWeights {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>364     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
365         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
366     }
367 }
368 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &FontWeights {
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(::std::clone::Clone::clone(self)))
371     }
372 }
373 impl ::std::convert::From<FontWeights> for ::windows::runtime::IInspectable {
from(value: FontWeights) -> Self374     fn from(value: FontWeights) -> Self {
375         value.0
376     }
377 }
378 impl ::std::convert::From<&FontWeights> for ::windows::runtime::IInspectable {
from(value: &FontWeights) -> Self379     fn from(value: &FontWeights) -> Self {
380         value.0.clone()
381     }
382 }
383 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for FontWeights {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>384     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
385         ::windows::runtime::Param::Owned(self.0)
386     }
387 }
388 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a FontWeights {
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::Borrowed(&self.0)
391     }
392 }
393 unsafe impl ::std::marker::Send for FontWeights {}
394 unsafe impl ::std::marker::Sync for FontWeights {}
395 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
396 #[repr(transparent)]
397 pub struct FormatEffect(pub i32);
398 impl FormatEffect {
399     pub const Off: FormatEffect = FormatEffect(0i32);
400     pub const On: FormatEffect = FormatEffect(1i32);
401     pub const Toggle: FormatEffect = FormatEffect(2i32);
402     pub const Undefined: FormatEffect = FormatEffect(3i32);
403 }
404 impl ::std::convert::From<i32> for FormatEffect {
from(value: i32) -> Self405     fn from(value: i32) -> Self {
406         Self(value)
407     }
408 }
409 unsafe impl ::windows::runtime::Abi for FormatEffect {
410     type Abi = Self;
411     type DefaultType = Self;
412 }
413 unsafe impl ::windows::runtime::RuntimeType for FormatEffect {
414     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"enum(Windows.UI.Text.FormatEffect;i4)");
415 }
416 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
417 #[repr(transparent)]
418 pub struct HorizontalCharacterAlignment(pub i32);
419 impl HorizontalCharacterAlignment {
420     pub const Left: HorizontalCharacterAlignment = HorizontalCharacterAlignment(0i32);
421     pub const Right: HorizontalCharacterAlignment = HorizontalCharacterAlignment(1i32);
422     pub const Center: HorizontalCharacterAlignment = HorizontalCharacterAlignment(2i32);
423 }
424 impl ::std::convert::From<i32> for HorizontalCharacterAlignment {
from(value: i32) -> Self425     fn from(value: i32) -> Self {
426         Self(value)
427     }
428 }
429 unsafe impl ::windows::runtime::Abi for HorizontalCharacterAlignment {
430     type Abi = Self;
431     type DefaultType = Self;
432 }
433 unsafe impl ::windows::runtime::RuntimeType for HorizontalCharacterAlignment {
434     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"enum(Windows.UI.Text.HorizontalCharacterAlignment;i4)");
435 }
436 #[repr(transparent)]
437 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
438 #[doc(hidden)]
439 pub struct IContentLinkInfo(::windows::runtime::IInspectable);
440 unsafe impl ::windows::runtime::Interface for IContentLinkInfo {
441     type Vtable = IContentLinkInfo_abi;
442     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(517285157, 7263, 18635, [179, 53, 120, 181, 10, 46, 230, 66]);
443 }
444 #[repr(C)]
445 #[doc(hidden)]
446 pub struct IContentLinkInfo_abi(
447     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
448     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
449     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
450     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
451     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
452     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
453     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut u32) -> ::windows::runtime::HRESULT,
454     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: u32) -> ::windows::runtime::HRESULT,
455     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
456     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
457     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
458     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
459     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
460     #[cfg(not(feature = "Foundation"))] usize,
461     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
462     #[cfg(not(feature = "Foundation"))] usize,
463     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
464     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
465 );
466 #[repr(transparent)]
467 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
468 #[doc(hidden)]
469 pub struct IFontWeights(::windows::runtime::IInspectable);
470 unsafe impl ::windows::runtime::Interface for IFontWeights {
471     type Vtable = IFontWeights_abi;
472     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2021696580, 427, 18839, [133, 23, 223, 130, 42, 12, 69, 241]);
473 }
474 #[repr(C)]
475 #[doc(hidden)]
476 pub struct IFontWeights_abi(
477     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
478     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
479     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
480     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
481     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
482     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
483 );
484 #[repr(transparent)]
485 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
486 #[doc(hidden)]
487 pub struct IFontWeightsStatics(::windows::runtime::IInspectable);
488 unsafe impl ::windows::runtime::Interface for IFontWeightsStatics {
489     type Vtable = IFontWeightsStatics_abi;
490     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3015014869, 7081, 18667, [157, 173, 192, 149, 232, 194, 59, 163]);
491 }
492 #[repr(C)]
493 #[doc(hidden)]
494 pub struct IFontWeightsStatics_abi(
495     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
496     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
497     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
498     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
499     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
500     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
501     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut FontWeight) -> ::windows::runtime::HRESULT,
502     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut FontWeight) -> ::windows::runtime::HRESULT,
503     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut FontWeight) -> ::windows::runtime::HRESULT,
504     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut FontWeight) -> ::windows::runtime::HRESULT,
505     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut FontWeight) -> ::windows::runtime::HRESULT,
506     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut FontWeight) -> ::windows::runtime::HRESULT,
507     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut FontWeight) -> ::windows::runtime::HRESULT,
508     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut FontWeight) -> ::windows::runtime::HRESULT,
509     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut FontWeight) -> ::windows::runtime::HRESULT,
510     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut FontWeight) -> ::windows::runtime::HRESULT,
511     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut FontWeight) -> ::windows::runtime::HRESULT,
512 );
513 #[repr(transparent)]
514 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
515 #[doc(hidden)]
516 pub struct IRichEditTextRange(::windows::runtime::IInspectable);
517 unsafe impl ::windows::runtime::Interface for IRichEditTextRange {
518     type Vtable = IRichEditTextRange_abi;
519     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(927872277, 47754, 19054, [140, 89, 13, 222, 61, 12, 245, 205]);
520 }
521 #[repr(C)]
522 #[doc(hidden)]
523 pub struct IRichEditTextRange_abi(
524     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
525     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
526     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
527     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
528     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
529     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
530     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
531     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
532 );
533 #[repr(transparent)]
534 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
535 pub struct ITextCharacterFormat(::windows::runtime::IInspectable);
536 unsafe impl ::windows::runtime::Interface for ITextCharacterFormat {
537     type Vtable = ITextCharacterFormat_abi;
538     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1524560859, 1531, 17453, [128, 101, 100, 42, 254, 160, 44, 237]);
539 }
540 impl ITextCharacterFormat {
AllCaps(&self) -> ::windows::runtime::Result<FormatEffect>541     pub fn AllCaps(&self) -> ::windows::runtime::Result<FormatEffect> {
542         let this = self;
543         unsafe {
544             let mut result__: FormatEffect = ::std::mem::zeroed();
545             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<FormatEffect>(result__)
546         }
547     }
SetAllCaps(&self, value: FormatEffect) -> ::windows::runtime::Result<()>548     pub fn SetAllCaps(&self, value: FormatEffect) -> ::windows::runtime::Result<()> {
549         let this = self;
550         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value).ok() }
551     }
BackgroundColor(&self) -> ::windows::runtime::Result<super::Color>552     pub fn BackgroundColor(&self) -> ::windows::runtime::Result<super::Color> {
553         let this = self;
554         unsafe {
555             let mut result__: super::Color = ::std::mem::zeroed();
556             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::Color>(result__)
557         }
558     }
SetBackgroundColor<'a, Param0: ::windows::runtime::IntoParam<'a, super::Color>>(&self, value: Param0) -> ::windows::runtime::Result<()>559     pub fn SetBackgroundColor<'a, Param0: ::windows::runtime::IntoParam<'a, super::Color>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
560         let this = self;
561         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
562     }
Bold(&self) -> ::windows::runtime::Result<FormatEffect>563     pub fn Bold(&self) -> ::windows::runtime::Result<FormatEffect> {
564         let this = self;
565         unsafe {
566             let mut result__: FormatEffect = ::std::mem::zeroed();
567             (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), &mut result__).from_abi::<FormatEffect>(result__)
568         }
569     }
SetBold(&self, value: FormatEffect) -> ::windows::runtime::Result<()>570     pub fn SetBold(&self, value: FormatEffect) -> ::windows::runtime::Result<()> {
571         let this = self;
572         unsafe { (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), value).ok() }
573     }
FontStretch(&self) -> ::windows::runtime::Result<FontStretch>574     pub fn FontStretch(&self) -> ::windows::runtime::Result<FontStretch> {
575         let this = self;
576         unsafe {
577             let mut result__: FontStretch = ::std::mem::zeroed();
578             (::windows::runtime::Interface::vtable(this).12)(::std::mem::transmute_copy(this), &mut result__).from_abi::<FontStretch>(result__)
579         }
580     }
SetFontStretch(&self, value: FontStretch) -> ::windows::runtime::Result<()>581     pub fn SetFontStretch(&self, value: FontStretch) -> ::windows::runtime::Result<()> {
582         let this = self;
583         unsafe { (::windows::runtime::Interface::vtable(this).13)(::std::mem::transmute_copy(this), value).ok() }
584     }
FontStyle(&self) -> ::windows::runtime::Result<FontStyle>585     pub fn FontStyle(&self) -> ::windows::runtime::Result<FontStyle> {
586         let this = self;
587         unsafe {
588             let mut result__: FontStyle = ::std::mem::zeroed();
589             (::windows::runtime::Interface::vtable(this).14)(::std::mem::transmute_copy(this), &mut result__).from_abi::<FontStyle>(result__)
590         }
591     }
SetFontStyle(&self, value: FontStyle) -> ::windows::runtime::Result<()>592     pub fn SetFontStyle(&self, value: FontStyle) -> ::windows::runtime::Result<()> {
593         let this = self;
594         unsafe { (::windows::runtime::Interface::vtable(this).15)(::std::mem::transmute_copy(this), value).ok() }
595     }
ForegroundColor(&self) -> ::windows::runtime::Result<super::Color>596     pub fn ForegroundColor(&self) -> ::windows::runtime::Result<super::Color> {
597         let this = self;
598         unsafe {
599             let mut result__: super::Color = ::std::mem::zeroed();
600             (::windows::runtime::Interface::vtable(this).16)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::Color>(result__)
601         }
602     }
SetForegroundColor<'a, Param0: ::windows::runtime::IntoParam<'a, super::Color>>(&self, value: Param0) -> ::windows::runtime::Result<()>603     pub fn SetForegroundColor<'a, Param0: ::windows::runtime::IntoParam<'a, super::Color>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
604         let this = self;
605         unsafe { (::windows::runtime::Interface::vtable(this).17)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
606     }
Hidden(&self) -> ::windows::runtime::Result<FormatEffect>607     pub fn Hidden(&self) -> ::windows::runtime::Result<FormatEffect> {
608         let this = self;
609         unsafe {
610             let mut result__: FormatEffect = ::std::mem::zeroed();
611             (::windows::runtime::Interface::vtable(this).18)(::std::mem::transmute_copy(this), &mut result__).from_abi::<FormatEffect>(result__)
612         }
613     }
SetHidden(&self, value: FormatEffect) -> ::windows::runtime::Result<()>614     pub fn SetHidden(&self, value: FormatEffect) -> ::windows::runtime::Result<()> {
615         let this = self;
616         unsafe { (::windows::runtime::Interface::vtable(this).19)(::std::mem::transmute_copy(this), value).ok() }
617     }
Italic(&self) -> ::windows::runtime::Result<FormatEffect>618     pub fn Italic(&self) -> ::windows::runtime::Result<FormatEffect> {
619         let this = self;
620         unsafe {
621             let mut result__: FormatEffect = ::std::mem::zeroed();
622             (::windows::runtime::Interface::vtable(this).20)(::std::mem::transmute_copy(this), &mut result__).from_abi::<FormatEffect>(result__)
623         }
624     }
SetItalic(&self, value: FormatEffect) -> ::windows::runtime::Result<()>625     pub fn SetItalic(&self, value: FormatEffect) -> ::windows::runtime::Result<()> {
626         let this = self;
627         unsafe { (::windows::runtime::Interface::vtable(this).21)(::std::mem::transmute_copy(this), value).ok() }
628     }
Kerning(&self) -> ::windows::runtime::Result<f32>629     pub fn Kerning(&self) -> ::windows::runtime::Result<f32> {
630         let this = self;
631         unsafe {
632             let mut result__: f32 = ::std::mem::zeroed();
633             (::windows::runtime::Interface::vtable(this).22)(::std::mem::transmute_copy(this), &mut result__).from_abi::<f32>(result__)
634         }
635     }
SetKerning(&self, value: f32) -> ::windows::runtime::Result<()>636     pub fn SetKerning(&self, value: f32) -> ::windows::runtime::Result<()> {
637         let this = self;
638         unsafe { (::windows::runtime::Interface::vtable(this).23)(::std::mem::transmute_copy(this), value).ok() }
639     }
LanguageTag(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>640     pub fn LanguageTag(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
641         let this = self;
642         unsafe {
643             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
644             (::windows::runtime::Interface::vtable(this).24)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
645         }
646     }
SetLanguageTag<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()>647     pub fn SetLanguageTag<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
648         let this = self;
649         unsafe { (::windows::runtime::Interface::vtable(this).25)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
650     }
LinkType(&self) -> ::windows::runtime::Result<LinkType>651     pub fn LinkType(&self) -> ::windows::runtime::Result<LinkType> {
652         let this = self;
653         unsafe {
654             let mut result__: LinkType = ::std::mem::zeroed();
655             (::windows::runtime::Interface::vtable(this).26)(::std::mem::transmute_copy(this), &mut result__).from_abi::<LinkType>(result__)
656         }
657     }
Name(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>658     pub fn Name(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
659         let this = self;
660         unsafe {
661             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
662             (::windows::runtime::Interface::vtable(this).27)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
663         }
664     }
SetName<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()>665     pub fn SetName<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
666         let this = self;
667         unsafe { (::windows::runtime::Interface::vtable(this).28)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
668     }
Outline(&self) -> ::windows::runtime::Result<FormatEffect>669     pub fn Outline(&self) -> ::windows::runtime::Result<FormatEffect> {
670         let this = self;
671         unsafe {
672             let mut result__: FormatEffect = ::std::mem::zeroed();
673             (::windows::runtime::Interface::vtable(this).29)(::std::mem::transmute_copy(this), &mut result__).from_abi::<FormatEffect>(result__)
674         }
675     }
SetOutline(&self, value: FormatEffect) -> ::windows::runtime::Result<()>676     pub fn SetOutline(&self, value: FormatEffect) -> ::windows::runtime::Result<()> {
677         let this = self;
678         unsafe { (::windows::runtime::Interface::vtable(this).30)(::std::mem::transmute_copy(this), value).ok() }
679     }
Position(&self) -> ::windows::runtime::Result<f32>680     pub fn Position(&self) -> ::windows::runtime::Result<f32> {
681         let this = self;
682         unsafe {
683             let mut result__: f32 = ::std::mem::zeroed();
684             (::windows::runtime::Interface::vtable(this).31)(::std::mem::transmute_copy(this), &mut result__).from_abi::<f32>(result__)
685         }
686     }
SetPosition(&self, value: f32) -> ::windows::runtime::Result<()>687     pub fn SetPosition(&self, value: f32) -> ::windows::runtime::Result<()> {
688         let this = self;
689         unsafe { (::windows::runtime::Interface::vtable(this).32)(::std::mem::transmute_copy(this), value).ok() }
690     }
ProtectedText(&self) -> ::windows::runtime::Result<FormatEffect>691     pub fn ProtectedText(&self) -> ::windows::runtime::Result<FormatEffect> {
692         let this = self;
693         unsafe {
694             let mut result__: FormatEffect = ::std::mem::zeroed();
695             (::windows::runtime::Interface::vtable(this).33)(::std::mem::transmute_copy(this), &mut result__).from_abi::<FormatEffect>(result__)
696         }
697     }
SetProtectedText(&self, value: FormatEffect) -> ::windows::runtime::Result<()>698     pub fn SetProtectedText(&self, value: FormatEffect) -> ::windows::runtime::Result<()> {
699         let this = self;
700         unsafe { (::windows::runtime::Interface::vtable(this).34)(::std::mem::transmute_copy(this), value).ok() }
701     }
Size(&self) -> ::windows::runtime::Result<f32>702     pub fn Size(&self) -> ::windows::runtime::Result<f32> {
703         let this = self;
704         unsafe {
705             let mut result__: f32 = ::std::mem::zeroed();
706             (::windows::runtime::Interface::vtable(this).35)(::std::mem::transmute_copy(this), &mut result__).from_abi::<f32>(result__)
707         }
708     }
SetSize(&self, value: f32) -> ::windows::runtime::Result<()>709     pub fn SetSize(&self, value: f32) -> ::windows::runtime::Result<()> {
710         let this = self;
711         unsafe { (::windows::runtime::Interface::vtable(this).36)(::std::mem::transmute_copy(this), value).ok() }
712     }
SmallCaps(&self) -> ::windows::runtime::Result<FormatEffect>713     pub fn SmallCaps(&self) -> ::windows::runtime::Result<FormatEffect> {
714         let this = self;
715         unsafe {
716             let mut result__: FormatEffect = ::std::mem::zeroed();
717             (::windows::runtime::Interface::vtable(this).37)(::std::mem::transmute_copy(this), &mut result__).from_abi::<FormatEffect>(result__)
718         }
719     }
SetSmallCaps(&self, value: FormatEffect) -> ::windows::runtime::Result<()>720     pub fn SetSmallCaps(&self, value: FormatEffect) -> ::windows::runtime::Result<()> {
721         let this = self;
722         unsafe { (::windows::runtime::Interface::vtable(this).38)(::std::mem::transmute_copy(this), value).ok() }
723     }
Spacing(&self) -> ::windows::runtime::Result<f32>724     pub fn Spacing(&self) -> ::windows::runtime::Result<f32> {
725         let this = self;
726         unsafe {
727             let mut result__: f32 = ::std::mem::zeroed();
728             (::windows::runtime::Interface::vtable(this).39)(::std::mem::transmute_copy(this), &mut result__).from_abi::<f32>(result__)
729         }
730     }
SetSpacing(&self, value: f32) -> ::windows::runtime::Result<()>731     pub fn SetSpacing(&self, value: f32) -> ::windows::runtime::Result<()> {
732         let this = self;
733         unsafe { (::windows::runtime::Interface::vtable(this).40)(::std::mem::transmute_copy(this), value).ok() }
734     }
Strikethrough(&self) -> ::windows::runtime::Result<FormatEffect>735     pub fn Strikethrough(&self) -> ::windows::runtime::Result<FormatEffect> {
736         let this = self;
737         unsafe {
738             let mut result__: FormatEffect = ::std::mem::zeroed();
739             (::windows::runtime::Interface::vtable(this).41)(::std::mem::transmute_copy(this), &mut result__).from_abi::<FormatEffect>(result__)
740         }
741     }
SetStrikethrough(&self, value: FormatEffect) -> ::windows::runtime::Result<()>742     pub fn SetStrikethrough(&self, value: FormatEffect) -> ::windows::runtime::Result<()> {
743         let this = self;
744         unsafe { (::windows::runtime::Interface::vtable(this).42)(::std::mem::transmute_copy(this), value).ok() }
745     }
Subscript(&self) -> ::windows::runtime::Result<FormatEffect>746     pub fn Subscript(&self) -> ::windows::runtime::Result<FormatEffect> {
747         let this = self;
748         unsafe {
749             let mut result__: FormatEffect = ::std::mem::zeroed();
750             (::windows::runtime::Interface::vtable(this).43)(::std::mem::transmute_copy(this), &mut result__).from_abi::<FormatEffect>(result__)
751         }
752     }
SetSubscript(&self, value: FormatEffect) -> ::windows::runtime::Result<()>753     pub fn SetSubscript(&self, value: FormatEffect) -> ::windows::runtime::Result<()> {
754         let this = self;
755         unsafe { (::windows::runtime::Interface::vtable(this).44)(::std::mem::transmute_copy(this), value).ok() }
756     }
Superscript(&self) -> ::windows::runtime::Result<FormatEffect>757     pub fn Superscript(&self) -> ::windows::runtime::Result<FormatEffect> {
758         let this = self;
759         unsafe {
760             let mut result__: FormatEffect = ::std::mem::zeroed();
761             (::windows::runtime::Interface::vtable(this).45)(::std::mem::transmute_copy(this), &mut result__).from_abi::<FormatEffect>(result__)
762         }
763     }
SetSuperscript(&self, value: FormatEffect) -> ::windows::runtime::Result<()>764     pub fn SetSuperscript(&self, value: FormatEffect) -> ::windows::runtime::Result<()> {
765         let this = self;
766         unsafe { (::windows::runtime::Interface::vtable(this).46)(::std::mem::transmute_copy(this), value).ok() }
767     }
TextScript(&self) -> ::windows::runtime::Result<TextScript>768     pub fn TextScript(&self) -> ::windows::runtime::Result<TextScript> {
769         let this = self;
770         unsafe {
771             let mut result__: TextScript = ::std::mem::zeroed();
772             (::windows::runtime::Interface::vtable(this).47)(::std::mem::transmute_copy(this), &mut result__).from_abi::<TextScript>(result__)
773         }
774     }
SetTextScript(&self, value: TextScript) -> ::windows::runtime::Result<()>775     pub fn SetTextScript(&self, value: TextScript) -> ::windows::runtime::Result<()> {
776         let this = self;
777         unsafe { (::windows::runtime::Interface::vtable(this).48)(::std::mem::transmute_copy(this), value).ok() }
778     }
Underline(&self) -> ::windows::runtime::Result<UnderlineType>779     pub fn Underline(&self) -> ::windows::runtime::Result<UnderlineType> {
780         let this = self;
781         unsafe {
782             let mut result__: UnderlineType = ::std::mem::zeroed();
783             (::windows::runtime::Interface::vtable(this).49)(::std::mem::transmute_copy(this), &mut result__).from_abi::<UnderlineType>(result__)
784         }
785     }
SetUnderline(&self, value: UnderlineType) -> ::windows::runtime::Result<()>786     pub fn SetUnderline(&self, value: UnderlineType) -> ::windows::runtime::Result<()> {
787         let this = self;
788         unsafe { (::windows::runtime::Interface::vtable(this).50)(::std::mem::transmute_copy(this), value).ok() }
789     }
Weight(&self) -> ::windows::runtime::Result<i32>790     pub fn Weight(&self) -> ::windows::runtime::Result<i32> {
791         let this = self;
792         unsafe {
793             let mut result__: i32 = ::std::mem::zeroed();
794             (::windows::runtime::Interface::vtable(this).51)(::std::mem::transmute_copy(this), &mut result__).from_abi::<i32>(result__)
795         }
796     }
SetWeight(&self, value: i32) -> ::windows::runtime::Result<()>797     pub fn SetWeight(&self, value: i32) -> ::windows::runtime::Result<()> {
798         let this = self;
799         unsafe { (::windows::runtime::Interface::vtable(this).52)(::std::mem::transmute_copy(this), value).ok() }
800     }
SetClone<'a, Param0: ::windows::runtime::IntoParam<'a, ITextCharacterFormat>>(&self, value: Param0) -> ::windows::runtime::Result<()>801     pub fn SetClone<'a, Param0: ::windows::runtime::IntoParam<'a, ITextCharacterFormat>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
802         let this = self;
803         unsafe { (::windows::runtime::Interface::vtable(this).53)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
804     }
GetClone(&self) -> ::windows::runtime::Result<ITextCharacterFormat>805     pub fn GetClone(&self) -> ::windows::runtime::Result<ITextCharacterFormat> {
806         let this = self;
807         unsafe {
808             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
809             (::windows::runtime::Interface::vtable(this).54)(::std::mem::transmute_copy(this), &mut result__).from_abi::<ITextCharacterFormat>(result__)
810         }
811     }
IsEqual<'a, Param0: ::windows::runtime::IntoParam<'a, ITextCharacterFormat>>(&self, format: Param0) -> ::windows::runtime::Result<bool>812     pub fn IsEqual<'a, Param0: ::windows::runtime::IntoParam<'a, ITextCharacterFormat>>(&self, format: Param0) -> ::windows::runtime::Result<bool> {
813         let this = self;
814         unsafe {
815             let mut result__: bool = ::std::mem::zeroed();
816             (::windows::runtime::Interface::vtable(this).55)(::std::mem::transmute_copy(this), format.into_param().abi(), &mut result__).from_abi::<bool>(result__)
817         }
818     }
819 }
820 unsafe impl ::windows::runtime::RuntimeType for ITextCharacterFormat {
821     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"{5adef3db-05fb-442d-8065-642afea02ced}");
822 }
823 impl ::std::convert::From<ITextCharacterFormat> for ::windows::runtime::IUnknown {
from(value: ITextCharacterFormat) -> Self824     fn from(value: ITextCharacterFormat) -> Self {
825         unsafe { ::std::mem::transmute(value) }
826     }
827 }
828 impl ::std::convert::From<&ITextCharacterFormat> for ::windows::runtime::IUnknown {
from(value: &ITextCharacterFormat) -> Self829     fn from(value: &ITextCharacterFormat) -> Self {
830         ::std::convert::From::from(::std::clone::Clone::clone(value))
831     }
832 }
833 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ITextCharacterFormat {
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(self))
836     }
837 }
838 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ITextCharacterFormat {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>839     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
840         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
841     }
842 }
843 impl ::std::convert::From<ITextCharacterFormat> for ::windows::runtime::IInspectable {
from(value: ITextCharacterFormat) -> Self844     fn from(value: ITextCharacterFormat) -> Self {
845         value.0
846     }
847 }
848 impl ::std::convert::From<&ITextCharacterFormat> for ::windows::runtime::IInspectable {
from(value: &ITextCharacterFormat) -> Self849     fn from(value: &ITextCharacterFormat) -> Self {
850         value.0.clone()
851     }
852 }
853 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for ITextCharacterFormat {
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::Owned(self.0)
856     }
857 }
858 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a ITextCharacterFormat {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>859     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
860         ::windows::runtime::Param::Borrowed(&self.0)
861     }
862 }
863 #[repr(C)]
864 #[doc(hidden)]
865 pub struct ITextCharacterFormat_abi(
866     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
867     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
868     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
869     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
870     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
871     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
872     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut FormatEffect) -> ::windows::runtime::HRESULT,
873     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: FormatEffect) -> ::windows::runtime::HRESULT,
874     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut super::Color) -> ::windows::runtime::HRESULT,
875     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: super::Color) -> ::windows::runtime::HRESULT,
876     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut FormatEffect) -> ::windows::runtime::HRESULT,
877     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: FormatEffect) -> ::windows::runtime::HRESULT,
878     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut FontStretch) -> ::windows::runtime::HRESULT,
879     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: FontStretch) -> ::windows::runtime::HRESULT,
880     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut FontStyle) -> ::windows::runtime::HRESULT,
881     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: FontStyle) -> ::windows::runtime::HRESULT,
882     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut super::Color) -> ::windows::runtime::HRESULT,
883     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: super::Color) -> ::windows::runtime::HRESULT,
884     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut FormatEffect) -> ::windows::runtime::HRESULT,
885     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: FormatEffect) -> ::windows::runtime::HRESULT,
886     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut FormatEffect) -> ::windows::runtime::HRESULT,
887     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: FormatEffect) -> ::windows::runtime::HRESULT,
888     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut f32) -> ::windows::runtime::HRESULT,
889     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: f32) -> ::windows::runtime::HRESULT,
890     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
891     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
892     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut LinkType) -> ::windows::runtime::HRESULT,
893     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
894     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
895     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut FormatEffect) -> ::windows::runtime::HRESULT,
896     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: FormatEffect) -> ::windows::runtime::HRESULT,
897     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut f32) -> ::windows::runtime::HRESULT,
898     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: f32) -> ::windows::runtime::HRESULT,
899     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut FormatEffect) -> ::windows::runtime::HRESULT,
900     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: FormatEffect) -> ::windows::runtime::HRESULT,
901     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut f32) -> ::windows::runtime::HRESULT,
902     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: f32) -> ::windows::runtime::HRESULT,
903     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut FormatEffect) -> ::windows::runtime::HRESULT,
904     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: FormatEffect) -> ::windows::runtime::HRESULT,
905     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut f32) -> ::windows::runtime::HRESULT,
906     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: f32) -> ::windows::runtime::HRESULT,
907     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut FormatEffect) -> ::windows::runtime::HRESULT,
908     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: FormatEffect) -> ::windows::runtime::HRESULT,
909     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut FormatEffect) -> ::windows::runtime::HRESULT,
910     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: FormatEffect) -> ::windows::runtime::HRESULT,
911     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut FormatEffect) -> ::windows::runtime::HRESULT,
912     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: FormatEffect) -> ::windows::runtime::HRESULT,
913     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut TextScript) -> ::windows::runtime::HRESULT,
914     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: TextScript) -> ::windows::runtime::HRESULT,
915     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut UnderlineType) -> ::windows::runtime::HRESULT,
916     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: UnderlineType) -> ::windows::runtime::HRESULT,
917     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut i32) -> ::windows::runtime::HRESULT,
918     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: i32) -> ::windows::runtime::HRESULT,
919     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
920     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
921     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, format: ::windows::runtime::RawPtr, result__: *mut bool) -> ::windows::runtime::HRESULT,
922 );
923 #[repr(transparent)]
924 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
925 #[doc(hidden)]
926 pub struct ITextConstantsStatics(::windows::runtime::IInspectable);
927 unsafe impl ::windows::runtime::Interface for ITextConstantsStatics {
928     type Vtable = ITextConstantsStatics_abi;
929     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2006875187, 6301, 19450, [151, 200, 16, 219, 19, 93, 151, 110]);
930 }
931 #[repr(C)]
932 #[doc(hidden)]
933 pub struct ITextConstantsStatics_abi(
934     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
935     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
936     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
937     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
938     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
939     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
940     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut super::Color) -> ::windows::runtime::HRESULT,
941     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut i32) -> ::windows::runtime::HRESULT,
942     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut i32) -> ::windows::runtime::HRESULT,
943     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut super::Color) -> ::windows::runtime::HRESULT,
944     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut f32) -> ::windows::runtime::HRESULT,
945     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut i32) -> ::windows::runtime::HRESULT,
946     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut FontStretch) -> ::windows::runtime::HRESULT,
947     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut FontStyle) -> ::windows::runtime::HRESULT,
948 );
949 #[repr(transparent)]
950 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
951 pub struct ITextDocument(::windows::runtime::IInspectable);
952 unsafe impl ::windows::runtime::Interface for ITextDocument {
953     type Vtable = ITextDocument_abi;
954     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3203288539, 37042, 16524, [162, 246, 10, 10, 195, 30, 51, 228]);
955 }
956 impl ITextDocument {
CaretType(&self) -> ::windows::runtime::Result<CaretType>957     pub fn CaretType(&self) -> ::windows::runtime::Result<CaretType> {
958         let this = self;
959         unsafe {
960             let mut result__: CaretType = ::std::mem::zeroed();
961             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<CaretType>(result__)
962         }
963     }
SetCaretType(&self, value: CaretType) -> ::windows::runtime::Result<()>964     pub fn SetCaretType(&self, value: CaretType) -> ::windows::runtime::Result<()> {
965         let this = self;
966         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value).ok() }
967     }
DefaultTabStop(&self) -> ::windows::runtime::Result<f32>968     pub fn DefaultTabStop(&self) -> ::windows::runtime::Result<f32> {
969         let this = self;
970         unsafe {
971             let mut result__: f32 = ::std::mem::zeroed();
972             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<f32>(result__)
973         }
974     }
SetDefaultTabStop(&self, value: f32) -> ::windows::runtime::Result<()>975     pub fn SetDefaultTabStop(&self, value: f32) -> ::windows::runtime::Result<()> {
976         let this = self;
977         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), value).ok() }
978     }
Selection(&self) -> ::windows::runtime::Result<ITextSelection>979     pub fn Selection(&self) -> ::windows::runtime::Result<ITextSelection> {
980         let this = self;
981         unsafe {
982             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
983             (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), &mut result__).from_abi::<ITextSelection>(result__)
984         }
985     }
UndoLimit(&self) -> ::windows::runtime::Result<u32>986     pub fn UndoLimit(&self) -> ::windows::runtime::Result<u32> {
987         let this = self;
988         unsafe {
989             let mut result__: u32 = ::std::mem::zeroed();
990             (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), &mut result__).from_abi::<u32>(result__)
991         }
992     }
SetUndoLimit(&self, value: u32) -> ::windows::runtime::Result<()>993     pub fn SetUndoLimit(&self, value: u32) -> ::windows::runtime::Result<()> {
994         let this = self;
995         unsafe { (::windows::runtime::Interface::vtable(this).12)(::std::mem::transmute_copy(this), value).ok() }
996     }
CanCopy(&self) -> ::windows::runtime::Result<bool>997     pub fn CanCopy(&self) -> ::windows::runtime::Result<bool> {
998         let this = self;
999         unsafe {
1000             let mut result__: bool = ::std::mem::zeroed();
1001             (::windows::runtime::Interface::vtable(this).13)(::std::mem::transmute_copy(this), &mut result__).from_abi::<bool>(result__)
1002         }
1003     }
CanPaste(&self) -> ::windows::runtime::Result<bool>1004     pub fn CanPaste(&self) -> ::windows::runtime::Result<bool> {
1005         let this = self;
1006         unsafe {
1007             let mut result__: bool = ::std::mem::zeroed();
1008             (::windows::runtime::Interface::vtable(this).14)(::std::mem::transmute_copy(this), &mut result__).from_abi::<bool>(result__)
1009         }
1010     }
CanRedo(&self) -> ::windows::runtime::Result<bool>1011     pub fn CanRedo(&self) -> ::windows::runtime::Result<bool> {
1012         let this = self;
1013         unsafe {
1014             let mut result__: bool = ::std::mem::zeroed();
1015             (::windows::runtime::Interface::vtable(this).15)(::std::mem::transmute_copy(this), &mut result__).from_abi::<bool>(result__)
1016         }
1017     }
CanUndo(&self) -> ::windows::runtime::Result<bool>1018     pub fn CanUndo(&self) -> ::windows::runtime::Result<bool> {
1019         let this = self;
1020         unsafe {
1021             let mut result__: bool = ::std::mem::zeroed();
1022             (::windows::runtime::Interface::vtable(this).16)(::std::mem::transmute_copy(this), &mut result__).from_abi::<bool>(result__)
1023         }
1024     }
ApplyDisplayUpdates(&self) -> ::windows::runtime::Result<i32>1025     pub fn ApplyDisplayUpdates(&self) -> ::windows::runtime::Result<i32> {
1026         let this = self;
1027         unsafe {
1028             let mut result__: i32 = ::std::mem::zeroed();
1029             (::windows::runtime::Interface::vtable(this).17)(::std::mem::transmute_copy(this), &mut result__).from_abi::<i32>(result__)
1030         }
1031     }
BatchDisplayUpdates(&self) -> ::windows::runtime::Result<i32>1032     pub fn BatchDisplayUpdates(&self) -> ::windows::runtime::Result<i32> {
1033         let this = self;
1034         unsafe {
1035             let mut result__: i32 = ::std::mem::zeroed();
1036             (::windows::runtime::Interface::vtable(this).18)(::std::mem::transmute_copy(this), &mut result__).from_abi::<i32>(result__)
1037         }
1038     }
BeginUndoGroup(&self) -> ::windows::runtime::Result<()>1039     pub fn BeginUndoGroup(&self) -> ::windows::runtime::Result<()> {
1040         let this = self;
1041         unsafe { (::windows::runtime::Interface::vtable(this).19)(::std::mem::transmute_copy(this)).ok() }
1042     }
EndUndoGroup(&self) -> ::windows::runtime::Result<()>1043     pub fn EndUndoGroup(&self) -> ::windows::runtime::Result<()> {
1044         let this = self;
1045         unsafe { (::windows::runtime::Interface::vtable(this).20)(::std::mem::transmute_copy(this)).ok() }
1046     }
GetDefaultCharacterFormat(&self) -> ::windows::runtime::Result<ITextCharacterFormat>1047     pub fn GetDefaultCharacterFormat(&self) -> ::windows::runtime::Result<ITextCharacterFormat> {
1048         let this = self;
1049         unsafe {
1050             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
1051             (::windows::runtime::Interface::vtable(this).21)(::std::mem::transmute_copy(this), &mut result__).from_abi::<ITextCharacterFormat>(result__)
1052         }
1053     }
GetDefaultParagraphFormat(&self) -> ::windows::runtime::Result<ITextParagraphFormat>1054     pub fn GetDefaultParagraphFormat(&self) -> ::windows::runtime::Result<ITextParagraphFormat> {
1055         let this = self;
1056         unsafe {
1057             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
1058             (::windows::runtime::Interface::vtable(this).22)(::std::mem::transmute_copy(this), &mut result__).from_abi::<ITextParagraphFormat>(result__)
1059         }
1060     }
GetRange(&self, startposition: i32, endposition: i32) -> ::windows::runtime::Result<ITextRange>1061     pub fn GetRange(&self, startposition: i32, endposition: i32) -> ::windows::runtime::Result<ITextRange> {
1062         let this = self;
1063         unsafe {
1064             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
1065             (::windows::runtime::Interface::vtable(this).23)(::std::mem::transmute_copy(this), startposition, endposition, &mut result__).from_abi::<ITextRange>(result__)
1066         }
1067     }
1068     #[cfg(feature = "Foundation")]
GetRangeFromPoint<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Point>>(&self, point: Param0, options: PointOptions) -> ::windows::runtime::Result<ITextRange>1069     pub fn GetRangeFromPoint<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Point>>(&self, point: Param0, options: PointOptions) -> ::windows::runtime::Result<ITextRange> {
1070         let this = self;
1071         unsafe {
1072             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
1073             (::windows::runtime::Interface::vtable(this).24)(::std::mem::transmute_copy(this), point.into_param().abi(), options, &mut result__).from_abi::<ITextRange>(result__)
1074         }
1075     }
GetText(&self, options: TextGetOptions, value: &mut ::windows::runtime::HSTRING) -> ::windows::runtime::Result<()>1076     pub fn GetText(&self, options: TextGetOptions, value: &mut ::windows::runtime::HSTRING) -> ::windows::runtime::Result<()> {
1077         let this = self;
1078         unsafe { (::windows::runtime::Interface::vtable(this).25)(::std::mem::transmute_copy(this), options, value as *mut _ as _).ok() }
1079     }
1080     #[cfg(feature = "Storage_Streams")]
LoadFromStream<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Storage::Streams::IRandomAccessStream>>(&self, options: TextSetOptions, value: Param1) -> ::windows::runtime::Result<()>1081     pub fn LoadFromStream<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Storage::Streams::IRandomAccessStream>>(&self, options: TextSetOptions, value: Param1) -> ::windows::runtime::Result<()> {
1082         let this = self;
1083         unsafe { (::windows::runtime::Interface::vtable(this).26)(::std::mem::transmute_copy(this), options, value.into_param().abi()).ok() }
1084     }
Redo(&self) -> ::windows::runtime::Result<()>1085     pub fn Redo(&self) -> ::windows::runtime::Result<()> {
1086         let this = self;
1087         unsafe { (::windows::runtime::Interface::vtable(this).27)(::std::mem::transmute_copy(this)).ok() }
1088     }
1089     #[cfg(feature = "Storage_Streams")]
SaveToStream<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Storage::Streams::IRandomAccessStream>>(&self, options: TextGetOptions, value: Param1) -> ::windows::runtime::Result<()>1090     pub fn SaveToStream<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Storage::Streams::IRandomAccessStream>>(&self, options: TextGetOptions, value: Param1) -> ::windows::runtime::Result<()> {
1091         let this = self;
1092         unsafe { (::windows::runtime::Interface::vtable(this).28)(::std::mem::transmute_copy(this), options, value.into_param().abi()).ok() }
1093     }
SetDefaultCharacterFormat<'a, Param0: ::windows::runtime::IntoParam<'a, ITextCharacterFormat>>(&self, value: Param0) -> ::windows::runtime::Result<()>1094     pub fn SetDefaultCharacterFormat<'a, Param0: ::windows::runtime::IntoParam<'a, ITextCharacterFormat>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
1095         let this = self;
1096         unsafe { (::windows::runtime::Interface::vtable(this).29)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
1097     }
SetDefaultParagraphFormat<'a, Param0: ::windows::runtime::IntoParam<'a, ITextParagraphFormat>>(&self, value: Param0) -> ::windows::runtime::Result<()>1098     pub fn SetDefaultParagraphFormat<'a, Param0: ::windows::runtime::IntoParam<'a, ITextParagraphFormat>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
1099         let this = self;
1100         unsafe { (::windows::runtime::Interface::vtable(this).30)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
1101     }
SetText<'a, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, options: TextSetOptions, value: Param1) -> ::windows::runtime::Result<()>1102     pub fn SetText<'a, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, options: TextSetOptions, value: Param1) -> ::windows::runtime::Result<()> {
1103         let this = self;
1104         unsafe { (::windows::runtime::Interface::vtable(this).31)(::std::mem::transmute_copy(this), options, value.into_param().abi()).ok() }
1105     }
Undo(&self) -> ::windows::runtime::Result<()>1106     pub fn Undo(&self) -> ::windows::runtime::Result<()> {
1107         let this = self;
1108         unsafe { (::windows::runtime::Interface::vtable(this).32)(::std::mem::transmute_copy(this)).ok() }
1109     }
1110 }
1111 unsafe impl ::windows::runtime::RuntimeType for ITextDocument {
1112     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"{beee4ddb-90b2-408c-a2f6-0a0ac31e33e4}");
1113 }
1114 impl ::std::convert::From<ITextDocument> for ::windows::runtime::IUnknown {
from(value: ITextDocument) -> Self1115     fn from(value: ITextDocument) -> Self {
1116         unsafe { ::std::mem::transmute(value) }
1117     }
1118 }
1119 impl ::std::convert::From<&ITextDocument> for ::windows::runtime::IUnknown {
from(value: &ITextDocument) -> Self1120     fn from(value: &ITextDocument) -> Self {
1121         ::std::convert::From::from(::std::clone::Clone::clone(value))
1122     }
1123 }
1124 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ITextDocument {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1125     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1126         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
1127     }
1128 }
1129 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ITextDocument {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1130     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1131         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
1132     }
1133 }
1134 impl ::std::convert::From<ITextDocument> for ::windows::runtime::IInspectable {
from(value: ITextDocument) -> Self1135     fn from(value: ITextDocument) -> Self {
1136         value.0
1137     }
1138 }
1139 impl ::std::convert::From<&ITextDocument> for ::windows::runtime::IInspectable {
from(value: &ITextDocument) -> Self1140     fn from(value: &ITextDocument) -> Self {
1141         value.0.clone()
1142     }
1143 }
1144 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for ITextDocument {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>1145     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
1146         ::windows::runtime::Param::Owned(self.0)
1147     }
1148 }
1149 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a ITextDocument {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>1150     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
1151         ::windows::runtime::Param::Borrowed(&self.0)
1152     }
1153 }
1154 #[repr(C)]
1155 #[doc(hidden)]
1156 pub struct ITextDocument_abi(
1157     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1158     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1159     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1160     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
1161     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1162     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
1163     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut CaretType) -> ::windows::runtime::HRESULT,
1164     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: CaretType) -> ::windows::runtime::HRESULT,
1165     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut f32) -> ::windows::runtime::HRESULT,
1166     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: f32) -> ::windows::runtime::HRESULT,
1167     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1168     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut u32) -> ::windows::runtime::HRESULT,
1169     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: u32) -> ::windows::runtime::HRESULT,
1170     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut bool) -> ::windows::runtime::HRESULT,
1171     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut bool) -> ::windows::runtime::HRESULT,
1172     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut bool) -> ::windows::runtime::HRESULT,
1173     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut bool) -> ::windows::runtime::HRESULT,
1174     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut i32) -> ::windows::runtime::HRESULT,
1175     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut i32) -> ::windows::runtime::HRESULT,
1176     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1177     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1178     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1179     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1180     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, startposition: i32, endposition: i32, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1181     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, point: super::super::Foundation::Point, options: PointOptions, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1182     #[cfg(not(feature = "Foundation"))] usize,
1183     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, options: TextGetOptions, value: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
1184     #[cfg(feature = "Storage_Streams")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, options: TextSetOptions, value: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1185     #[cfg(not(feature = "Storage_Streams"))] usize,
1186     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1187     #[cfg(feature = "Storage_Streams")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, options: TextGetOptions, value: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1188     #[cfg(not(feature = "Storage_Streams"))] usize,
1189     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1190     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1191     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, options: TextSetOptions, value: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
1192     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1193 );
1194 #[repr(transparent)]
1195 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1196 #[doc(hidden)]
1197 pub struct ITextDocument2(::windows::runtime::IInspectable);
1198 unsafe impl ::windows::runtime::Interface for ITextDocument2 {
1199     type Vtable = ITextDocument2_abi;
1200     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(4063301906, 35977, 18889, [145, 24, 240, 87, 203, 184, 20, 238]);
1201 }
1202 #[repr(C)]
1203 #[doc(hidden)]
1204 pub struct ITextDocument2_abi(
1205     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1206     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1207     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1208     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
1209     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1210     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
1211     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut bool) -> ::windows::runtime::HRESULT,
1212     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: bool) -> ::windows::runtime::HRESULT,
1213     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut bool) -> ::windows::runtime::HRESULT,
1214     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: bool) -> ::windows::runtime::HRESULT,
1215 );
1216 #[repr(transparent)]
1217 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1218 #[doc(hidden)]
1219 pub struct ITextDocument3(::windows::runtime::IInspectable);
1220 unsafe impl ::windows::runtime::Interface for ITextDocument3 {
1221     type Vtable = ITextDocument3_abi;
1222     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1974141857, 42744, 17437, [170, 24, 10, 133, 29, 110, 94, 60]);
1223 }
1224 #[repr(C)]
1225 #[doc(hidden)]
1226 pub struct ITextDocument3_abi(
1227     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1228     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1229     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1230     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
1231     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1232     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
1233     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1234 );
1235 #[repr(transparent)]
1236 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1237 #[doc(hidden)]
1238 pub struct ITextDocument4(::windows::runtime::IInspectable);
1239 unsafe impl ::windows::runtime::Interface for ITextDocument4 {
1240     type Vtable = ITextDocument4_abi;
1241     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1637622002, 52027, 17697, [152, 31, 40, 101, 177, 185, 63, 4]);
1242 }
1243 #[repr(C)]
1244 #[doc(hidden)]
1245 pub struct ITextDocument4_abi(
1246     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1247     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1248     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1249     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
1250     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1251     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
1252     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
1253     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
1254     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, mode: RichEditMathMode) -> ::windows::runtime::HRESULT,
1255 );
1256 #[repr(transparent)]
1257 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1258 pub struct ITextParagraphFormat(::windows::runtime::IInspectable);
1259 unsafe impl ::windows::runtime::Interface for ITextParagraphFormat {
1260     type Vtable = ITextParagraphFormat_abi;
1261     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(754503590, 18038, 18826, [147, 245, 187, 219, 252, 11, 216, 131]);
1262 }
1263 impl ITextParagraphFormat {
Alignment(&self) -> ::windows::runtime::Result<ParagraphAlignment>1264     pub fn Alignment(&self) -> ::windows::runtime::Result<ParagraphAlignment> {
1265         let this = self;
1266         unsafe {
1267             let mut result__: ParagraphAlignment = ::std::mem::zeroed();
1268             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<ParagraphAlignment>(result__)
1269         }
1270     }
SetAlignment(&self, value: ParagraphAlignment) -> ::windows::runtime::Result<()>1271     pub fn SetAlignment(&self, value: ParagraphAlignment) -> ::windows::runtime::Result<()> {
1272         let this = self;
1273         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value).ok() }
1274     }
FirstLineIndent(&self) -> ::windows::runtime::Result<f32>1275     pub fn FirstLineIndent(&self) -> ::windows::runtime::Result<f32> {
1276         let this = self;
1277         unsafe {
1278             let mut result__: f32 = ::std::mem::zeroed();
1279             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<f32>(result__)
1280         }
1281     }
KeepTogether(&self) -> ::windows::runtime::Result<FormatEffect>1282     pub fn KeepTogether(&self) -> ::windows::runtime::Result<FormatEffect> {
1283         let this = self;
1284         unsafe {
1285             let mut result__: FormatEffect = ::std::mem::zeroed();
1286             (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), &mut result__).from_abi::<FormatEffect>(result__)
1287         }
1288     }
SetKeepTogether(&self, value: FormatEffect) -> ::windows::runtime::Result<()>1289     pub fn SetKeepTogether(&self, value: FormatEffect) -> ::windows::runtime::Result<()> {
1290         let this = self;
1291         unsafe { (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), value).ok() }
1292     }
KeepWithNext(&self) -> ::windows::runtime::Result<FormatEffect>1293     pub fn KeepWithNext(&self) -> ::windows::runtime::Result<FormatEffect> {
1294         let this = self;
1295         unsafe {
1296             let mut result__: FormatEffect = ::std::mem::zeroed();
1297             (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), &mut result__).from_abi::<FormatEffect>(result__)
1298         }
1299     }
SetKeepWithNext(&self, value: FormatEffect) -> ::windows::runtime::Result<()>1300     pub fn SetKeepWithNext(&self, value: FormatEffect) -> ::windows::runtime::Result<()> {
1301         let this = self;
1302         unsafe { (::windows::runtime::Interface::vtable(this).12)(::std::mem::transmute_copy(this), value).ok() }
1303     }
LeftIndent(&self) -> ::windows::runtime::Result<f32>1304     pub fn LeftIndent(&self) -> ::windows::runtime::Result<f32> {
1305         let this = self;
1306         unsafe {
1307             let mut result__: f32 = ::std::mem::zeroed();
1308             (::windows::runtime::Interface::vtable(this).13)(::std::mem::transmute_copy(this), &mut result__).from_abi::<f32>(result__)
1309         }
1310     }
LineSpacing(&self) -> ::windows::runtime::Result<f32>1311     pub fn LineSpacing(&self) -> ::windows::runtime::Result<f32> {
1312         let this = self;
1313         unsafe {
1314             let mut result__: f32 = ::std::mem::zeroed();
1315             (::windows::runtime::Interface::vtable(this).14)(::std::mem::transmute_copy(this), &mut result__).from_abi::<f32>(result__)
1316         }
1317     }
LineSpacingRule(&self) -> ::windows::runtime::Result<LineSpacingRule>1318     pub fn LineSpacingRule(&self) -> ::windows::runtime::Result<LineSpacingRule> {
1319         let this = self;
1320         unsafe {
1321             let mut result__: LineSpacingRule = ::std::mem::zeroed();
1322             (::windows::runtime::Interface::vtable(this).15)(::std::mem::transmute_copy(this), &mut result__).from_abi::<LineSpacingRule>(result__)
1323         }
1324     }
ListAlignment(&self) -> ::windows::runtime::Result<MarkerAlignment>1325     pub fn ListAlignment(&self) -> ::windows::runtime::Result<MarkerAlignment> {
1326         let this = self;
1327         unsafe {
1328             let mut result__: MarkerAlignment = ::std::mem::zeroed();
1329             (::windows::runtime::Interface::vtable(this).16)(::std::mem::transmute_copy(this), &mut result__).from_abi::<MarkerAlignment>(result__)
1330         }
1331     }
SetListAlignment(&self, value: MarkerAlignment) -> ::windows::runtime::Result<()>1332     pub fn SetListAlignment(&self, value: MarkerAlignment) -> ::windows::runtime::Result<()> {
1333         let this = self;
1334         unsafe { (::windows::runtime::Interface::vtable(this).17)(::std::mem::transmute_copy(this), value).ok() }
1335     }
ListLevelIndex(&self) -> ::windows::runtime::Result<i32>1336     pub fn ListLevelIndex(&self) -> ::windows::runtime::Result<i32> {
1337         let this = self;
1338         unsafe {
1339             let mut result__: i32 = ::std::mem::zeroed();
1340             (::windows::runtime::Interface::vtable(this).18)(::std::mem::transmute_copy(this), &mut result__).from_abi::<i32>(result__)
1341         }
1342     }
SetListLevelIndex(&self, value: i32) -> ::windows::runtime::Result<()>1343     pub fn SetListLevelIndex(&self, value: i32) -> ::windows::runtime::Result<()> {
1344         let this = self;
1345         unsafe { (::windows::runtime::Interface::vtable(this).19)(::std::mem::transmute_copy(this), value).ok() }
1346     }
ListStart(&self) -> ::windows::runtime::Result<i32>1347     pub fn ListStart(&self) -> ::windows::runtime::Result<i32> {
1348         let this = self;
1349         unsafe {
1350             let mut result__: i32 = ::std::mem::zeroed();
1351             (::windows::runtime::Interface::vtable(this).20)(::std::mem::transmute_copy(this), &mut result__).from_abi::<i32>(result__)
1352         }
1353     }
SetListStart(&self, value: i32) -> ::windows::runtime::Result<()>1354     pub fn SetListStart(&self, value: i32) -> ::windows::runtime::Result<()> {
1355         let this = self;
1356         unsafe { (::windows::runtime::Interface::vtable(this).21)(::std::mem::transmute_copy(this), value).ok() }
1357     }
ListStyle(&self) -> ::windows::runtime::Result<MarkerStyle>1358     pub fn ListStyle(&self) -> ::windows::runtime::Result<MarkerStyle> {
1359         let this = self;
1360         unsafe {
1361             let mut result__: MarkerStyle = ::std::mem::zeroed();
1362             (::windows::runtime::Interface::vtable(this).22)(::std::mem::transmute_copy(this), &mut result__).from_abi::<MarkerStyle>(result__)
1363         }
1364     }
SetListStyle(&self, value: MarkerStyle) -> ::windows::runtime::Result<()>1365     pub fn SetListStyle(&self, value: MarkerStyle) -> ::windows::runtime::Result<()> {
1366         let this = self;
1367         unsafe { (::windows::runtime::Interface::vtable(this).23)(::std::mem::transmute_copy(this), value).ok() }
1368     }
ListTab(&self) -> ::windows::runtime::Result<f32>1369     pub fn ListTab(&self) -> ::windows::runtime::Result<f32> {
1370         let this = self;
1371         unsafe {
1372             let mut result__: f32 = ::std::mem::zeroed();
1373             (::windows::runtime::Interface::vtable(this).24)(::std::mem::transmute_copy(this), &mut result__).from_abi::<f32>(result__)
1374         }
1375     }
SetListTab(&self, value: f32) -> ::windows::runtime::Result<()>1376     pub fn SetListTab(&self, value: f32) -> ::windows::runtime::Result<()> {
1377         let this = self;
1378         unsafe { (::windows::runtime::Interface::vtable(this).25)(::std::mem::transmute_copy(this), value).ok() }
1379     }
ListType(&self) -> ::windows::runtime::Result<MarkerType>1380     pub fn ListType(&self) -> ::windows::runtime::Result<MarkerType> {
1381         let this = self;
1382         unsafe {
1383             let mut result__: MarkerType = ::std::mem::zeroed();
1384             (::windows::runtime::Interface::vtable(this).26)(::std::mem::transmute_copy(this), &mut result__).from_abi::<MarkerType>(result__)
1385         }
1386     }
SetListType(&self, value: MarkerType) -> ::windows::runtime::Result<()>1387     pub fn SetListType(&self, value: MarkerType) -> ::windows::runtime::Result<()> {
1388         let this = self;
1389         unsafe { (::windows::runtime::Interface::vtable(this).27)(::std::mem::transmute_copy(this), value).ok() }
1390     }
NoLineNumber(&self) -> ::windows::runtime::Result<FormatEffect>1391     pub fn NoLineNumber(&self) -> ::windows::runtime::Result<FormatEffect> {
1392         let this = self;
1393         unsafe {
1394             let mut result__: FormatEffect = ::std::mem::zeroed();
1395             (::windows::runtime::Interface::vtable(this).28)(::std::mem::transmute_copy(this), &mut result__).from_abi::<FormatEffect>(result__)
1396         }
1397     }
SetNoLineNumber(&self, value: FormatEffect) -> ::windows::runtime::Result<()>1398     pub fn SetNoLineNumber(&self, value: FormatEffect) -> ::windows::runtime::Result<()> {
1399         let this = self;
1400         unsafe { (::windows::runtime::Interface::vtable(this).29)(::std::mem::transmute_copy(this), value).ok() }
1401     }
PageBreakBefore(&self) -> ::windows::runtime::Result<FormatEffect>1402     pub fn PageBreakBefore(&self) -> ::windows::runtime::Result<FormatEffect> {
1403         let this = self;
1404         unsafe {
1405             let mut result__: FormatEffect = ::std::mem::zeroed();
1406             (::windows::runtime::Interface::vtable(this).30)(::std::mem::transmute_copy(this), &mut result__).from_abi::<FormatEffect>(result__)
1407         }
1408     }
SetPageBreakBefore(&self, value: FormatEffect) -> ::windows::runtime::Result<()>1409     pub fn SetPageBreakBefore(&self, value: FormatEffect) -> ::windows::runtime::Result<()> {
1410         let this = self;
1411         unsafe { (::windows::runtime::Interface::vtable(this).31)(::std::mem::transmute_copy(this), value).ok() }
1412     }
RightIndent(&self) -> ::windows::runtime::Result<f32>1413     pub fn RightIndent(&self) -> ::windows::runtime::Result<f32> {
1414         let this = self;
1415         unsafe {
1416             let mut result__: f32 = ::std::mem::zeroed();
1417             (::windows::runtime::Interface::vtable(this).32)(::std::mem::transmute_copy(this), &mut result__).from_abi::<f32>(result__)
1418         }
1419     }
SetRightIndent(&self, value: f32) -> ::windows::runtime::Result<()>1420     pub fn SetRightIndent(&self, value: f32) -> ::windows::runtime::Result<()> {
1421         let this = self;
1422         unsafe { (::windows::runtime::Interface::vtable(this).33)(::std::mem::transmute_copy(this), value).ok() }
1423     }
RightToLeft(&self) -> ::windows::runtime::Result<FormatEffect>1424     pub fn RightToLeft(&self) -> ::windows::runtime::Result<FormatEffect> {
1425         let this = self;
1426         unsafe {
1427             let mut result__: FormatEffect = ::std::mem::zeroed();
1428             (::windows::runtime::Interface::vtable(this).34)(::std::mem::transmute_copy(this), &mut result__).from_abi::<FormatEffect>(result__)
1429         }
1430     }
SetRightToLeft(&self, value: FormatEffect) -> ::windows::runtime::Result<()>1431     pub fn SetRightToLeft(&self, value: FormatEffect) -> ::windows::runtime::Result<()> {
1432         let this = self;
1433         unsafe { (::windows::runtime::Interface::vtable(this).35)(::std::mem::transmute_copy(this), value).ok() }
1434     }
Style(&self) -> ::windows::runtime::Result<ParagraphStyle>1435     pub fn Style(&self) -> ::windows::runtime::Result<ParagraphStyle> {
1436         let this = self;
1437         unsafe {
1438             let mut result__: ParagraphStyle = ::std::mem::zeroed();
1439             (::windows::runtime::Interface::vtable(this).36)(::std::mem::transmute_copy(this), &mut result__).from_abi::<ParagraphStyle>(result__)
1440         }
1441     }
SetStyle(&self, value: ParagraphStyle) -> ::windows::runtime::Result<()>1442     pub fn SetStyle(&self, value: ParagraphStyle) -> ::windows::runtime::Result<()> {
1443         let this = self;
1444         unsafe { (::windows::runtime::Interface::vtable(this).37)(::std::mem::transmute_copy(this), value).ok() }
1445     }
SpaceAfter(&self) -> ::windows::runtime::Result<f32>1446     pub fn SpaceAfter(&self) -> ::windows::runtime::Result<f32> {
1447         let this = self;
1448         unsafe {
1449             let mut result__: f32 = ::std::mem::zeroed();
1450             (::windows::runtime::Interface::vtable(this).38)(::std::mem::transmute_copy(this), &mut result__).from_abi::<f32>(result__)
1451         }
1452     }
SetSpaceAfter(&self, value: f32) -> ::windows::runtime::Result<()>1453     pub fn SetSpaceAfter(&self, value: f32) -> ::windows::runtime::Result<()> {
1454         let this = self;
1455         unsafe { (::windows::runtime::Interface::vtable(this).39)(::std::mem::transmute_copy(this), value).ok() }
1456     }
SpaceBefore(&self) -> ::windows::runtime::Result<f32>1457     pub fn SpaceBefore(&self) -> ::windows::runtime::Result<f32> {
1458         let this = self;
1459         unsafe {
1460             let mut result__: f32 = ::std::mem::zeroed();
1461             (::windows::runtime::Interface::vtable(this).40)(::std::mem::transmute_copy(this), &mut result__).from_abi::<f32>(result__)
1462         }
1463     }
SetSpaceBefore(&self, value: f32) -> ::windows::runtime::Result<()>1464     pub fn SetSpaceBefore(&self, value: f32) -> ::windows::runtime::Result<()> {
1465         let this = self;
1466         unsafe { (::windows::runtime::Interface::vtable(this).41)(::std::mem::transmute_copy(this), value).ok() }
1467     }
WidowControl(&self) -> ::windows::runtime::Result<FormatEffect>1468     pub fn WidowControl(&self) -> ::windows::runtime::Result<FormatEffect> {
1469         let this = self;
1470         unsafe {
1471             let mut result__: FormatEffect = ::std::mem::zeroed();
1472             (::windows::runtime::Interface::vtable(this).42)(::std::mem::transmute_copy(this), &mut result__).from_abi::<FormatEffect>(result__)
1473         }
1474     }
SetWidowControl(&self, value: FormatEffect) -> ::windows::runtime::Result<()>1475     pub fn SetWidowControl(&self, value: FormatEffect) -> ::windows::runtime::Result<()> {
1476         let this = self;
1477         unsafe { (::windows::runtime::Interface::vtable(this).43)(::std::mem::transmute_copy(this), value).ok() }
1478     }
TabCount(&self) -> ::windows::runtime::Result<i32>1479     pub fn TabCount(&self) -> ::windows::runtime::Result<i32> {
1480         let this = self;
1481         unsafe {
1482             let mut result__: i32 = ::std::mem::zeroed();
1483             (::windows::runtime::Interface::vtable(this).44)(::std::mem::transmute_copy(this), &mut result__).from_abi::<i32>(result__)
1484         }
1485     }
AddTab(&self, position: f32, align: TabAlignment, leader: TabLeader) -> ::windows::runtime::Result<()>1486     pub fn AddTab(&self, position: f32, align: TabAlignment, leader: TabLeader) -> ::windows::runtime::Result<()> {
1487         let this = self;
1488         unsafe { (::windows::runtime::Interface::vtable(this).45)(::std::mem::transmute_copy(this), position, align, leader).ok() }
1489     }
ClearAllTabs(&self) -> ::windows::runtime::Result<()>1490     pub fn ClearAllTabs(&self) -> ::windows::runtime::Result<()> {
1491         let this = self;
1492         unsafe { (::windows::runtime::Interface::vtable(this).46)(::std::mem::transmute_copy(this)).ok() }
1493     }
DeleteTab(&self, position: f32) -> ::windows::runtime::Result<()>1494     pub fn DeleteTab(&self, position: f32) -> ::windows::runtime::Result<()> {
1495         let this = self;
1496         unsafe { (::windows::runtime::Interface::vtable(this).47)(::std::mem::transmute_copy(this), position).ok() }
1497     }
GetClone(&self) -> ::windows::runtime::Result<ITextParagraphFormat>1498     pub fn GetClone(&self) -> ::windows::runtime::Result<ITextParagraphFormat> {
1499         let this = self;
1500         unsafe {
1501             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
1502             (::windows::runtime::Interface::vtable(this).48)(::std::mem::transmute_copy(this), &mut result__).from_abi::<ITextParagraphFormat>(result__)
1503         }
1504     }
GetTab(&self, index: i32, position: &mut f32, align: &mut TabAlignment, leader: &mut TabLeader) -> ::windows::runtime::Result<()>1505     pub fn GetTab(&self, index: i32, position: &mut f32, align: &mut TabAlignment, leader: &mut TabLeader) -> ::windows::runtime::Result<()> {
1506         let this = self;
1507         unsafe { (::windows::runtime::Interface::vtable(this).49)(::std::mem::transmute_copy(this), index, position, align, leader).ok() }
1508     }
IsEqual<'a, Param0: ::windows::runtime::IntoParam<'a, ITextParagraphFormat>>(&self, format: Param0) -> ::windows::runtime::Result<bool>1509     pub fn IsEqual<'a, Param0: ::windows::runtime::IntoParam<'a, ITextParagraphFormat>>(&self, format: Param0) -> ::windows::runtime::Result<bool> {
1510         let this = self;
1511         unsafe {
1512             let mut result__: bool = ::std::mem::zeroed();
1513             (::windows::runtime::Interface::vtable(this).50)(::std::mem::transmute_copy(this), format.into_param().abi(), &mut result__).from_abi::<bool>(result__)
1514         }
1515     }
SetClone<'a, Param0: ::windows::runtime::IntoParam<'a, ITextParagraphFormat>>(&self, format: Param0) -> ::windows::runtime::Result<()>1516     pub fn SetClone<'a, Param0: ::windows::runtime::IntoParam<'a, ITextParagraphFormat>>(&self, format: Param0) -> ::windows::runtime::Result<()> {
1517         let this = self;
1518         unsafe { (::windows::runtime::Interface::vtable(this).51)(::std::mem::transmute_copy(this), format.into_param().abi()).ok() }
1519     }
SetIndents(&self, start: f32, left: f32, right: f32) -> ::windows::runtime::Result<()>1520     pub fn SetIndents(&self, start: f32, left: f32, right: f32) -> ::windows::runtime::Result<()> {
1521         let this = self;
1522         unsafe { (::windows::runtime::Interface::vtable(this).52)(::std::mem::transmute_copy(this), start, left, right).ok() }
1523     }
SetLineSpacing(&self, rule: LineSpacingRule, spacing: f32) -> ::windows::runtime::Result<()>1524     pub fn SetLineSpacing(&self, rule: LineSpacingRule, spacing: f32) -> ::windows::runtime::Result<()> {
1525         let this = self;
1526         unsafe { (::windows::runtime::Interface::vtable(this).53)(::std::mem::transmute_copy(this), rule, spacing).ok() }
1527     }
1528 }
1529 unsafe impl ::windows::runtime::RuntimeType for ITextParagraphFormat {
1530     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"{2cf8cfa6-4676-498a-93f5-bbdbfc0bd883}");
1531 }
1532 impl ::std::convert::From<ITextParagraphFormat> for ::windows::runtime::IUnknown {
from(value: ITextParagraphFormat) -> Self1533     fn from(value: ITextParagraphFormat) -> Self {
1534         unsafe { ::std::mem::transmute(value) }
1535     }
1536 }
1537 impl ::std::convert::From<&ITextParagraphFormat> for ::windows::runtime::IUnknown {
from(value: &ITextParagraphFormat) -> Self1538     fn from(value: &ITextParagraphFormat) -> Self {
1539         ::std::convert::From::from(::std::clone::Clone::clone(value))
1540     }
1541 }
1542 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ITextParagraphFormat {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1543     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1544         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
1545     }
1546 }
1547 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ITextParagraphFormat {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1548     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1549         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
1550     }
1551 }
1552 impl ::std::convert::From<ITextParagraphFormat> for ::windows::runtime::IInspectable {
from(value: ITextParagraphFormat) -> Self1553     fn from(value: ITextParagraphFormat) -> Self {
1554         value.0
1555     }
1556 }
1557 impl ::std::convert::From<&ITextParagraphFormat> for ::windows::runtime::IInspectable {
from(value: &ITextParagraphFormat) -> Self1558     fn from(value: &ITextParagraphFormat) -> Self {
1559         value.0.clone()
1560     }
1561 }
1562 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for ITextParagraphFormat {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>1563     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
1564         ::windows::runtime::Param::Owned(self.0)
1565     }
1566 }
1567 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a ITextParagraphFormat {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>1568     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
1569         ::windows::runtime::Param::Borrowed(&self.0)
1570     }
1571 }
1572 #[repr(C)]
1573 #[doc(hidden)]
1574 pub struct ITextParagraphFormat_abi(
1575     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1576     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1577     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1578     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
1579     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1580     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
1581     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ParagraphAlignment) -> ::windows::runtime::HRESULT,
1582     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: ParagraphAlignment) -> ::windows::runtime::HRESULT,
1583     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut f32) -> ::windows::runtime::HRESULT,
1584     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut FormatEffect) -> ::windows::runtime::HRESULT,
1585     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: FormatEffect) -> ::windows::runtime::HRESULT,
1586     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut FormatEffect) -> ::windows::runtime::HRESULT,
1587     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: FormatEffect) -> ::windows::runtime::HRESULT,
1588     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut f32) -> ::windows::runtime::HRESULT,
1589     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut f32) -> ::windows::runtime::HRESULT,
1590     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut LineSpacingRule) -> ::windows::runtime::HRESULT,
1591     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut MarkerAlignment) -> ::windows::runtime::HRESULT,
1592     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: MarkerAlignment) -> ::windows::runtime::HRESULT,
1593     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut i32) -> ::windows::runtime::HRESULT,
1594     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: i32) -> ::windows::runtime::HRESULT,
1595     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut i32) -> ::windows::runtime::HRESULT,
1596     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: i32) -> ::windows::runtime::HRESULT,
1597     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut MarkerStyle) -> ::windows::runtime::HRESULT,
1598     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: MarkerStyle) -> ::windows::runtime::HRESULT,
1599     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut f32) -> ::windows::runtime::HRESULT,
1600     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: f32) -> ::windows::runtime::HRESULT,
1601     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut MarkerType) -> ::windows::runtime::HRESULT,
1602     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: MarkerType) -> ::windows::runtime::HRESULT,
1603     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut FormatEffect) -> ::windows::runtime::HRESULT,
1604     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: FormatEffect) -> ::windows::runtime::HRESULT,
1605     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut FormatEffect) -> ::windows::runtime::HRESULT,
1606     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: FormatEffect) -> ::windows::runtime::HRESULT,
1607     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut f32) -> ::windows::runtime::HRESULT,
1608     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: f32) -> ::windows::runtime::HRESULT,
1609     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut FormatEffect) -> ::windows::runtime::HRESULT,
1610     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: FormatEffect) -> ::windows::runtime::HRESULT,
1611     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ParagraphStyle) -> ::windows::runtime::HRESULT,
1612     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: ParagraphStyle) -> ::windows::runtime::HRESULT,
1613     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut f32) -> ::windows::runtime::HRESULT,
1614     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: f32) -> ::windows::runtime::HRESULT,
1615     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut f32) -> ::windows::runtime::HRESULT,
1616     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: f32) -> ::windows::runtime::HRESULT,
1617     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut FormatEffect) -> ::windows::runtime::HRESULT,
1618     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: FormatEffect) -> ::windows::runtime::HRESULT,
1619     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut i32) -> ::windows::runtime::HRESULT,
1620     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, position: f32, align: TabAlignment, leader: TabLeader) -> ::windows::runtime::HRESULT,
1621     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1622     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, position: f32) -> ::windows::runtime::HRESULT,
1623     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1624     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, index: i32, position: *mut f32, align: *mut TabAlignment, leader: *mut TabLeader) -> ::windows::runtime::HRESULT,
1625     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, format: ::windows::runtime::RawPtr, result__: *mut bool) -> ::windows::runtime::HRESULT,
1626     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, format: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1627     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, start: f32, left: f32, right: f32) -> ::windows::runtime::HRESULT,
1628     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, rule: LineSpacingRule, spacing: f32) -> ::windows::runtime::HRESULT,
1629 );
1630 #[repr(transparent)]
1631 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1632 pub struct ITextRange(::windows::runtime::IInspectable);
1633 unsafe impl ::windows::runtime::Interface for ITextRange {
1634     type Vtable = ITextRange_abi;
1635     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1537101399, 49266, 17056, [137, 69, 175, 80, 62, 229, 71, 104]);
1636 }
1637 impl ITextRange {
Character(&self) -> ::windows::runtime::Result<u16>1638     pub fn Character(&self) -> ::windows::runtime::Result<u16> {
1639         let this = self;
1640         unsafe {
1641             let mut result__: u16 = ::std::mem::zeroed();
1642             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<u16>(result__)
1643         }
1644     }
SetCharacter(&self, value: u16) -> ::windows::runtime::Result<()>1645     pub fn SetCharacter(&self, value: u16) -> ::windows::runtime::Result<()> {
1646         let this = self;
1647         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value).ok() }
1648     }
CharacterFormat(&self) -> ::windows::runtime::Result<ITextCharacterFormat>1649     pub fn CharacterFormat(&self) -> ::windows::runtime::Result<ITextCharacterFormat> {
1650         let this = self;
1651         unsafe {
1652             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
1653             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<ITextCharacterFormat>(result__)
1654         }
1655     }
SetCharacterFormat<'a, Param0: ::windows::runtime::IntoParam<'a, ITextCharacterFormat>>(&self, value: Param0) -> ::windows::runtime::Result<()>1656     pub fn SetCharacterFormat<'a, Param0: ::windows::runtime::IntoParam<'a, ITextCharacterFormat>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
1657         let this = self;
1658         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
1659     }
FormattedText(&self) -> ::windows::runtime::Result<ITextRange>1660     pub fn FormattedText(&self) -> ::windows::runtime::Result<ITextRange> {
1661         let this = self;
1662         unsafe {
1663             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
1664             (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), &mut result__).from_abi::<ITextRange>(result__)
1665         }
1666     }
SetFormattedText<'a, Param0: ::windows::runtime::IntoParam<'a, ITextRange>>(&self, value: Param0) -> ::windows::runtime::Result<()>1667     pub fn SetFormattedText<'a, Param0: ::windows::runtime::IntoParam<'a, ITextRange>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
1668         let this = self;
1669         unsafe { (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
1670     }
EndPosition(&self) -> ::windows::runtime::Result<i32>1671     pub fn EndPosition(&self) -> ::windows::runtime::Result<i32> {
1672         let this = self;
1673         unsafe {
1674             let mut result__: i32 = ::std::mem::zeroed();
1675             (::windows::runtime::Interface::vtable(this).12)(::std::mem::transmute_copy(this), &mut result__).from_abi::<i32>(result__)
1676         }
1677     }
SetEndPosition(&self, value: i32) -> ::windows::runtime::Result<()>1678     pub fn SetEndPosition(&self, value: i32) -> ::windows::runtime::Result<()> {
1679         let this = self;
1680         unsafe { (::windows::runtime::Interface::vtable(this).13)(::std::mem::transmute_copy(this), value).ok() }
1681     }
Gravity(&self) -> ::windows::runtime::Result<RangeGravity>1682     pub fn Gravity(&self) -> ::windows::runtime::Result<RangeGravity> {
1683         let this = self;
1684         unsafe {
1685             let mut result__: RangeGravity = ::std::mem::zeroed();
1686             (::windows::runtime::Interface::vtable(this).14)(::std::mem::transmute_copy(this), &mut result__).from_abi::<RangeGravity>(result__)
1687         }
1688     }
SetGravity(&self, value: RangeGravity) -> ::windows::runtime::Result<()>1689     pub fn SetGravity(&self, value: RangeGravity) -> ::windows::runtime::Result<()> {
1690         let this = self;
1691         unsafe { (::windows::runtime::Interface::vtable(this).15)(::std::mem::transmute_copy(this), value).ok() }
1692     }
Length(&self) -> ::windows::runtime::Result<i32>1693     pub fn Length(&self) -> ::windows::runtime::Result<i32> {
1694         let this = self;
1695         unsafe {
1696             let mut result__: i32 = ::std::mem::zeroed();
1697             (::windows::runtime::Interface::vtable(this).16)(::std::mem::transmute_copy(this), &mut result__).from_abi::<i32>(result__)
1698         }
1699     }
Link(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>1700     pub fn Link(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
1701         let this = self;
1702         unsafe {
1703             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
1704             (::windows::runtime::Interface::vtable(this).17)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
1705         }
1706     }
SetLink<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()>1707     pub fn SetLink<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
1708         let this = self;
1709         unsafe { (::windows::runtime::Interface::vtable(this).18)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
1710     }
ParagraphFormat(&self) -> ::windows::runtime::Result<ITextParagraphFormat>1711     pub fn ParagraphFormat(&self) -> ::windows::runtime::Result<ITextParagraphFormat> {
1712         let this = self;
1713         unsafe {
1714             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
1715             (::windows::runtime::Interface::vtable(this).19)(::std::mem::transmute_copy(this), &mut result__).from_abi::<ITextParagraphFormat>(result__)
1716         }
1717     }
SetParagraphFormat<'a, Param0: ::windows::runtime::IntoParam<'a, ITextParagraphFormat>>(&self, value: Param0) -> ::windows::runtime::Result<()>1718     pub fn SetParagraphFormat<'a, Param0: ::windows::runtime::IntoParam<'a, ITextParagraphFormat>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
1719         let this = self;
1720         unsafe { (::windows::runtime::Interface::vtable(this).20)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
1721     }
StartPosition(&self) -> ::windows::runtime::Result<i32>1722     pub fn StartPosition(&self) -> ::windows::runtime::Result<i32> {
1723         let this = self;
1724         unsafe {
1725             let mut result__: i32 = ::std::mem::zeroed();
1726             (::windows::runtime::Interface::vtable(this).21)(::std::mem::transmute_copy(this), &mut result__).from_abi::<i32>(result__)
1727         }
1728     }
SetStartPosition(&self, value: i32) -> ::windows::runtime::Result<()>1729     pub fn SetStartPosition(&self, value: i32) -> ::windows::runtime::Result<()> {
1730         let this = self;
1731         unsafe { (::windows::runtime::Interface::vtable(this).22)(::std::mem::transmute_copy(this), value).ok() }
1732     }
StoryLength(&self) -> ::windows::runtime::Result<i32>1733     pub fn StoryLength(&self) -> ::windows::runtime::Result<i32> {
1734         let this = self;
1735         unsafe {
1736             let mut result__: i32 = ::std::mem::zeroed();
1737             (::windows::runtime::Interface::vtable(this).23)(::std::mem::transmute_copy(this), &mut result__).from_abi::<i32>(result__)
1738         }
1739     }
Text(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>1740     pub fn Text(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
1741         let this = self;
1742         unsafe {
1743             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
1744             (::windows::runtime::Interface::vtable(this).24)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
1745         }
1746     }
SetText<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()>1747     pub fn SetText<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
1748         let this = self;
1749         unsafe { (::windows::runtime::Interface::vtable(this).25)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
1750     }
CanPaste(&self, format: i32) -> ::windows::runtime::Result<bool>1751     pub fn CanPaste(&self, format: i32) -> ::windows::runtime::Result<bool> {
1752         let this = self;
1753         unsafe {
1754             let mut result__: bool = ::std::mem::zeroed();
1755             (::windows::runtime::Interface::vtable(this).26)(::std::mem::transmute_copy(this), format, &mut result__).from_abi::<bool>(result__)
1756         }
1757     }
ChangeCase(&self, value: LetterCase) -> ::windows::runtime::Result<()>1758     pub fn ChangeCase(&self, value: LetterCase) -> ::windows::runtime::Result<()> {
1759         let this = self;
1760         unsafe { (::windows::runtime::Interface::vtable(this).27)(::std::mem::transmute_copy(this), value).ok() }
1761     }
Collapse(&self, value: bool) -> ::windows::runtime::Result<()>1762     pub fn Collapse(&self, value: bool) -> ::windows::runtime::Result<()> {
1763         let this = self;
1764         unsafe { (::windows::runtime::Interface::vtable(this).28)(::std::mem::transmute_copy(this), value).ok() }
1765     }
Copy(&self) -> ::windows::runtime::Result<()>1766     pub fn Copy(&self) -> ::windows::runtime::Result<()> {
1767         let this = self;
1768         unsafe { (::windows::runtime::Interface::vtable(this).29)(::std::mem::transmute_copy(this)).ok() }
1769     }
Cut(&self) -> ::windows::runtime::Result<()>1770     pub fn Cut(&self) -> ::windows::runtime::Result<()> {
1771         let this = self;
1772         unsafe { (::windows::runtime::Interface::vtable(this).30)(::std::mem::transmute_copy(this)).ok() }
1773     }
Delete(&self, unit: TextRangeUnit, count: i32) -> ::windows::runtime::Result<i32>1774     pub fn Delete(&self, unit: TextRangeUnit, count: i32) -> ::windows::runtime::Result<i32> {
1775         let this = self;
1776         unsafe {
1777             let mut result__: i32 = ::std::mem::zeroed();
1778             (::windows::runtime::Interface::vtable(this).31)(::std::mem::transmute_copy(this), unit, count, &mut result__).from_abi::<i32>(result__)
1779         }
1780     }
EndOf(&self, unit: TextRangeUnit, extend: bool) -> ::windows::runtime::Result<i32>1781     pub fn EndOf(&self, unit: TextRangeUnit, extend: bool) -> ::windows::runtime::Result<i32> {
1782         let this = self;
1783         unsafe {
1784             let mut result__: i32 = ::std::mem::zeroed();
1785             (::windows::runtime::Interface::vtable(this).32)(::std::mem::transmute_copy(this), unit, extend, &mut result__).from_abi::<i32>(result__)
1786         }
1787     }
Expand(&self, unit: TextRangeUnit) -> ::windows::runtime::Result<i32>1788     pub fn Expand(&self, unit: TextRangeUnit) -> ::windows::runtime::Result<i32> {
1789         let this = self;
1790         unsafe {
1791             let mut result__: i32 = ::std::mem::zeroed();
1792             (::windows::runtime::Interface::vtable(this).33)(::std::mem::transmute_copy(this), unit, &mut result__).from_abi::<i32>(result__)
1793         }
1794     }
FindText<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0, scanlength: i32, options: FindOptions) -> ::windows::runtime::Result<i32>1795     pub fn FindText<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0, scanlength: i32, options: FindOptions) -> ::windows::runtime::Result<i32> {
1796         let this = self;
1797         unsafe {
1798             let mut result__: i32 = ::std::mem::zeroed();
1799             (::windows::runtime::Interface::vtable(this).34)(::std::mem::transmute_copy(this), value.into_param().abi(), scanlength, options, &mut result__).from_abi::<i32>(result__)
1800         }
1801     }
GetCharacterUtf32(&self, value: &mut u32, offset: i32) -> ::windows::runtime::Result<()>1802     pub fn GetCharacterUtf32(&self, value: &mut u32, offset: i32) -> ::windows::runtime::Result<()> {
1803         let this = self;
1804         unsafe { (::windows::runtime::Interface::vtable(this).35)(::std::mem::transmute_copy(this), value, offset).ok() }
1805     }
GetClone(&self) -> ::windows::runtime::Result<ITextRange>1806     pub fn GetClone(&self) -> ::windows::runtime::Result<ITextRange> {
1807         let this = self;
1808         unsafe {
1809             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
1810             (::windows::runtime::Interface::vtable(this).36)(::std::mem::transmute_copy(this), &mut result__).from_abi::<ITextRange>(result__)
1811         }
1812     }
GetIndex(&self, unit: TextRangeUnit) -> ::windows::runtime::Result<i32>1813     pub fn GetIndex(&self, unit: TextRangeUnit) -> ::windows::runtime::Result<i32> {
1814         let this = self;
1815         unsafe {
1816             let mut result__: i32 = ::std::mem::zeroed();
1817             (::windows::runtime::Interface::vtable(this).37)(::std::mem::transmute_copy(this), unit, &mut result__).from_abi::<i32>(result__)
1818         }
1819     }
1820     #[cfg(feature = "Foundation")]
GetPoint(&self, horizontalalign: HorizontalCharacterAlignment, verticalalign: VerticalCharacterAlignment, options: PointOptions, point: &mut super::super::Foundation::Point) -> ::windows::runtime::Result<()>1821     pub fn GetPoint(&self, horizontalalign: HorizontalCharacterAlignment, verticalalign: VerticalCharacterAlignment, options: PointOptions, point: &mut super::super::Foundation::Point) -> ::windows::runtime::Result<()> {
1822         let this = self;
1823         unsafe { (::windows::runtime::Interface::vtable(this).38)(::std::mem::transmute_copy(this), horizontalalign, verticalalign, options, point).ok() }
1824     }
1825     #[cfg(feature = "Foundation")]
GetRect(&self, options: PointOptions, rect: &mut super::super::Foundation::Rect, hit: &mut i32) -> ::windows::runtime::Result<()>1826     pub fn GetRect(&self, options: PointOptions, rect: &mut super::super::Foundation::Rect, hit: &mut i32) -> ::windows::runtime::Result<()> {
1827         let this = self;
1828         unsafe { (::windows::runtime::Interface::vtable(this).39)(::std::mem::transmute_copy(this), options, rect, hit).ok() }
1829     }
GetText(&self, options: TextGetOptions, value: &mut ::windows::runtime::HSTRING) -> ::windows::runtime::Result<()>1830     pub fn GetText(&self, options: TextGetOptions, value: &mut ::windows::runtime::HSTRING) -> ::windows::runtime::Result<()> {
1831         let this = self;
1832         unsafe { (::windows::runtime::Interface::vtable(this).40)(::std::mem::transmute_copy(this), options, value as *mut _ as _).ok() }
1833     }
1834     #[cfg(feature = "Storage_Streams")]
GetTextViaStream<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Storage::Streams::IRandomAccessStream>>(&self, options: TextGetOptions, value: Param1) -> ::windows::runtime::Result<()>1835     pub fn GetTextViaStream<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Storage::Streams::IRandomAccessStream>>(&self, options: TextGetOptions, value: Param1) -> ::windows::runtime::Result<()> {
1836         let this = self;
1837         unsafe { (::windows::runtime::Interface::vtable(this).41)(::std::mem::transmute_copy(this), options, value.into_param().abi()).ok() }
1838     }
InRange<'a, Param0: ::windows::runtime::IntoParam<'a, ITextRange>>(&self, range: Param0) -> ::windows::runtime::Result<bool>1839     pub fn InRange<'a, Param0: ::windows::runtime::IntoParam<'a, ITextRange>>(&self, range: Param0) -> ::windows::runtime::Result<bool> {
1840         let this = self;
1841         unsafe {
1842             let mut result__: bool = ::std::mem::zeroed();
1843             (::windows::runtime::Interface::vtable(this).42)(::std::mem::transmute_copy(this), range.into_param().abi(), &mut result__).from_abi::<bool>(result__)
1844         }
1845     }
1846     #[cfg(feature = "Storage_Streams")]
InsertImage<'a, Param4: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param5: ::windows::runtime::IntoParam<'a, super::super::Storage::Streams::IRandomAccessStream>>(&self, width: i32, height: i32, ascent: i32, verticalalign: VerticalCharacterAlignment, alternatetext: Param4, value: Param5) -> ::windows::runtime::Result<()>1847     pub fn InsertImage<'a, Param4: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param5: ::windows::runtime::IntoParam<'a, super::super::Storage::Streams::IRandomAccessStream>>(&self, width: i32, height: i32, ascent: i32, verticalalign: VerticalCharacterAlignment, alternatetext: Param4, value: Param5) -> ::windows::runtime::Result<()> {
1848         let this = self;
1849         unsafe { (::windows::runtime::Interface::vtable(this).43)(::std::mem::transmute_copy(this), width, height, ascent, verticalalign, alternatetext.into_param().abi(), value.into_param().abi()).ok() }
1850     }
InStory<'a, Param0: ::windows::runtime::IntoParam<'a, ITextRange>>(&self, range: Param0) -> ::windows::runtime::Result<bool>1851     pub fn InStory<'a, Param0: ::windows::runtime::IntoParam<'a, ITextRange>>(&self, range: Param0) -> ::windows::runtime::Result<bool> {
1852         let this = self;
1853         unsafe {
1854             let mut result__: bool = ::std::mem::zeroed();
1855             (::windows::runtime::Interface::vtable(this).44)(::std::mem::transmute_copy(this), range.into_param().abi(), &mut result__).from_abi::<bool>(result__)
1856         }
1857     }
IsEqual<'a, Param0: ::windows::runtime::IntoParam<'a, ITextRange>>(&self, range: Param0) -> ::windows::runtime::Result<bool>1858     pub fn IsEqual<'a, Param0: ::windows::runtime::IntoParam<'a, ITextRange>>(&self, range: Param0) -> ::windows::runtime::Result<bool> {
1859         let this = self;
1860         unsafe {
1861             let mut result__: bool = ::std::mem::zeroed();
1862             (::windows::runtime::Interface::vtable(this).45)(::std::mem::transmute_copy(this), range.into_param().abi(), &mut result__).from_abi::<bool>(result__)
1863         }
1864     }
Move(&self, unit: TextRangeUnit, count: i32) -> ::windows::runtime::Result<i32>1865     pub fn Move(&self, unit: TextRangeUnit, count: i32) -> ::windows::runtime::Result<i32> {
1866         let this = self;
1867         unsafe {
1868             let mut result__: i32 = ::std::mem::zeroed();
1869             (::windows::runtime::Interface::vtable(this).46)(::std::mem::transmute_copy(this), unit, count, &mut result__).from_abi::<i32>(result__)
1870         }
1871     }
MoveEnd(&self, unit: TextRangeUnit, count: i32) -> ::windows::runtime::Result<i32>1872     pub fn MoveEnd(&self, unit: TextRangeUnit, count: i32) -> ::windows::runtime::Result<i32> {
1873         let this = self;
1874         unsafe {
1875             let mut result__: i32 = ::std::mem::zeroed();
1876             (::windows::runtime::Interface::vtable(this).47)(::std::mem::transmute_copy(this), unit, count, &mut result__).from_abi::<i32>(result__)
1877         }
1878     }
MoveStart(&self, unit: TextRangeUnit, count: i32) -> ::windows::runtime::Result<i32>1879     pub fn MoveStart(&self, unit: TextRangeUnit, count: i32) -> ::windows::runtime::Result<i32> {
1880         let this = self;
1881         unsafe {
1882             let mut result__: i32 = ::std::mem::zeroed();
1883             (::windows::runtime::Interface::vtable(this).48)(::std::mem::transmute_copy(this), unit, count, &mut result__).from_abi::<i32>(result__)
1884         }
1885     }
Paste(&self, format: i32) -> ::windows::runtime::Result<()>1886     pub fn Paste(&self, format: i32) -> ::windows::runtime::Result<()> {
1887         let this = self;
1888         unsafe { (::windows::runtime::Interface::vtable(this).49)(::std::mem::transmute_copy(this), format).ok() }
1889     }
ScrollIntoView(&self, value: PointOptions) -> ::windows::runtime::Result<()>1890     pub fn ScrollIntoView(&self, value: PointOptions) -> ::windows::runtime::Result<()> {
1891         let this = self;
1892         unsafe { (::windows::runtime::Interface::vtable(this).50)(::std::mem::transmute_copy(this), value).ok() }
1893     }
MatchSelection(&self) -> ::windows::runtime::Result<()>1894     pub fn MatchSelection(&self) -> ::windows::runtime::Result<()> {
1895         let this = self;
1896         unsafe { (::windows::runtime::Interface::vtable(this).51)(::std::mem::transmute_copy(this)).ok() }
1897     }
SetIndex(&self, unit: TextRangeUnit, index: i32, extend: bool) -> ::windows::runtime::Result<()>1898     pub fn SetIndex(&self, unit: TextRangeUnit, index: i32, extend: bool) -> ::windows::runtime::Result<()> {
1899         let this = self;
1900         unsafe { (::windows::runtime::Interface::vtable(this).52)(::std::mem::transmute_copy(this), unit, index, extend).ok() }
1901     }
1902     #[cfg(feature = "Foundation")]
SetPoint<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Point>>(&self, point: Param0, options: PointOptions, extend: bool) -> ::windows::runtime::Result<()>1903     pub fn SetPoint<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Point>>(&self, point: Param0, options: PointOptions, extend: bool) -> ::windows::runtime::Result<()> {
1904         let this = self;
1905         unsafe { (::windows::runtime::Interface::vtable(this).53)(::std::mem::transmute_copy(this), point.into_param().abi(), options, extend).ok() }
1906     }
SetRange(&self, startposition: i32, endposition: i32) -> ::windows::runtime::Result<()>1907     pub fn SetRange(&self, startposition: i32, endposition: i32) -> ::windows::runtime::Result<()> {
1908         let this = self;
1909         unsafe { (::windows::runtime::Interface::vtable(this).54)(::std::mem::transmute_copy(this), startposition, endposition).ok() }
1910     }
SetText2<'a, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, options: TextSetOptions, value: Param1) -> ::windows::runtime::Result<()>1911     pub fn SetText2<'a, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, options: TextSetOptions, value: Param1) -> ::windows::runtime::Result<()> {
1912         let this = self;
1913         unsafe { (::windows::runtime::Interface::vtable(this).55)(::std::mem::transmute_copy(this), options, value.into_param().abi()).ok() }
1914     }
1915     #[cfg(feature = "Storage_Streams")]
SetTextViaStream<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Storage::Streams::IRandomAccessStream>>(&self, options: TextSetOptions, value: Param1) -> ::windows::runtime::Result<()>1916     pub fn SetTextViaStream<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Storage::Streams::IRandomAccessStream>>(&self, options: TextSetOptions, value: Param1) -> ::windows::runtime::Result<()> {
1917         let this = self;
1918         unsafe { (::windows::runtime::Interface::vtable(this).56)(::std::mem::transmute_copy(this), options, value.into_param().abi()).ok() }
1919     }
StartOf(&self, unit: TextRangeUnit, extend: bool) -> ::windows::runtime::Result<i32>1920     pub fn StartOf(&self, unit: TextRangeUnit, extend: bool) -> ::windows::runtime::Result<i32> {
1921         let this = self;
1922         unsafe {
1923             let mut result__: i32 = ::std::mem::zeroed();
1924             (::windows::runtime::Interface::vtable(this).57)(::std::mem::transmute_copy(this), unit, extend, &mut result__).from_abi::<i32>(result__)
1925         }
1926     }
1927 }
1928 unsafe impl ::windows::runtime::RuntimeType for ITextRange {
1929     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"{5b9e4e57-c072-42a0-8945-af503ee54768}");
1930 }
1931 impl ::std::convert::From<ITextRange> for ::windows::runtime::IUnknown {
from(value: ITextRange) -> Self1932     fn from(value: ITextRange) -> Self {
1933         unsafe { ::std::mem::transmute(value) }
1934     }
1935 }
1936 impl ::std::convert::From<&ITextRange> for ::windows::runtime::IUnknown {
from(value: &ITextRange) -> Self1937     fn from(value: &ITextRange) -> Self {
1938         ::std::convert::From::from(::std::clone::Clone::clone(value))
1939     }
1940 }
1941 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ITextRange {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1942     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1943         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
1944     }
1945 }
1946 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ITextRange {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1947     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1948         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
1949     }
1950 }
1951 impl ::std::convert::From<ITextRange> for ::windows::runtime::IInspectable {
from(value: ITextRange) -> Self1952     fn from(value: ITextRange) -> Self {
1953         value.0
1954     }
1955 }
1956 impl ::std::convert::From<&ITextRange> for ::windows::runtime::IInspectable {
from(value: &ITextRange) -> Self1957     fn from(value: &ITextRange) -> Self {
1958         value.0.clone()
1959     }
1960 }
1961 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for ITextRange {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>1962     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
1963         ::windows::runtime::Param::Owned(self.0)
1964     }
1965 }
1966 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a ITextRange {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>1967     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
1968         ::windows::runtime::Param::Borrowed(&self.0)
1969     }
1970 }
1971 #[repr(C)]
1972 #[doc(hidden)]
1973 pub struct ITextRange_abi(
1974     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1975     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1976     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1977     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
1978     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1979     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
1980     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut u16) -> ::windows::runtime::HRESULT,
1981     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: u16) -> ::windows::runtime::HRESULT,
1982     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1983     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1984     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1985     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1986     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut i32) -> ::windows::runtime::HRESULT,
1987     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: i32) -> ::windows::runtime::HRESULT,
1988     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut RangeGravity) -> ::windows::runtime::HRESULT,
1989     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: RangeGravity) -> ::windows::runtime::HRESULT,
1990     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut i32) -> ::windows::runtime::HRESULT,
1991     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
1992     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
1993     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1994     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1995     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut i32) -> ::windows::runtime::HRESULT,
1996     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: i32) -> ::windows::runtime::HRESULT,
1997     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut i32) -> ::windows::runtime::HRESULT,
1998     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
1999     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
2000     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, format: i32, result__: *mut bool) -> ::windows::runtime::HRESULT,
2001     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: LetterCase) -> ::windows::runtime::HRESULT,
2002     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: bool) -> ::windows::runtime::HRESULT,
2003     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2004     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2005     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, unit: TextRangeUnit, count: i32, result__: *mut i32) -> ::windows::runtime::HRESULT,
2006     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, unit: TextRangeUnit, extend: bool, result__: *mut i32) -> ::windows::runtime::HRESULT,
2007     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, unit: TextRangeUnit, result__: *mut i32) -> ::windows::runtime::HRESULT,
2008     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, scanlength: i32, options: FindOptions, result__: *mut i32) -> ::windows::runtime::HRESULT,
2009     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut u32, offset: i32) -> ::windows::runtime::HRESULT,
2010     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2011     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, unit: TextRangeUnit, result__: *mut i32) -> ::windows::runtime::HRESULT,
2012     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, horizontalalign: HorizontalCharacterAlignment, verticalalign: VerticalCharacterAlignment, options: PointOptions, point: *mut super::super::Foundation::Point) -> ::windows::runtime::HRESULT,
2013     #[cfg(not(feature = "Foundation"))] usize,
2014     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, options: PointOptions, rect: *mut super::super::Foundation::Rect, hit: *mut i32) -> ::windows::runtime::HRESULT,
2015     #[cfg(not(feature = "Foundation"))] usize,
2016     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, options: TextGetOptions, value: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
2017     #[cfg(feature = "Storage_Streams")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, options: TextGetOptions, value: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2018     #[cfg(not(feature = "Storage_Streams"))] usize,
2019     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, range: ::windows::runtime::RawPtr, result__: *mut bool) -> ::windows::runtime::HRESULT,
2020     #[cfg(feature = "Storage_Streams")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, width: i32, height: i32, ascent: i32, verticalalign: VerticalCharacterAlignment, alternatetext: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, value: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2021     #[cfg(not(feature = "Storage_Streams"))] usize,
2022     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, range: ::windows::runtime::RawPtr, result__: *mut bool) -> ::windows::runtime::HRESULT,
2023     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, range: ::windows::runtime::RawPtr, result__: *mut bool) -> ::windows::runtime::HRESULT,
2024     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, unit: TextRangeUnit, count: i32, result__: *mut i32) -> ::windows::runtime::HRESULT,
2025     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, unit: TextRangeUnit, count: i32, result__: *mut i32) -> ::windows::runtime::HRESULT,
2026     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, unit: TextRangeUnit, count: i32, result__: *mut i32) -> ::windows::runtime::HRESULT,
2027     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, format: i32) -> ::windows::runtime::HRESULT,
2028     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: PointOptions) -> ::windows::runtime::HRESULT,
2029     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2030     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, unit: TextRangeUnit, index: i32, extend: bool) -> ::windows::runtime::HRESULT,
2031     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, point: super::super::Foundation::Point, options: PointOptions, extend: bool) -> ::windows::runtime::HRESULT,
2032     #[cfg(not(feature = "Foundation"))] usize,
2033     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, startposition: i32, endposition: i32) -> ::windows::runtime::HRESULT,
2034     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, options: TextSetOptions, value: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
2035     #[cfg(feature = "Storage_Streams")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, options: TextSetOptions, value: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2036     #[cfg(not(feature = "Storage_Streams"))] usize,
2037     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, unit: TextRangeUnit, extend: bool, result__: *mut i32) -> ::windows::runtime::HRESULT,
2038 );
2039 #[repr(transparent)]
2040 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2041 pub struct ITextSelection(::windows::runtime::IInspectable);
2042 unsafe impl ::windows::runtime::Interface for ITextSelection {
2043     type Vtable = ITextSelection_abi;
2044     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2798872356, 62095, 17162, [178, 207, 195, 67, 103, 30, 192, 233]);
2045 }
2046 impl ITextSelection {
Options(&self) -> ::windows::runtime::Result<SelectionOptions>2047     pub fn Options(&self) -> ::windows::runtime::Result<SelectionOptions> {
2048         let this = self;
2049         unsafe {
2050             let mut result__: SelectionOptions = ::std::mem::zeroed();
2051             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<SelectionOptions>(result__)
2052         }
2053     }
SetOptions(&self, value: SelectionOptions) -> ::windows::runtime::Result<()>2054     pub fn SetOptions(&self, value: SelectionOptions) -> ::windows::runtime::Result<()> {
2055         let this = self;
2056         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value).ok() }
2057     }
Type(&self) -> ::windows::runtime::Result<SelectionType>2058     pub fn Type(&self) -> ::windows::runtime::Result<SelectionType> {
2059         let this = self;
2060         unsafe {
2061             let mut result__: SelectionType = ::std::mem::zeroed();
2062             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<SelectionType>(result__)
2063         }
2064     }
EndKey(&self, unit: TextRangeUnit, extend: bool) -> ::windows::runtime::Result<i32>2065     pub fn EndKey(&self, unit: TextRangeUnit, extend: bool) -> ::windows::runtime::Result<i32> {
2066         let this = self;
2067         unsafe {
2068             let mut result__: i32 = ::std::mem::zeroed();
2069             (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), unit, extend, &mut result__).from_abi::<i32>(result__)
2070         }
2071     }
HomeKey(&self, unit: TextRangeUnit, extend: bool) -> ::windows::runtime::Result<i32>2072     pub fn HomeKey(&self, unit: TextRangeUnit, extend: bool) -> ::windows::runtime::Result<i32> {
2073         let this = self;
2074         unsafe {
2075             let mut result__: i32 = ::std::mem::zeroed();
2076             (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), unit, extend, &mut result__).from_abi::<i32>(result__)
2077         }
2078     }
MoveDown(&self, unit: TextRangeUnit, count: i32, extend: bool) -> ::windows::runtime::Result<i32>2079     pub fn MoveDown(&self, unit: TextRangeUnit, count: i32, extend: bool) -> ::windows::runtime::Result<i32> {
2080         let this = self;
2081         unsafe {
2082             let mut result__: i32 = ::std::mem::zeroed();
2083             (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), unit, count, extend, &mut result__).from_abi::<i32>(result__)
2084         }
2085     }
MoveLeft(&self, unit: TextRangeUnit, count: i32, extend: bool) -> ::windows::runtime::Result<i32>2086     pub fn MoveLeft(&self, unit: TextRangeUnit, count: i32, extend: bool) -> ::windows::runtime::Result<i32> {
2087         let this = self;
2088         unsafe {
2089             let mut result__: i32 = ::std::mem::zeroed();
2090             (::windows::runtime::Interface::vtable(this).12)(::std::mem::transmute_copy(this), unit, count, extend, &mut result__).from_abi::<i32>(result__)
2091         }
2092     }
MoveRight(&self, unit: TextRangeUnit, count: i32, extend: bool) -> ::windows::runtime::Result<i32>2093     pub fn MoveRight(&self, unit: TextRangeUnit, count: i32, extend: bool) -> ::windows::runtime::Result<i32> {
2094         let this = self;
2095         unsafe {
2096             let mut result__: i32 = ::std::mem::zeroed();
2097             (::windows::runtime::Interface::vtable(this).13)(::std::mem::transmute_copy(this), unit, count, extend, &mut result__).from_abi::<i32>(result__)
2098         }
2099     }
MoveUp(&self, unit: TextRangeUnit, count: i32, extend: bool) -> ::windows::runtime::Result<i32>2100     pub fn MoveUp(&self, unit: TextRangeUnit, count: i32, extend: bool) -> ::windows::runtime::Result<i32> {
2101         let this = self;
2102         unsafe {
2103             let mut result__: i32 = ::std::mem::zeroed();
2104             (::windows::runtime::Interface::vtable(this).14)(::std::mem::transmute_copy(this), unit, count, extend, &mut result__).from_abi::<i32>(result__)
2105         }
2106     }
TypeText<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()>2107     pub fn TypeText<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
2108         let this = self;
2109         unsafe { (::windows::runtime::Interface::vtable(this).15)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
2110     }
Character(&self) -> ::windows::runtime::Result<u16>2111     pub fn Character(&self) -> ::windows::runtime::Result<u16> {
2112         let this = &::windows::runtime::Interface::cast::<ITextRange>(self)?;
2113         unsafe {
2114             let mut result__: u16 = ::std::mem::zeroed();
2115             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<u16>(result__)
2116         }
2117     }
SetCharacter(&self, value: u16) -> ::windows::runtime::Result<()>2118     pub fn SetCharacter(&self, value: u16) -> ::windows::runtime::Result<()> {
2119         let this = &::windows::runtime::Interface::cast::<ITextRange>(self)?;
2120         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value).ok() }
2121     }
CharacterFormat(&self) -> ::windows::runtime::Result<ITextCharacterFormat>2122     pub fn CharacterFormat(&self) -> ::windows::runtime::Result<ITextCharacterFormat> {
2123         let this = &::windows::runtime::Interface::cast::<ITextRange>(self)?;
2124         unsafe {
2125             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
2126             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<ITextCharacterFormat>(result__)
2127         }
2128     }
SetCharacterFormat<'a, Param0: ::windows::runtime::IntoParam<'a, ITextCharacterFormat>>(&self, value: Param0) -> ::windows::runtime::Result<()>2129     pub fn SetCharacterFormat<'a, Param0: ::windows::runtime::IntoParam<'a, ITextCharacterFormat>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
2130         let this = &::windows::runtime::Interface::cast::<ITextRange>(self)?;
2131         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
2132     }
FormattedText(&self) -> ::windows::runtime::Result<ITextRange>2133     pub fn FormattedText(&self) -> ::windows::runtime::Result<ITextRange> {
2134         let this = &::windows::runtime::Interface::cast::<ITextRange>(self)?;
2135         unsafe {
2136             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
2137             (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), &mut result__).from_abi::<ITextRange>(result__)
2138         }
2139     }
SetFormattedText<'a, Param0: ::windows::runtime::IntoParam<'a, ITextRange>>(&self, value: Param0) -> ::windows::runtime::Result<()>2140     pub fn SetFormattedText<'a, Param0: ::windows::runtime::IntoParam<'a, ITextRange>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
2141         let this = &::windows::runtime::Interface::cast::<ITextRange>(self)?;
2142         unsafe { (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
2143     }
EndPosition(&self) -> ::windows::runtime::Result<i32>2144     pub fn EndPosition(&self) -> ::windows::runtime::Result<i32> {
2145         let this = &::windows::runtime::Interface::cast::<ITextRange>(self)?;
2146         unsafe {
2147             let mut result__: i32 = ::std::mem::zeroed();
2148             (::windows::runtime::Interface::vtable(this).12)(::std::mem::transmute_copy(this), &mut result__).from_abi::<i32>(result__)
2149         }
2150     }
SetEndPosition(&self, value: i32) -> ::windows::runtime::Result<()>2151     pub fn SetEndPosition(&self, value: i32) -> ::windows::runtime::Result<()> {
2152         let this = &::windows::runtime::Interface::cast::<ITextRange>(self)?;
2153         unsafe { (::windows::runtime::Interface::vtable(this).13)(::std::mem::transmute_copy(this), value).ok() }
2154     }
Gravity(&self) -> ::windows::runtime::Result<RangeGravity>2155     pub fn Gravity(&self) -> ::windows::runtime::Result<RangeGravity> {
2156         let this = &::windows::runtime::Interface::cast::<ITextRange>(self)?;
2157         unsafe {
2158             let mut result__: RangeGravity = ::std::mem::zeroed();
2159             (::windows::runtime::Interface::vtable(this).14)(::std::mem::transmute_copy(this), &mut result__).from_abi::<RangeGravity>(result__)
2160         }
2161     }
SetGravity(&self, value: RangeGravity) -> ::windows::runtime::Result<()>2162     pub fn SetGravity(&self, value: RangeGravity) -> ::windows::runtime::Result<()> {
2163         let this = &::windows::runtime::Interface::cast::<ITextRange>(self)?;
2164         unsafe { (::windows::runtime::Interface::vtable(this).15)(::std::mem::transmute_copy(this), value).ok() }
2165     }
Length(&self) -> ::windows::runtime::Result<i32>2166     pub fn Length(&self) -> ::windows::runtime::Result<i32> {
2167         let this = &::windows::runtime::Interface::cast::<ITextRange>(self)?;
2168         unsafe {
2169             let mut result__: i32 = ::std::mem::zeroed();
2170             (::windows::runtime::Interface::vtable(this).16)(::std::mem::transmute_copy(this), &mut result__).from_abi::<i32>(result__)
2171         }
2172     }
Link(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>2173     pub fn Link(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
2174         let this = &::windows::runtime::Interface::cast::<ITextRange>(self)?;
2175         unsafe {
2176             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
2177             (::windows::runtime::Interface::vtable(this).17)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
2178         }
2179     }
SetLink<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()>2180     pub fn SetLink<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
2181         let this = &::windows::runtime::Interface::cast::<ITextRange>(self)?;
2182         unsafe { (::windows::runtime::Interface::vtable(this).18)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
2183     }
ParagraphFormat(&self) -> ::windows::runtime::Result<ITextParagraphFormat>2184     pub fn ParagraphFormat(&self) -> ::windows::runtime::Result<ITextParagraphFormat> {
2185         let this = &::windows::runtime::Interface::cast::<ITextRange>(self)?;
2186         unsafe {
2187             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
2188             (::windows::runtime::Interface::vtable(this).19)(::std::mem::transmute_copy(this), &mut result__).from_abi::<ITextParagraphFormat>(result__)
2189         }
2190     }
SetParagraphFormat<'a, Param0: ::windows::runtime::IntoParam<'a, ITextParagraphFormat>>(&self, value: Param0) -> ::windows::runtime::Result<()>2191     pub fn SetParagraphFormat<'a, Param0: ::windows::runtime::IntoParam<'a, ITextParagraphFormat>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
2192         let this = &::windows::runtime::Interface::cast::<ITextRange>(self)?;
2193         unsafe { (::windows::runtime::Interface::vtable(this).20)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
2194     }
StartPosition(&self) -> ::windows::runtime::Result<i32>2195     pub fn StartPosition(&self) -> ::windows::runtime::Result<i32> {
2196         let this = &::windows::runtime::Interface::cast::<ITextRange>(self)?;
2197         unsafe {
2198             let mut result__: i32 = ::std::mem::zeroed();
2199             (::windows::runtime::Interface::vtable(this).21)(::std::mem::transmute_copy(this), &mut result__).from_abi::<i32>(result__)
2200         }
2201     }
SetStartPosition(&self, value: i32) -> ::windows::runtime::Result<()>2202     pub fn SetStartPosition(&self, value: i32) -> ::windows::runtime::Result<()> {
2203         let this = &::windows::runtime::Interface::cast::<ITextRange>(self)?;
2204         unsafe { (::windows::runtime::Interface::vtable(this).22)(::std::mem::transmute_copy(this), value).ok() }
2205     }
StoryLength(&self) -> ::windows::runtime::Result<i32>2206     pub fn StoryLength(&self) -> ::windows::runtime::Result<i32> {
2207         let this = &::windows::runtime::Interface::cast::<ITextRange>(self)?;
2208         unsafe {
2209             let mut result__: i32 = ::std::mem::zeroed();
2210             (::windows::runtime::Interface::vtable(this).23)(::std::mem::transmute_copy(this), &mut result__).from_abi::<i32>(result__)
2211         }
2212     }
Text(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>2213     pub fn Text(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
2214         let this = &::windows::runtime::Interface::cast::<ITextRange>(self)?;
2215         unsafe {
2216             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
2217             (::windows::runtime::Interface::vtable(this).24)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
2218         }
2219     }
SetText<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()>2220     pub fn SetText<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
2221         let this = &::windows::runtime::Interface::cast::<ITextRange>(self)?;
2222         unsafe { (::windows::runtime::Interface::vtable(this).25)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
2223     }
CanPaste(&self, format: i32) -> ::windows::runtime::Result<bool>2224     pub fn CanPaste(&self, format: i32) -> ::windows::runtime::Result<bool> {
2225         let this = &::windows::runtime::Interface::cast::<ITextRange>(self)?;
2226         unsafe {
2227             let mut result__: bool = ::std::mem::zeroed();
2228             (::windows::runtime::Interface::vtable(this).26)(::std::mem::transmute_copy(this), format, &mut result__).from_abi::<bool>(result__)
2229         }
2230     }
ChangeCase(&self, value: LetterCase) -> ::windows::runtime::Result<()>2231     pub fn ChangeCase(&self, value: LetterCase) -> ::windows::runtime::Result<()> {
2232         let this = &::windows::runtime::Interface::cast::<ITextRange>(self)?;
2233         unsafe { (::windows::runtime::Interface::vtable(this).27)(::std::mem::transmute_copy(this), value).ok() }
2234     }
Collapse(&self, value: bool) -> ::windows::runtime::Result<()>2235     pub fn Collapse(&self, value: bool) -> ::windows::runtime::Result<()> {
2236         let this = &::windows::runtime::Interface::cast::<ITextRange>(self)?;
2237         unsafe { (::windows::runtime::Interface::vtable(this).28)(::std::mem::transmute_copy(this), value).ok() }
2238     }
Copy(&self) -> ::windows::runtime::Result<()>2239     pub fn Copy(&self) -> ::windows::runtime::Result<()> {
2240         let this = &::windows::runtime::Interface::cast::<ITextRange>(self)?;
2241         unsafe { (::windows::runtime::Interface::vtable(this).29)(::std::mem::transmute_copy(this)).ok() }
2242     }
Cut(&self) -> ::windows::runtime::Result<()>2243     pub fn Cut(&self) -> ::windows::runtime::Result<()> {
2244         let this = &::windows::runtime::Interface::cast::<ITextRange>(self)?;
2245         unsafe { (::windows::runtime::Interface::vtable(this).30)(::std::mem::transmute_copy(this)).ok() }
2246     }
Delete(&self, unit: TextRangeUnit, count: i32) -> ::windows::runtime::Result<i32>2247     pub fn Delete(&self, unit: TextRangeUnit, count: i32) -> ::windows::runtime::Result<i32> {
2248         let this = &::windows::runtime::Interface::cast::<ITextRange>(self)?;
2249         unsafe {
2250             let mut result__: i32 = ::std::mem::zeroed();
2251             (::windows::runtime::Interface::vtable(this).31)(::std::mem::transmute_copy(this), unit, count, &mut result__).from_abi::<i32>(result__)
2252         }
2253     }
EndOf(&self, unit: TextRangeUnit, extend: bool) -> ::windows::runtime::Result<i32>2254     pub fn EndOf(&self, unit: TextRangeUnit, extend: bool) -> ::windows::runtime::Result<i32> {
2255         let this = &::windows::runtime::Interface::cast::<ITextRange>(self)?;
2256         unsafe {
2257             let mut result__: i32 = ::std::mem::zeroed();
2258             (::windows::runtime::Interface::vtable(this).32)(::std::mem::transmute_copy(this), unit, extend, &mut result__).from_abi::<i32>(result__)
2259         }
2260     }
Expand(&self, unit: TextRangeUnit) -> ::windows::runtime::Result<i32>2261     pub fn Expand(&self, unit: TextRangeUnit) -> ::windows::runtime::Result<i32> {
2262         let this = &::windows::runtime::Interface::cast::<ITextRange>(self)?;
2263         unsafe {
2264             let mut result__: i32 = ::std::mem::zeroed();
2265             (::windows::runtime::Interface::vtable(this).33)(::std::mem::transmute_copy(this), unit, &mut result__).from_abi::<i32>(result__)
2266         }
2267     }
FindText<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0, scanlength: i32, options: FindOptions) -> ::windows::runtime::Result<i32>2268     pub fn FindText<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0, scanlength: i32, options: FindOptions) -> ::windows::runtime::Result<i32> {
2269         let this = &::windows::runtime::Interface::cast::<ITextRange>(self)?;
2270         unsafe {
2271             let mut result__: i32 = ::std::mem::zeroed();
2272             (::windows::runtime::Interface::vtable(this).34)(::std::mem::transmute_copy(this), value.into_param().abi(), scanlength, options, &mut result__).from_abi::<i32>(result__)
2273         }
2274     }
GetCharacterUtf32(&self, value: &mut u32, offset: i32) -> ::windows::runtime::Result<()>2275     pub fn GetCharacterUtf32(&self, value: &mut u32, offset: i32) -> ::windows::runtime::Result<()> {
2276         let this = &::windows::runtime::Interface::cast::<ITextRange>(self)?;
2277         unsafe { (::windows::runtime::Interface::vtable(this).35)(::std::mem::transmute_copy(this), value, offset).ok() }
2278     }
GetClone(&self) -> ::windows::runtime::Result<ITextRange>2279     pub fn GetClone(&self) -> ::windows::runtime::Result<ITextRange> {
2280         let this = &::windows::runtime::Interface::cast::<ITextRange>(self)?;
2281         unsafe {
2282             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
2283             (::windows::runtime::Interface::vtable(this).36)(::std::mem::transmute_copy(this), &mut result__).from_abi::<ITextRange>(result__)
2284         }
2285     }
GetIndex(&self, unit: TextRangeUnit) -> ::windows::runtime::Result<i32>2286     pub fn GetIndex(&self, unit: TextRangeUnit) -> ::windows::runtime::Result<i32> {
2287         let this = &::windows::runtime::Interface::cast::<ITextRange>(self)?;
2288         unsafe {
2289             let mut result__: i32 = ::std::mem::zeroed();
2290             (::windows::runtime::Interface::vtable(this).37)(::std::mem::transmute_copy(this), unit, &mut result__).from_abi::<i32>(result__)
2291         }
2292     }
2293     #[cfg(feature = "Foundation")]
GetPoint(&self, horizontalalign: HorizontalCharacterAlignment, verticalalign: VerticalCharacterAlignment, options: PointOptions, point: &mut super::super::Foundation::Point) -> ::windows::runtime::Result<()>2294     pub fn GetPoint(&self, horizontalalign: HorizontalCharacterAlignment, verticalalign: VerticalCharacterAlignment, options: PointOptions, point: &mut super::super::Foundation::Point) -> ::windows::runtime::Result<()> {
2295         let this = &::windows::runtime::Interface::cast::<ITextRange>(self)?;
2296         unsafe { (::windows::runtime::Interface::vtable(this).38)(::std::mem::transmute_copy(this), horizontalalign, verticalalign, options, point).ok() }
2297     }
2298     #[cfg(feature = "Foundation")]
GetRect(&self, options: PointOptions, rect: &mut super::super::Foundation::Rect, hit: &mut i32) -> ::windows::runtime::Result<()>2299     pub fn GetRect(&self, options: PointOptions, rect: &mut super::super::Foundation::Rect, hit: &mut i32) -> ::windows::runtime::Result<()> {
2300         let this = &::windows::runtime::Interface::cast::<ITextRange>(self)?;
2301         unsafe { (::windows::runtime::Interface::vtable(this).39)(::std::mem::transmute_copy(this), options, rect, hit).ok() }
2302     }
GetText(&self, options: TextGetOptions, value: &mut ::windows::runtime::HSTRING) -> ::windows::runtime::Result<()>2303     pub fn GetText(&self, options: TextGetOptions, value: &mut ::windows::runtime::HSTRING) -> ::windows::runtime::Result<()> {
2304         let this = &::windows::runtime::Interface::cast::<ITextRange>(self)?;
2305         unsafe { (::windows::runtime::Interface::vtable(this).40)(::std::mem::transmute_copy(this), options, value as *mut _ as _).ok() }
2306     }
2307     #[cfg(feature = "Storage_Streams")]
GetTextViaStream<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Storage::Streams::IRandomAccessStream>>(&self, options: TextGetOptions, value: Param1) -> ::windows::runtime::Result<()>2308     pub fn GetTextViaStream<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Storage::Streams::IRandomAccessStream>>(&self, options: TextGetOptions, value: Param1) -> ::windows::runtime::Result<()> {
2309         let this = &::windows::runtime::Interface::cast::<ITextRange>(self)?;
2310         unsafe { (::windows::runtime::Interface::vtable(this).41)(::std::mem::transmute_copy(this), options, value.into_param().abi()).ok() }
2311     }
InRange<'a, Param0: ::windows::runtime::IntoParam<'a, ITextRange>>(&self, range: Param0) -> ::windows::runtime::Result<bool>2312     pub fn InRange<'a, Param0: ::windows::runtime::IntoParam<'a, ITextRange>>(&self, range: Param0) -> ::windows::runtime::Result<bool> {
2313         let this = &::windows::runtime::Interface::cast::<ITextRange>(self)?;
2314         unsafe {
2315             let mut result__: bool = ::std::mem::zeroed();
2316             (::windows::runtime::Interface::vtable(this).42)(::std::mem::transmute_copy(this), range.into_param().abi(), &mut result__).from_abi::<bool>(result__)
2317         }
2318     }
2319     #[cfg(feature = "Storage_Streams")]
InsertImage<'a, Param4: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param5: ::windows::runtime::IntoParam<'a, super::super::Storage::Streams::IRandomAccessStream>>(&self, width: i32, height: i32, ascent: i32, verticalalign: VerticalCharacterAlignment, alternatetext: Param4, value: Param5) -> ::windows::runtime::Result<()>2320     pub fn InsertImage<'a, Param4: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param5: ::windows::runtime::IntoParam<'a, super::super::Storage::Streams::IRandomAccessStream>>(&self, width: i32, height: i32, ascent: i32, verticalalign: VerticalCharacterAlignment, alternatetext: Param4, value: Param5) -> ::windows::runtime::Result<()> {
2321         let this = &::windows::runtime::Interface::cast::<ITextRange>(self)?;
2322         unsafe { (::windows::runtime::Interface::vtable(this).43)(::std::mem::transmute_copy(this), width, height, ascent, verticalalign, alternatetext.into_param().abi(), value.into_param().abi()).ok() }
2323     }
InStory<'a, Param0: ::windows::runtime::IntoParam<'a, ITextRange>>(&self, range: Param0) -> ::windows::runtime::Result<bool>2324     pub fn InStory<'a, Param0: ::windows::runtime::IntoParam<'a, ITextRange>>(&self, range: Param0) -> ::windows::runtime::Result<bool> {
2325         let this = &::windows::runtime::Interface::cast::<ITextRange>(self)?;
2326         unsafe {
2327             let mut result__: bool = ::std::mem::zeroed();
2328             (::windows::runtime::Interface::vtable(this).44)(::std::mem::transmute_copy(this), range.into_param().abi(), &mut result__).from_abi::<bool>(result__)
2329         }
2330     }
IsEqual<'a, Param0: ::windows::runtime::IntoParam<'a, ITextRange>>(&self, range: Param0) -> ::windows::runtime::Result<bool>2331     pub fn IsEqual<'a, Param0: ::windows::runtime::IntoParam<'a, ITextRange>>(&self, range: Param0) -> ::windows::runtime::Result<bool> {
2332         let this = &::windows::runtime::Interface::cast::<ITextRange>(self)?;
2333         unsafe {
2334             let mut result__: bool = ::std::mem::zeroed();
2335             (::windows::runtime::Interface::vtable(this).45)(::std::mem::transmute_copy(this), range.into_param().abi(), &mut result__).from_abi::<bool>(result__)
2336         }
2337     }
Move(&self, unit: TextRangeUnit, count: i32) -> ::windows::runtime::Result<i32>2338     pub fn Move(&self, unit: TextRangeUnit, count: i32) -> ::windows::runtime::Result<i32> {
2339         let this = &::windows::runtime::Interface::cast::<ITextRange>(self)?;
2340         unsafe {
2341             let mut result__: i32 = ::std::mem::zeroed();
2342             (::windows::runtime::Interface::vtable(this).46)(::std::mem::transmute_copy(this), unit, count, &mut result__).from_abi::<i32>(result__)
2343         }
2344     }
MoveEnd(&self, unit: TextRangeUnit, count: i32) -> ::windows::runtime::Result<i32>2345     pub fn MoveEnd(&self, unit: TextRangeUnit, count: i32) -> ::windows::runtime::Result<i32> {
2346         let this = &::windows::runtime::Interface::cast::<ITextRange>(self)?;
2347         unsafe {
2348             let mut result__: i32 = ::std::mem::zeroed();
2349             (::windows::runtime::Interface::vtable(this).47)(::std::mem::transmute_copy(this), unit, count, &mut result__).from_abi::<i32>(result__)
2350         }
2351     }
MoveStart(&self, unit: TextRangeUnit, count: i32) -> ::windows::runtime::Result<i32>2352     pub fn MoveStart(&self, unit: TextRangeUnit, count: i32) -> ::windows::runtime::Result<i32> {
2353         let this = &::windows::runtime::Interface::cast::<ITextRange>(self)?;
2354         unsafe {
2355             let mut result__: i32 = ::std::mem::zeroed();
2356             (::windows::runtime::Interface::vtable(this).48)(::std::mem::transmute_copy(this), unit, count, &mut result__).from_abi::<i32>(result__)
2357         }
2358     }
Paste(&self, format: i32) -> ::windows::runtime::Result<()>2359     pub fn Paste(&self, format: i32) -> ::windows::runtime::Result<()> {
2360         let this = &::windows::runtime::Interface::cast::<ITextRange>(self)?;
2361         unsafe { (::windows::runtime::Interface::vtable(this).49)(::std::mem::transmute_copy(this), format).ok() }
2362     }
ScrollIntoView(&self, value: PointOptions) -> ::windows::runtime::Result<()>2363     pub fn ScrollIntoView(&self, value: PointOptions) -> ::windows::runtime::Result<()> {
2364         let this = &::windows::runtime::Interface::cast::<ITextRange>(self)?;
2365         unsafe { (::windows::runtime::Interface::vtable(this).50)(::std::mem::transmute_copy(this), value).ok() }
2366     }
MatchSelection(&self) -> ::windows::runtime::Result<()>2367     pub fn MatchSelection(&self) -> ::windows::runtime::Result<()> {
2368         let this = &::windows::runtime::Interface::cast::<ITextRange>(self)?;
2369         unsafe { (::windows::runtime::Interface::vtable(this).51)(::std::mem::transmute_copy(this)).ok() }
2370     }
SetIndex(&self, unit: TextRangeUnit, index: i32, extend: bool) -> ::windows::runtime::Result<()>2371     pub fn SetIndex(&self, unit: TextRangeUnit, index: i32, extend: bool) -> ::windows::runtime::Result<()> {
2372         let this = &::windows::runtime::Interface::cast::<ITextRange>(self)?;
2373         unsafe { (::windows::runtime::Interface::vtable(this).52)(::std::mem::transmute_copy(this), unit, index, extend).ok() }
2374     }
2375     #[cfg(feature = "Foundation")]
SetPoint<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Point>>(&self, point: Param0, options: PointOptions, extend: bool) -> ::windows::runtime::Result<()>2376     pub fn SetPoint<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Point>>(&self, point: Param0, options: PointOptions, extend: bool) -> ::windows::runtime::Result<()> {
2377         let this = &::windows::runtime::Interface::cast::<ITextRange>(self)?;
2378         unsafe { (::windows::runtime::Interface::vtable(this).53)(::std::mem::transmute_copy(this), point.into_param().abi(), options, extend).ok() }
2379     }
SetRange(&self, startposition: i32, endposition: i32) -> ::windows::runtime::Result<()>2380     pub fn SetRange(&self, startposition: i32, endposition: i32) -> ::windows::runtime::Result<()> {
2381         let this = &::windows::runtime::Interface::cast::<ITextRange>(self)?;
2382         unsafe { (::windows::runtime::Interface::vtable(this).54)(::std::mem::transmute_copy(this), startposition, endposition).ok() }
2383     }
SetText2<'a, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, options: TextSetOptions, value: Param1) -> ::windows::runtime::Result<()>2384     pub fn SetText2<'a, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, options: TextSetOptions, value: Param1) -> ::windows::runtime::Result<()> {
2385         let this = &::windows::runtime::Interface::cast::<ITextRange>(self)?;
2386         unsafe { (::windows::runtime::Interface::vtable(this).55)(::std::mem::transmute_copy(this), options, value.into_param().abi()).ok() }
2387     }
2388     #[cfg(feature = "Storage_Streams")]
SetTextViaStream<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Storage::Streams::IRandomAccessStream>>(&self, options: TextSetOptions, value: Param1) -> ::windows::runtime::Result<()>2389     pub fn SetTextViaStream<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Storage::Streams::IRandomAccessStream>>(&self, options: TextSetOptions, value: Param1) -> ::windows::runtime::Result<()> {
2390         let this = &::windows::runtime::Interface::cast::<ITextRange>(self)?;
2391         unsafe { (::windows::runtime::Interface::vtable(this).56)(::std::mem::transmute_copy(this), options, value.into_param().abi()).ok() }
2392     }
StartOf(&self, unit: TextRangeUnit, extend: bool) -> ::windows::runtime::Result<i32>2393     pub fn StartOf(&self, unit: TextRangeUnit, extend: bool) -> ::windows::runtime::Result<i32> {
2394         let this = &::windows::runtime::Interface::cast::<ITextRange>(self)?;
2395         unsafe {
2396             let mut result__: i32 = ::std::mem::zeroed();
2397             (::windows::runtime::Interface::vtable(this).57)(::std::mem::transmute_copy(this), unit, extend, &mut result__).from_abi::<i32>(result__)
2398         }
2399     }
2400 }
2401 unsafe impl ::windows::runtime::RuntimeType for ITextSelection {
2402     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"{a6d36724-f28f-430a-b2cf-c343671ec0e9}");
2403 }
2404 impl ::std::convert::From<ITextSelection> for ::windows::runtime::IUnknown {
from(value: ITextSelection) -> Self2405     fn from(value: ITextSelection) -> Self {
2406         unsafe { ::std::mem::transmute(value) }
2407     }
2408 }
2409 impl ::std::convert::From<&ITextSelection> for ::windows::runtime::IUnknown {
from(value: &ITextSelection) -> Self2410     fn from(value: &ITextSelection) -> Self {
2411         ::std::convert::From::from(::std::clone::Clone::clone(value))
2412     }
2413 }
2414 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ITextSelection {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>2415     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2416         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
2417     }
2418 }
2419 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ITextSelection {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>2420     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2421         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
2422     }
2423 }
2424 impl ::std::convert::From<ITextSelection> for ::windows::runtime::IInspectable {
from(value: ITextSelection) -> Self2425     fn from(value: ITextSelection) -> Self {
2426         value.0
2427     }
2428 }
2429 impl ::std::convert::From<&ITextSelection> for ::windows::runtime::IInspectable {
from(value: &ITextSelection) -> Self2430     fn from(value: &ITextSelection) -> Self {
2431         value.0.clone()
2432     }
2433 }
2434 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for ITextSelection {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>2435     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
2436         ::windows::runtime::Param::Owned(self.0)
2437     }
2438 }
2439 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a ITextSelection {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>2440     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
2441         ::windows::runtime::Param::Borrowed(&self.0)
2442     }
2443 }
2444 impl ::std::convert::TryFrom<ITextSelection> for ITextRange {
2445     type Error = ::windows::runtime::Error;
try_from(value: ITextSelection) -> ::windows::runtime::Result<Self>2446     fn try_from(value: ITextSelection) -> ::windows::runtime::Result<Self> {
2447         ::std::convert::TryFrom::try_from(&value)
2448     }
2449 }
2450 impl ::std::convert::TryFrom<&ITextSelection> for ITextRange {
2451     type Error = ::windows::runtime::Error;
try_from(value: &ITextSelection) -> ::windows::runtime::Result<Self>2452     fn try_from(value: &ITextSelection) -> ::windows::runtime::Result<Self> {
2453         ::windows::runtime::Interface::cast(value)
2454     }
2455 }
2456 impl<'a> ::windows::runtime::IntoParam<'a, ITextRange> for ITextSelection {
into_param(self) -> ::windows::runtime::Param<'a, ITextRange>2457     fn into_param(self) -> ::windows::runtime::Param<'a, ITextRange> {
2458         ::windows::runtime::IntoParam::into_param(&self)
2459     }
2460 }
2461 impl<'a> ::windows::runtime::IntoParam<'a, ITextRange> for &ITextSelection {
into_param(self) -> ::windows::runtime::Param<'a, ITextRange>2462     fn into_param(self) -> ::windows::runtime::Param<'a, ITextRange> {
2463         ::std::convert::TryInto::<ITextRange>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
2464     }
2465 }
2466 #[repr(C)]
2467 #[doc(hidden)]
2468 pub struct ITextSelection_abi(
2469     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2470     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2471     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2472     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
2473     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2474     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
2475     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut SelectionOptions) -> ::windows::runtime::HRESULT,
2476     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: SelectionOptions) -> ::windows::runtime::HRESULT,
2477     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut SelectionType) -> ::windows::runtime::HRESULT,
2478     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, unit: TextRangeUnit, extend: bool, result__: *mut i32) -> ::windows::runtime::HRESULT,
2479     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, unit: TextRangeUnit, extend: bool, result__: *mut i32) -> ::windows::runtime::HRESULT,
2480     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, unit: TextRangeUnit, count: i32, extend: bool, result__: *mut i32) -> ::windows::runtime::HRESULT,
2481     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, unit: TextRangeUnit, count: i32, extend: bool, result__: *mut i32) -> ::windows::runtime::HRESULT,
2482     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, unit: TextRangeUnit, count: i32, extend: bool, result__: *mut i32) -> ::windows::runtime::HRESULT,
2483     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, unit: TextRangeUnit, count: i32, extend: bool, result__: *mut i32) -> ::windows::runtime::HRESULT,
2484     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
2485 );
2486 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
2487 #[repr(transparent)]
2488 pub struct LetterCase(pub i32);
2489 impl LetterCase {
2490     pub const Lower: LetterCase = LetterCase(0i32);
2491     pub const Upper: LetterCase = LetterCase(1i32);
2492 }
2493 impl ::std::convert::From<i32> for LetterCase {
from(value: i32) -> Self2494     fn from(value: i32) -> Self {
2495         Self(value)
2496     }
2497 }
2498 unsafe impl ::windows::runtime::Abi for LetterCase {
2499     type Abi = Self;
2500     type DefaultType = Self;
2501 }
2502 unsafe impl ::windows::runtime::RuntimeType for LetterCase {
2503     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"enum(Windows.UI.Text.LetterCase;i4)");
2504 }
2505 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
2506 #[repr(transparent)]
2507 pub struct LineSpacingRule(pub i32);
2508 impl LineSpacingRule {
2509     pub const Undefined: LineSpacingRule = LineSpacingRule(0i32);
2510     pub const Single: LineSpacingRule = LineSpacingRule(1i32);
2511     pub const OneAndHalf: LineSpacingRule = LineSpacingRule(2i32);
2512     pub const Double: LineSpacingRule = LineSpacingRule(3i32);
2513     pub const AtLeast: LineSpacingRule = LineSpacingRule(4i32);
2514     pub const Exactly: LineSpacingRule = LineSpacingRule(5i32);
2515     pub const Multiple: LineSpacingRule = LineSpacingRule(6i32);
2516     pub const Percent: LineSpacingRule = LineSpacingRule(7i32);
2517 }
2518 impl ::std::convert::From<i32> for LineSpacingRule {
from(value: i32) -> Self2519     fn from(value: i32) -> Self {
2520         Self(value)
2521     }
2522 }
2523 unsafe impl ::windows::runtime::Abi for LineSpacingRule {
2524     type Abi = Self;
2525     type DefaultType = Self;
2526 }
2527 unsafe impl ::windows::runtime::RuntimeType for LineSpacingRule {
2528     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"enum(Windows.UI.Text.LineSpacingRule;i4)");
2529 }
2530 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
2531 #[repr(transparent)]
2532 pub struct LinkType(pub i32);
2533 impl LinkType {
2534     pub const Undefined: LinkType = LinkType(0i32);
2535     pub const NotALink: LinkType = LinkType(1i32);
2536     pub const ClientLink: LinkType = LinkType(2i32);
2537     pub const FriendlyLinkName: LinkType = LinkType(3i32);
2538     pub const FriendlyLinkAddress: LinkType = LinkType(4i32);
2539     pub const AutoLink: LinkType = LinkType(5i32);
2540     pub const AutoLinkEmail: LinkType = LinkType(6i32);
2541     pub const AutoLinkPhone: LinkType = LinkType(7i32);
2542     pub const AutoLinkPath: LinkType = LinkType(8i32);
2543 }
2544 impl ::std::convert::From<i32> for LinkType {
from(value: i32) -> Self2545     fn from(value: i32) -> Self {
2546         Self(value)
2547     }
2548 }
2549 unsafe impl ::windows::runtime::Abi for LinkType {
2550     type Abi = Self;
2551     type DefaultType = Self;
2552 }
2553 unsafe impl ::windows::runtime::RuntimeType for LinkType {
2554     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"enum(Windows.UI.Text.LinkType;i4)");
2555 }
2556 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
2557 #[repr(transparent)]
2558 pub struct MarkerAlignment(pub i32);
2559 impl MarkerAlignment {
2560     pub const Undefined: MarkerAlignment = MarkerAlignment(0i32);
2561     pub const Left: MarkerAlignment = MarkerAlignment(1i32);
2562     pub const Center: MarkerAlignment = MarkerAlignment(2i32);
2563     pub const Right: MarkerAlignment = MarkerAlignment(3i32);
2564 }
2565 impl ::std::convert::From<i32> for MarkerAlignment {
from(value: i32) -> Self2566     fn from(value: i32) -> Self {
2567         Self(value)
2568     }
2569 }
2570 unsafe impl ::windows::runtime::Abi for MarkerAlignment {
2571     type Abi = Self;
2572     type DefaultType = Self;
2573 }
2574 unsafe impl ::windows::runtime::RuntimeType for MarkerAlignment {
2575     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"enum(Windows.UI.Text.MarkerAlignment;i4)");
2576 }
2577 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
2578 #[repr(transparent)]
2579 pub struct MarkerStyle(pub i32);
2580 impl MarkerStyle {
2581     pub const Undefined: MarkerStyle = MarkerStyle(0i32);
2582     pub const Parenthesis: MarkerStyle = MarkerStyle(1i32);
2583     pub const Parentheses: MarkerStyle = MarkerStyle(2i32);
2584     pub const Period: MarkerStyle = MarkerStyle(3i32);
2585     pub const Plain: MarkerStyle = MarkerStyle(4i32);
2586     pub const Minus: MarkerStyle = MarkerStyle(5i32);
2587     pub const NoNumber: MarkerStyle = MarkerStyle(6i32);
2588 }
2589 impl ::std::convert::From<i32> for MarkerStyle {
from(value: i32) -> Self2590     fn from(value: i32) -> Self {
2591         Self(value)
2592     }
2593 }
2594 unsafe impl ::windows::runtime::Abi for MarkerStyle {
2595     type Abi = Self;
2596     type DefaultType = Self;
2597 }
2598 unsafe impl ::windows::runtime::RuntimeType for MarkerStyle {
2599     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"enum(Windows.UI.Text.MarkerStyle;i4)");
2600 }
2601 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
2602 #[repr(transparent)]
2603 pub struct MarkerType(pub i32);
2604 impl MarkerType {
2605     pub const Undefined: MarkerType = MarkerType(0i32);
2606     pub const None: MarkerType = MarkerType(1i32);
2607     pub const Bullet: MarkerType = MarkerType(2i32);
2608     pub const Arabic: MarkerType = MarkerType(3i32);
2609     pub const LowercaseEnglishLetter: MarkerType = MarkerType(4i32);
2610     pub const UppercaseEnglishLetter: MarkerType = MarkerType(5i32);
2611     pub const LowercaseRoman: MarkerType = MarkerType(6i32);
2612     pub const UppercaseRoman: MarkerType = MarkerType(7i32);
2613     pub const UnicodeSequence: MarkerType = MarkerType(8i32);
2614     pub const CircledNumber: MarkerType = MarkerType(9i32);
2615     pub const BlackCircleWingding: MarkerType = MarkerType(10i32);
2616     pub const WhiteCircleWingding: MarkerType = MarkerType(11i32);
2617     pub const ArabicWide: MarkerType = MarkerType(12i32);
2618     pub const SimplifiedChinese: MarkerType = MarkerType(13i32);
2619     pub const TraditionalChinese: MarkerType = MarkerType(14i32);
2620     pub const JapanSimplifiedChinese: MarkerType = MarkerType(15i32);
2621     pub const JapanKorea: MarkerType = MarkerType(16i32);
2622     pub const ArabicDictionary: MarkerType = MarkerType(17i32);
2623     pub const ArabicAbjad: MarkerType = MarkerType(18i32);
2624     pub const Hebrew: MarkerType = MarkerType(19i32);
2625     pub const ThaiAlphabetic: MarkerType = MarkerType(20i32);
2626     pub const ThaiNumeric: MarkerType = MarkerType(21i32);
2627     pub const DevanagariVowel: MarkerType = MarkerType(22i32);
2628     pub const DevanagariConsonant: MarkerType = MarkerType(23i32);
2629     pub const DevanagariNumeric: MarkerType = MarkerType(24i32);
2630 }
2631 impl ::std::convert::From<i32> for MarkerType {
from(value: i32) -> Self2632     fn from(value: i32) -> Self {
2633         Self(value)
2634     }
2635 }
2636 unsafe impl ::windows::runtime::Abi for MarkerType {
2637     type Abi = Self;
2638     type DefaultType = Self;
2639 }
2640 unsafe impl ::windows::runtime::RuntimeType for MarkerType {
2641     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"enum(Windows.UI.Text.MarkerType;i4)");
2642 }
2643 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
2644 #[repr(transparent)]
2645 pub struct ParagraphAlignment(pub i32);
2646 impl ParagraphAlignment {
2647     pub const Undefined: ParagraphAlignment = ParagraphAlignment(0i32);
2648     pub const Left: ParagraphAlignment = ParagraphAlignment(1i32);
2649     pub const Center: ParagraphAlignment = ParagraphAlignment(2i32);
2650     pub const Right: ParagraphAlignment = ParagraphAlignment(3i32);
2651     pub const Justify: ParagraphAlignment = ParagraphAlignment(4i32);
2652 }
2653 impl ::std::convert::From<i32> for ParagraphAlignment {
from(value: i32) -> Self2654     fn from(value: i32) -> Self {
2655         Self(value)
2656     }
2657 }
2658 unsafe impl ::windows::runtime::Abi for ParagraphAlignment {
2659     type Abi = Self;
2660     type DefaultType = Self;
2661 }
2662 unsafe impl ::windows::runtime::RuntimeType for ParagraphAlignment {
2663     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"enum(Windows.UI.Text.ParagraphAlignment;i4)");
2664 }
2665 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
2666 #[repr(transparent)]
2667 pub struct ParagraphStyle(pub i32);
2668 impl ParagraphStyle {
2669     pub const Undefined: ParagraphStyle = ParagraphStyle(0i32);
2670     pub const None: ParagraphStyle = ParagraphStyle(1i32);
2671     pub const Normal: ParagraphStyle = ParagraphStyle(2i32);
2672     pub const Heading1: ParagraphStyle = ParagraphStyle(3i32);
2673     pub const Heading2: ParagraphStyle = ParagraphStyle(4i32);
2674     pub const Heading3: ParagraphStyle = ParagraphStyle(5i32);
2675     pub const Heading4: ParagraphStyle = ParagraphStyle(6i32);
2676     pub const Heading5: ParagraphStyle = ParagraphStyle(7i32);
2677     pub const Heading6: ParagraphStyle = ParagraphStyle(8i32);
2678     pub const Heading7: ParagraphStyle = ParagraphStyle(9i32);
2679     pub const Heading8: ParagraphStyle = ParagraphStyle(10i32);
2680     pub const Heading9: ParagraphStyle = ParagraphStyle(11i32);
2681 }
2682 impl ::std::convert::From<i32> for ParagraphStyle {
from(value: i32) -> Self2683     fn from(value: i32) -> Self {
2684         Self(value)
2685     }
2686 }
2687 unsafe impl ::windows::runtime::Abi for ParagraphStyle {
2688     type Abi = Self;
2689     type DefaultType = Self;
2690 }
2691 unsafe impl ::windows::runtime::RuntimeType for ParagraphStyle {
2692     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"enum(Windows.UI.Text.ParagraphStyle;i4)");
2693 }
2694 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
2695 #[repr(transparent)]
2696 pub struct PointOptions(pub u32);
2697 impl PointOptions {
2698     pub const None: PointOptions = PointOptions(0u32);
2699     pub const IncludeInset: PointOptions = PointOptions(1u32);
2700     pub const Start: PointOptions = PointOptions(32u32);
2701     pub const ClientCoordinates: PointOptions = PointOptions(256u32);
2702     pub const AllowOffClient: PointOptions = PointOptions(512u32);
2703     pub const Transform: PointOptions = PointOptions(1024u32);
2704     pub const NoHorizontalScroll: PointOptions = PointOptions(65536u32);
2705     pub const NoVerticalScroll: PointOptions = PointOptions(262144u32);
2706 }
2707 impl ::std::convert::From<u32> for PointOptions {
from(value: u32) -> Self2708     fn from(value: u32) -> Self {
2709         Self(value)
2710     }
2711 }
2712 unsafe impl ::windows::runtime::Abi for PointOptions {
2713     type Abi = Self;
2714     type DefaultType = Self;
2715 }
2716 unsafe impl ::windows::runtime::RuntimeType for PointOptions {
2717     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"enum(Windows.UI.Text.PointOptions;u4)");
2718 }
2719 impl ::std::ops::BitOr for PointOptions {
2720     type Output = Self;
bitor(self, rhs: Self) -> Self2721     fn bitor(self, rhs: Self) -> Self {
2722         Self(self.0 | rhs.0)
2723     }
2724 }
2725 impl ::std::ops::BitAnd for PointOptions {
2726     type Output = Self;
bitand(self, rhs: Self) -> Self2727     fn bitand(self, rhs: Self) -> Self {
2728         Self(self.0 & rhs.0)
2729     }
2730 }
2731 impl ::std::ops::BitOrAssign for PointOptions {
bitor_assign(&mut self, rhs: Self)2732     fn bitor_assign(&mut self, rhs: Self) {
2733         self.0.bitor_assign(rhs.0)
2734     }
2735 }
2736 impl ::std::ops::BitAndAssign for PointOptions {
bitand_assign(&mut self, rhs: Self)2737     fn bitand_assign(&mut self, rhs: Self) {
2738         self.0.bitand_assign(rhs.0)
2739     }
2740 }
2741 impl ::std::ops::Not for PointOptions {
2742     type Output = Self;
not(self) -> Self2743     fn not(self) -> Self {
2744         Self(self.0.not())
2745     }
2746 }
2747 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
2748 #[repr(transparent)]
2749 pub struct RangeGravity(pub i32);
2750 impl RangeGravity {
2751     pub const UIBehavior: RangeGravity = RangeGravity(0i32);
2752     pub const Backward: RangeGravity = RangeGravity(1i32);
2753     pub const Forward: RangeGravity = RangeGravity(2i32);
2754     pub const Inward: RangeGravity = RangeGravity(3i32);
2755     pub const Outward: RangeGravity = RangeGravity(4i32);
2756 }
2757 impl ::std::convert::From<i32> for RangeGravity {
from(value: i32) -> Self2758     fn from(value: i32) -> Self {
2759         Self(value)
2760     }
2761 }
2762 unsafe impl ::windows::runtime::Abi for RangeGravity {
2763     type Abi = Self;
2764     type DefaultType = Self;
2765 }
2766 unsafe impl ::windows::runtime::RuntimeType for RangeGravity {
2767     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"enum(Windows.UI.Text.RangeGravity;i4)");
2768 }
2769 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
2770 #[repr(transparent)]
2771 pub struct RichEditMathMode(pub i32);
2772 impl RichEditMathMode {
2773     pub const NoMath: RichEditMathMode = RichEditMathMode(0i32);
2774     pub const MathOnly: RichEditMathMode = RichEditMathMode(1i32);
2775 }
2776 impl ::std::convert::From<i32> for RichEditMathMode {
from(value: i32) -> Self2777     fn from(value: i32) -> Self {
2778         Self(value)
2779     }
2780 }
2781 unsafe impl ::windows::runtime::Abi for RichEditMathMode {
2782     type Abi = Self;
2783     type DefaultType = Self;
2784 }
2785 unsafe impl ::windows::runtime::RuntimeType for RichEditMathMode {
2786     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"enum(Windows.UI.Text.RichEditMathMode;i4)");
2787 }
2788 #[repr(transparent)]
2789 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2790 pub struct RichEditTextDocument(::windows::runtime::IInspectable);
2791 impl RichEditTextDocument {
CaretType(&self) -> ::windows::runtime::Result<CaretType>2792     pub fn CaretType(&self) -> ::windows::runtime::Result<CaretType> {
2793         let this = self;
2794         unsafe {
2795             let mut result__: CaretType = ::std::mem::zeroed();
2796             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<CaretType>(result__)
2797         }
2798     }
SetCaretType(&self, value: CaretType) -> ::windows::runtime::Result<()>2799     pub fn SetCaretType(&self, value: CaretType) -> ::windows::runtime::Result<()> {
2800         let this = self;
2801         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value).ok() }
2802     }
DefaultTabStop(&self) -> ::windows::runtime::Result<f32>2803     pub fn DefaultTabStop(&self) -> ::windows::runtime::Result<f32> {
2804         let this = self;
2805         unsafe {
2806             let mut result__: f32 = ::std::mem::zeroed();
2807             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<f32>(result__)
2808         }
2809     }
SetDefaultTabStop(&self, value: f32) -> ::windows::runtime::Result<()>2810     pub fn SetDefaultTabStop(&self, value: f32) -> ::windows::runtime::Result<()> {
2811         let this = self;
2812         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), value).ok() }
2813     }
Selection(&self) -> ::windows::runtime::Result<ITextSelection>2814     pub fn Selection(&self) -> ::windows::runtime::Result<ITextSelection> {
2815         let this = self;
2816         unsafe {
2817             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
2818             (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), &mut result__).from_abi::<ITextSelection>(result__)
2819         }
2820     }
UndoLimit(&self) -> ::windows::runtime::Result<u32>2821     pub fn UndoLimit(&self) -> ::windows::runtime::Result<u32> {
2822         let this = self;
2823         unsafe {
2824             let mut result__: u32 = ::std::mem::zeroed();
2825             (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), &mut result__).from_abi::<u32>(result__)
2826         }
2827     }
SetUndoLimit(&self, value: u32) -> ::windows::runtime::Result<()>2828     pub fn SetUndoLimit(&self, value: u32) -> ::windows::runtime::Result<()> {
2829         let this = self;
2830         unsafe { (::windows::runtime::Interface::vtable(this).12)(::std::mem::transmute_copy(this), value).ok() }
2831     }
CanCopy(&self) -> ::windows::runtime::Result<bool>2832     pub fn CanCopy(&self) -> ::windows::runtime::Result<bool> {
2833         let this = self;
2834         unsafe {
2835             let mut result__: bool = ::std::mem::zeroed();
2836             (::windows::runtime::Interface::vtable(this).13)(::std::mem::transmute_copy(this), &mut result__).from_abi::<bool>(result__)
2837         }
2838     }
CanPaste(&self) -> ::windows::runtime::Result<bool>2839     pub fn CanPaste(&self) -> ::windows::runtime::Result<bool> {
2840         let this = self;
2841         unsafe {
2842             let mut result__: bool = ::std::mem::zeroed();
2843             (::windows::runtime::Interface::vtable(this).14)(::std::mem::transmute_copy(this), &mut result__).from_abi::<bool>(result__)
2844         }
2845     }
CanRedo(&self) -> ::windows::runtime::Result<bool>2846     pub fn CanRedo(&self) -> ::windows::runtime::Result<bool> {
2847         let this = self;
2848         unsafe {
2849             let mut result__: bool = ::std::mem::zeroed();
2850             (::windows::runtime::Interface::vtable(this).15)(::std::mem::transmute_copy(this), &mut result__).from_abi::<bool>(result__)
2851         }
2852     }
CanUndo(&self) -> ::windows::runtime::Result<bool>2853     pub fn CanUndo(&self) -> ::windows::runtime::Result<bool> {
2854         let this = self;
2855         unsafe {
2856             let mut result__: bool = ::std::mem::zeroed();
2857             (::windows::runtime::Interface::vtable(this).16)(::std::mem::transmute_copy(this), &mut result__).from_abi::<bool>(result__)
2858         }
2859     }
ApplyDisplayUpdates(&self) -> ::windows::runtime::Result<i32>2860     pub fn ApplyDisplayUpdates(&self) -> ::windows::runtime::Result<i32> {
2861         let this = self;
2862         unsafe {
2863             let mut result__: i32 = ::std::mem::zeroed();
2864             (::windows::runtime::Interface::vtable(this).17)(::std::mem::transmute_copy(this), &mut result__).from_abi::<i32>(result__)
2865         }
2866     }
BatchDisplayUpdates(&self) -> ::windows::runtime::Result<i32>2867     pub fn BatchDisplayUpdates(&self) -> ::windows::runtime::Result<i32> {
2868         let this = self;
2869         unsafe {
2870             let mut result__: i32 = ::std::mem::zeroed();
2871             (::windows::runtime::Interface::vtable(this).18)(::std::mem::transmute_copy(this), &mut result__).from_abi::<i32>(result__)
2872         }
2873     }
BeginUndoGroup(&self) -> ::windows::runtime::Result<()>2874     pub fn BeginUndoGroup(&self) -> ::windows::runtime::Result<()> {
2875         let this = self;
2876         unsafe { (::windows::runtime::Interface::vtable(this).19)(::std::mem::transmute_copy(this)).ok() }
2877     }
EndUndoGroup(&self) -> ::windows::runtime::Result<()>2878     pub fn EndUndoGroup(&self) -> ::windows::runtime::Result<()> {
2879         let this = self;
2880         unsafe { (::windows::runtime::Interface::vtable(this).20)(::std::mem::transmute_copy(this)).ok() }
2881     }
GetDefaultCharacterFormat(&self) -> ::windows::runtime::Result<ITextCharacterFormat>2882     pub fn GetDefaultCharacterFormat(&self) -> ::windows::runtime::Result<ITextCharacterFormat> {
2883         let this = self;
2884         unsafe {
2885             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
2886             (::windows::runtime::Interface::vtable(this).21)(::std::mem::transmute_copy(this), &mut result__).from_abi::<ITextCharacterFormat>(result__)
2887         }
2888     }
GetDefaultParagraphFormat(&self) -> ::windows::runtime::Result<ITextParagraphFormat>2889     pub fn GetDefaultParagraphFormat(&self) -> ::windows::runtime::Result<ITextParagraphFormat> {
2890         let this = self;
2891         unsafe {
2892             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
2893             (::windows::runtime::Interface::vtable(this).22)(::std::mem::transmute_copy(this), &mut result__).from_abi::<ITextParagraphFormat>(result__)
2894         }
2895     }
GetRange(&self, startposition: i32, endposition: i32) -> ::windows::runtime::Result<ITextRange>2896     pub fn GetRange(&self, startposition: i32, endposition: i32) -> ::windows::runtime::Result<ITextRange> {
2897         let this = self;
2898         unsafe {
2899             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
2900             (::windows::runtime::Interface::vtable(this).23)(::std::mem::transmute_copy(this), startposition, endposition, &mut result__).from_abi::<ITextRange>(result__)
2901         }
2902     }
2903     #[cfg(feature = "Foundation")]
GetRangeFromPoint<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Point>>(&self, point: Param0, options: PointOptions) -> ::windows::runtime::Result<ITextRange>2904     pub fn GetRangeFromPoint<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Point>>(&self, point: Param0, options: PointOptions) -> ::windows::runtime::Result<ITextRange> {
2905         let this = self;
2906         unsafe {
2907             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
2908             (::windows::runtime::Interface::vtable(this).24)(::std::mem::transmute_copy(this), point.into_param().abi(), options, &mut result__).from_abi::<ITextRange>(result__)
2909         }
2910     }
GetText(&self, options: TextGetOptions, value: &mut ::windows::runtime::HSTRING) -> ::windows::runtime::Result<()>2911     pub fn GetText(&self, options: TextGetOptions, value: &mut ::windows::runtime::HSTRING) -> ::windows::runtime::Result<()> {
2912         let this = self;
2913         unsafe { (::windows::runtime::Interface::vtable(this).25)(::std::mem::transmute_copy(this), options, value as *mut _ as _).ok() }
2914     }
2915     #[cfg(feature = "Storage_Streams")]
LoadFromStream<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Storage::Streams::IRandomAccessStream>>(&self, options: TextSetOptions, value: Param1) -> ::windows::runtime::Result<()>2916     pub fn LoadFromStream<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Storage::Streams::IRandomAccessStream>>(&self, options: TextSetOptions, value: Param1) -> ::windows::runtime::Result<()> {
2917         let this = self;
2918         unsafe { (::windows::runtime::Interface::vtable(this).26)(::std::mem::transmute_copy(this), options, value.into_param().abi()).ok() }
2919     }
Redo(&self) -> ::windows::runtime::Result<()>2920     pub fn Redo(&self) -> ::windows::runtime::Result<()> {
2921         let this = self;
2922         unsafe { (::windows::runtime::Interface::vtable(this).27)(::std::mem::transmute_copy(this)).ok() }
2923     }
2924     #[cfg(feature = "Storage_Streams")]
SaveToStream<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Storage::Streams::IRandomAccessStream>>(&self, options: TextGetOptions, value: Param1) -> ::windows::runtime::Result<()>2925     pub fn SaveToStream<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Storage::Streams::IRandomAccessStream>>(&self, options: TextGetOptions, value: Param1) -> ::windows::runtime::Result<()> {
2926         let this = self;
2927         unsafe { (::windows::runtime::Interface::vtable(this).28)(::std::mem::transmute_copy(this), options, value.into_param().abi()).ok() }
2928     }
SetDefaultCharacterFormat<'a, Param0: ::windows::runtime::IntoParam<'a, ITextCharacterFormat>>(&self, value: Param0) -> ::windows::runtime::Result<()>2929     pub fn SetDefaultCharacterFormat<'a, Param0: ::windows::runtime::IntoParam<'a, ITextCharacterFormat>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
2930         let this = self;
2931         unsafe { (::windows::runtime::Interface::vtable(this).29)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
2932     }
SetDefaultParagraphFormat<'a, Param0: ::windows::runtime::IntoParam<'a, ITextParagraphFormat>>(&self, value: Param0) -> ::windows::runtime::Result<()>2933     pub fn SetDefaultParagraphFormat<'a, Param0: ::windows::runtime::IntoParam<'a, ITextParagraphFormat>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
2934         let this = self;
2935         unsafe { (::windows::runtime::Interface::vtable(this).30)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
2936     }
SetText<'a, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, options: TextSetOptions, value: Param1) -> ::windows::runtime::Result<()>2937     pub fn SetText<'a, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, options: TextSetOptions, value: Param1) -> ::windows::runtime::Result<()> {
2938         let this = self;
2939         unsafe { (::windows::runtime::Interface::vtable(this).31)(::std::mem::transmute_copy(this), options, value.into_param().abi()).ok() }
2940     }
Undo(&self) -> ::windows::runtime::Result<()>2941     pub fn Undo(&self) -> ::windows::runtime::Result<()> {
2942         let this = self;
2943         unsafe { (::windows::runtime::Interface::vtable(this).32)(::std::mem::transmute_copy(this)).ok() }
2944     }
AlignmentIncludesTrailingWhitespace(&self) -> ::windows::runtime::Result<bool>2945     pub fn AlignmentIncludesTrailingWhitespace(&self) -> ::windows::runtime::Result<bool> {
2946         let this = &::windows::runtime::Interface::cast::<ITextDocument2>(self)?;
2947         unsafe {
2948             let mut result__: bool = ::std::mem::zeroed();
2949             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<bool>(result__)
2950         }
2951     }
SetAlignmentIncludesTrailingWhitespace(&self, value: bool) -> ::windows::runtime::Result<()>2952     pub fn SetAlignmentIncludesTrailingWhitespace(&self, value: bool) -> ::windows::runtime::Result<()> {
2953         let this = &::windows::runtime::Interface::cast::<ITextDocument2>(self)?;
2954         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value).ok() }
2955     }
IgnoreTrailingCharacterSpacing(&self) -> ::windows::runtime::Result<bool>2956     pub fn IgnoreTrailingCharacterSpacing(&self) -> ::windows::runtime::Result<bool> {
2957         let this = &::windows::runtime::Interface::cast::<ITextDocument2>(self)?;
2958         unsafe {
2959             let mut result__: bool = ::std::mem::zeroed();
2960             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<bool>(result__)
2961         }
2962     }
SetIgnoreTrailingCharacterSpacing(&self, value: bool) -> ::windows::runtime::Result<()>2963     pub fn SetIgnoreTrailingCharacterSpacing(&self, value: bool) -> ::windows::runtime::Result<()> {
2964         let this = &::windows::runtime::Interface::cast::<ITextDocument2>(self)?;
2965         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), value).ok() }
2966     }
ClearUndoRedoHistory(&self) -> ::windows::runtime::Result<()>2967     pub fn ClearUndoRedoHistory(&self) -> ::windows::runtime::Result<()> {
2968         let this = &::windows::runtime::Interface::cast::<ITextDocument3>(self)?;
2969         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this)).ok() }
2970     }
SetMath<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()>2971     pub fn SetMath<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
2972         let this = &::windows::runtime::Interface::cast::<ITextDocument4>(self)?;
2973         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
2974     }
GetMath(&self, value: &mut ::windows::runtime::HSTRING) -> ::windows::runtime::Result<()>2975     pub fn GetMath(&self, value: &mut ::windows::runtime::HSTRING) -> ::windows::runtime::Result<()> {
2976         let this = &::windows::runtime::Interface::cast::<ITextDocument4>(self)?;
2977         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value as *mut _ as _).ok() }
2978     }
SetMathMode(&self, mode: RichEditMathMode) -> ::windows::runtime::Result<()>2979     pub fn SetMathMode(&self, mode: RichEditMathMode) -> ::windows::runtime::Result<()> {
2980         let this = &::windows::runtime::Interface::cast::<ITextDocument4>(self)?;
2981         unsafe { (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), mode).ok() }
2982     }
2983 }
2984 unsafe impl ::windows::runtime::RuntimeType for RichEditTextDocument {
2985     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.UI.Text.RichEditTextDocument;{beee4ddb-90b2-408c-a2f6-0a0ac31e33e4})");
2986 }
2987 unsafe impl ::windows::runtime::Interface for RichEditTextDocument {
2988     type Vtable = ITextDocument_abi;
2989     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3203288539, 37042, 16524, [162, 246, 10, 10, 195, 30, 51, 228]);
2990 }
2991 impl ::windows::runtime::RuntimeName for RichEditTextDocument {
2992     const NAME: &'static str = "Windows.UI.Text.RichEditTextDocument";
2993 }
2994 impl ::std::convert::From<RichEditTextDocument> for ::windows::runtime::IUnknown {
from(value: RichEditTextDocument) -> Self2995     fn from(value: RichEditTextDocument) -> Self {
2996         unsafe { ::std::mem::transmute(value) }
2997     }
2998 }
2999 impl ::std::convert::From<&RichEditTextDocument> for ::windows::runtime::IUnknown {
from(value: &RichEditTextDocument) -> Self3000     fn from(value: &RichEditTextDocument) -> Self {
3001         ::std::convert::From::from(::std::clone::Clone::clone(value))
3002     }
3003 }
3004 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for RichEditTextDocument {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3005     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3006         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
3007     }
3008 }
3009 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &RichEditTextDocument {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3010     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3011         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
3012     }
3013 }
3014 impl ::std::convert::From<RichEditTextDocument> for ::windows::runtime::IInspectable {
from(value: RichEditTextDocument) -> Self3015     fn from(value: RichEditTextDocument) -> Self {
3016         value.0
3017     }
3018 }
3019 impl ::std::convert::From<&RichEditTextDocument> for ::windows::runtime::IInspectable {
from(value: &RichEditTextDocument) -> Self3020     fn from(value: &RichEditTextDocument) -> Self {
3021         value.0.clone()
3022     }
3023 }
3024 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for RichEditTextDocument {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>3025     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
3026         ::windows::runtime::Param::Owned(self.0)
3027     }
3028 }
3029 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a RichEditTextDocument {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>3030     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
3031         ::windows::runtime::Param::Borrowed(&self.0)
3032     }
3033 }
3034 impl ::std::convert::From<RichEditTextDocument> for ITextDocument {
from(value: RichEditTextDocument) -> Self3035     fn from(value: RichEditTextDocument) -> Self {
3036         unsafe { ::std::mem::transmute(value) }
3037     }
3038 }
3039 impl ::std::convert::From<&RichEditTextDocument> for ITextDocument {
from(value: &RichEditTextDocument) -> Self3040     fn from(value: &RichEditTextDocument) -> Self {
3041         ::std::convert::From::from(::std::clone::Clone::clone(value))
3042     }
3043 }
3044 impl<'a> ::windows::runtime::IntoParam<'a, ITextDocument> for RichEditTextDocument {
into_param(self) -> ::windows::runtime::Param<'a, ITextDocument>3045     fn into_param(self) -> ::windows::runtime::Param<'a, ITextDocument> {
3046         ::windows::runtime::Param::Owned(::std::convert::Into::<ITextDocument>::into(self))
3047     }
3048 }
3049 impl<'a> ::windows::runtime::IntoParam<'a, ITextDocument> for &RichEditTextDocument {
into_param(self) -> ::windows::runtime::Param<'a, ITextDocument>3050     fn into_param(self) -> ::windows::runtime::Param<'a, ITextDocument> {
3051         ::windows::runtime::Param::Owned(::std::convert::Into::<ITextDocument>::into(::std::clone::Clone::clone(self)))
3052     }
3053 }
3054 unsafe impl ::std::marker::Send for RichEditTextDocument {}
3055 unsafe impl ::std::marker::Sync for RichEditTextDocument {}
3056 #[repr(transparent)]
3057 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3058 pub struct RichEditTextRange(::windows::runtime::IInspectable);
3059 impl RichEditTextRange {
Character(&self) -> ::windows::runtime::Result<u16>3060     pub fn Character(&self) -> ::windows::runtime::Result<u16> {
3061         let this = self;
3062         unsafe {
3063             let mut result__: u16 = ::std::mem::zeroed();
3064             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<u16>(result__)
3065         }
3066     }
SetCharacter(&self, value: u16) -> ::windows::runtime::Result<()>3067     pub fn SetCharacter(&self, value: u16) -> ::windows::runtime::Result<()> {
3068         let this = self;
3069         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value).ok() }
3070     }
CharacterFormat(&self) -> ::windows::runtime::Result<ITextCharacterFormat>3071     pub fn CharacterFormat(&self) -> ::windows::runtime::Result<ITextCharacterFormat> {
3072         let this = self;
3073         unsafe {
3074             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
3075             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<ITextCharacterFormat>(result__)
3076         }
3077     }
SetCharacterFormat<'a, Param0: ::windows::runtime::IntoParam<'a, ITextCharacterFormat>>(&self, value: Param0) -> ::windows::runtime::Result<()>3078     pub fn SetCharacterFormat<'a, Param0: ::windows::runtime::IntoParam<'a, ITextCharacterFormat>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
3079         let this = self;
3080         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
3081     }
FormattedText(&self) -> ::windows::runtime::Result<ITextRange>3082     pub fn FormattedText(&self) -> ::windows::runtime::Result<ITextRange> {
3083         let this = self;
3084         unsafe {
3085             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
3086             (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), &mut result__).from_abi::<ITextRange>(result__)
3087         }
3088     }
SetFormattedText<'a, Param0: ::windows::runtime::IntoParam<'a, ITextRange>>(&self, value: Param0) -> ::windows::runtime::Result<()>3089     pub fn SetFormattedText<'a, Param0: ::windows::runtime::IntoParam<'a, ITextRange>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
3090         let this = self;
3091         unsafe { (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
3092     }
EndPosition(&self) -> ::windows::runtime::Result<i32>3093     pub fn EndPosition(&self) -> ::windows::runtime::Result<i32> {
3094         let this = self;
3095         unsafe {
3096             let mut result__: i32 = ::std::mem::zeroed();
3097             (::windows::runtime::Interface::vtable(this).12)(::std::mem::transmute_copy(this), &mut result__).from_abi::<i32>(result__)
3098         }
3099     }
SetEndPosition(&self, value: i32) -> ::windows::runtime::Result<()>3100     pub fn SetEndPosition(&self, value: i32) -> ::windows::runtime::Result<()> {
3101         let this = self;
3102         unsafe { (::windows::runtime::Interface::vtable(this).13)(::std::mem::transmute_copy(this), value).ok() }
3103     }
Gravity(&self) -> ::windows::runtime::Result<RangeGravity>3104     pub fn Gravity(&self) -> ::windows::runtime::Result<RangeGravity> {
3105         let this = self;
3106         unsafe {
3107             let mut result__: RangeGravity = ::std::mem::zeroed();
3108             (::windows::runtime::Interface::vtable(this).14)(::std::mem::transmute_copy(this), &mut result__).from_abi::<RangeGravity>(result__)
3109         }
3110     }
SetGravity(&self, value: RangeGravity) -> ::windows::runtime::Result<()>3111     pub fn SetGravity(&self, value: RangeGravity) -> ::windows::runtime::Result<()> {
3112         let this = self;
3113         unsafe { (::windows::runtime::Interface::vtable(this).15)(::std::mem::transmute_copy(this), value).ok() }
3114     }
Length(&self) -> ::windows::runtime::Result<i32>3115     pub fn Length(&self) -> ::windows::runtime::Result<i32> {
3116         let this = self;
3117         unsafe {
3118             let mut result__: i32 = ::std::mem::zeroed();
3119             (::windows::runtime::Interface::vtable(this).16)(::std::mem::transmute_copy(this), &mut result__).from_abi::<i32>(result__)
3120         }
3121     }
Link(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>3122     pub fn Link(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
3123         let this = self;
3124         unsafe {
3125             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
3126             (::windows::runtime::Interface::vtable(this).17)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
3127         }
3128     }
SetLink<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()>3129     pub fn SetLink<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
3130         let this = self;
3131         unsafe { (::windows::runtime::Interface::vtable(this).18)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
3132     }
ParagraphFormat(&self) -> ::windows::runtime::Result<ITextParagraphFormat>3133     pub fn ParagraphFormat(&self) -> ::windows::runtime::Result<ITextParagraphFormat> {
3134         let this = self;
3135         unsafe {
3136             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
3137             (::windows::runtime::Interface::vtable(this).19)(::std::mem::transmute_copy(this), &mut result__).from_abi::<ITextParagraphFormat>(result__)
3138         }
3139     }
SetParagraphFormat<'a, Param0: ::windows::runtime::IntoParam<'a, ITextParagraphFormat>>(&self, value: Param0) -> ::windows::runtime::Result<()>3140     pub fn SetParagraphFormat<'a, Param0: ::windows::runtime::IntoParam<'a, ITextParagraphFormat>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
3141         let this = self;
3142         unsafe { (::windows::runtime::Interface::vtable(this).20)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
3143     }
StartPosition(&self) -> ::windows::runtime::Result<i32>3144     pub fn StartPosition(&self) -> ::windows::runtime::Result<i32> {
3145         let this = self;
3146         unsafe {
3147             let mut result__: i32 = ::std::mem::zeroed();
3148             (::windows::runtime::Interface::vtable(this).21)(::std::mem::transmute_copy(this), &mut result__).from_abi::<i32>(result__)
3149         }
3150     }
SetStartPosition(&self, value: i32) -> ::windows::runtime::Result<()>3151     pub fn SetStartPosition(&self, value: i32) -> ::windows::runtime::Result<()> {
3152         let this = self;
3153         unsafe { (::windows::runtime::Interface::vtable(this).22)(::std::mem::transmute_copy(this), value).ok() }
3154     }
StoryLength(&self) -> ::windows::runtime::Result<i32>3155     pub fn StoryLength(&self) -> ::windows::runtime::Result<i32> {
3156         let this = self;
3157         unsafe {
3158             let mut result__: i32 = ::std::mem::zeroed();
3159             (::windows::runtime::Interface::vtable(this).23)(::std::mem::transmute_copy(this), &mut result__).from_abi::<i32>(result__)
3160         }
3161     }
Text(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>3162     pub fn Text(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
3163         let this = self;
3164         unsafe {
3165             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
3166             (::windows::runtime::Interface::vtable(this).24)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
3167         }
3168     }
SetText<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()>3169     pub fn SetText<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
3170         let this = self;
3171         unsafe { (::windows::runtime::Interface::vtable(this).25)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
3172     }
CanPaste(&self, format: i32) -> ::windows::runtime::Result<bool>3173     pub fn CanPaste(&self, format: i32) -> ::windows::runtime::Result<bool> {
3174         let this = self;
3175         unsafe {
3176             let mut result__: bool = ::std::mem::zeroed();
3177             (::windows::runtime::Interface::vtable(this).26)(::std::mem::transmute_copy(this), format, &mut result__).from_abi::<bool>(result__)
3178         }
3179     }
ChangeCase(&self, value: LetterCase) -> ::windows::runtime::Result<()>3180     pub fn ChangeCase(&self, value: LetterCase) -> ::windows::runtime::Result<()> {
3181         let this = self;
3182         unsafe { (::windows::runtime::Interface::vtable(this).27)(::std::mem::transmute_copy(this), value).ok() }
3183     }
Collapse(&self, value: bool) -> ::windows::runtime::Result<()>3184     pub fn Collapse(&self, value: bool) -> ::windows::runtime::Result<()> {
3185         let this = self;
3186         unsafe { (::windows::runtime::Interface::vtable(this).28)(::std::mem::transmute_copy(this), value).ok() }
3187     }
Copy(&self) -> ::windows::runtime::Result<()>3188     pub fn Copy(&self) -> ::windows::runtime::Result<()> {
3189         let this = self;
3190         unsafe { (::windows::runtime::Interface::vtable(this).29)(::std::mem::transmute_copy(this)).ok() }
3191     }
Cut(&self) -> ::windows::runtime::Result<()>3192     pub fn Cut(&self) -> ::windows::runtime::Result<()> {
3193         let this = self;
3194         unsafe { (::windows::runtime::Interface::vtable(this).30)(::std::mem::transmute_copy(this)).ok() }
3195     }
Delete(&self, unit: TextRangeUnit, count: i32) -> ::windows::runtime::Result<i32>3196     pub fn Delete(&self, unit: TextRangeUnit, count: i32) -> ::windows::runtime::Result<i32> {
3197         let this = self;
3198         unsafe {
3199             let mut result__: i32 = ::std::mem::zeroed();
3200             (::windows::runtime::Interface::vtable(this).31)(::std::mem::transmute_copy(this), unit, count, &mut result__).from_abi::<i32>(result__)
3201         }
3202     }
EndOf(&self, unit: TextRangeUnit, extend: bool) -> ::windows::runtime::Result<i32>3203     pub fn EndOf(&self, unit: TextRangeUnit, extend: bool) -> ::windows::runtime::Result<i32> {
3204         let this = self;
3205         unsafe {
3206             let mut result__: i32 = ::std::mem::zeroed();
3207             (::windows::runtime::Interface::vtable(this).32)(::std::mem::transmute_copy(this), unit, extend, &mut result__).from_abi::<i32>(result__)
3208         }
3209     }
Expand(&self, unit: TextRangeUnit) -> ::windows::runtime::Result<i32>3210     pub fn Expand(&self, unit: TextRangeUnit) -> ::windows::runtime::Result<i32> {
3211         let this = self;
3212         unsafe {
3213             let mut result__: i32 = ::std::mem::zeroed();
3214             (::windows::runtime::Interface::vtable(this).33)(::std::mem::transmute_copy(this), unit, &mut result__).from_abi::<i32>(result__)
3215         }
3216     }
FindText<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0, scanlength: i32, options: FindOptions) -> ::windows::runtime::Result<i32>3217     pub fn FindText<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0, scanlength: i32, options: FindOptions) -> ::windows::runtime::Result<i32> {
3218         let this = self;
3219         unsafe {
3220             let mut result__: i32 = ::std::mem::zeroed();
3221             (::windows::runtime::Interface::vtable(this).34)(::std::mem::transmute_copy(this), value.into_param().abi(), scanlength, options, &mut result__).from_abi::<i32>(result__)
3222         }
3223     }
GetCharacterUtf32(&self, value: &mut u32, offset: i32) -> ::windows::runtime::Result<()>3224     pub fn GetCharacterUtf32(&self, value: &mut u32, offset: i32) -> ::windows::runtime::Result<()> {
3225         let this = self;
3226         unsafe { (::windows::runtime::Interface::vtable(this).35)(::std::mem::transmute_copy(this), value, offset).ok() }
3227     }
GetClone(&self) -> ::windows::runtime::Result<ITextRange>3228     pub fn GetClone(&self) -> ::windows::runtime::Result<ITextRange> {
3229         let this = self;
3230         unsafe {
3231             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
3232             (::windows::runtime::Interface::vtable(this).36)(::std::mem::transmute_copy(this), &mut result__).from_abi::<ITextRange>(result__)
3233         }
3234     }
GetIndex(&self, unit: TextRangeUnit) -> ::windows::runtime::Result<i32>3235     pub fn GetIndex(&self, unit: TextRangeUnit) -> ::windows::runtime::Result<i32> {
3236         let this = self;
3237         unsafe {
3238             let mut result__: i32 = ::std::mem::zeroed();
3239             (::windows::runtime::Interface::vtable(this).37)(::std::mem::transmute_copy(this), unit, &mut result__).from_abi::<i32>(result__)
3240         }
3241     }
3242     #[cfg(feature = "Foundation")]
GetPoint(&self, horizontalalign: HorizontalCharacterAlignment, verticalalign: VerticalCharacterAlignment, options: PointOptions, point: &mut super::super::Foundation::Point) -> ::windows::runtime::Result<()>3243     pub fn GetPoint(&self, horizontalalign: HorizontalCharacterAlignment, verticalalign: VerticalCharacterAlignment, options: PointOptions, point: &mut super::super::Foundation::Point) -> ::windows::runtime::Result<()> {
3244         let this = self;
3245         unsafe { (::windows::runtime::Interface::vtable(this).38)(::std::mem::transmute_copy(this), horizontalalign, verticalalign, options, point).ok() }
3246     }
3247     #[cfg(feature = "Foundation")]
GetRect(&self, options: PointOptions, rect: &mut super::super::Foundation::Rect, hit: &mut i32) -> ::windows::runtime::Result<()>3248     pub fn GetRect(&self, options: PointOptions, rect: &mut super::super::Foundation::Rect, hit: &mut i32) -> ::windows::runtime::Result<()> {
3249         let this = self;
3250         unsafe { (::windows::runtime::Interface::vtable(this).39)(::std::mem::transmute_copy(this), options, rect, hit).ok() }
3251     }
GetText(&self, options: TextGetOptions, value: &mut ::windows::runtime::HSTRING) -> ::windows::runtime::Result<()>3252     pub fn GetText(&self, options: TextGetOptions, value: &mut ::windows::runtime::HSTRING) -> ::windows::runtime::Result<()> {
3253         let this = self;
3254         unsafe { (::windows::runtime::Interface::vtable(this).40)(::std::mem::transmute_copy(this), options, value as *mut _ as _).ok() }
3255     }
3256     #[cfg(feature = "Storage_Streams")]
GetTextViaStream<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Storage::Streams::IRandomAccessStream>>(&self, options: TextGetOptions, value: Param1) -> ::windows::runtime::Result<()>3257     pub fn GetTextViaStream<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Storage::Streams::IRandomAccessStream>>(&self, options: TextGetOptions, value: Param1) -> ::windows::runtime::Result<()> {
3258         let this = self;
3259         unsafe { (::windows::runtime::Interface::vtable(this).41)(::std::mem::transmute_copy(this), options, value.into_param().abi()).ok() }
3260     }
InRange<'a, Param0: ::windows::runtime::IntoParam<'a, ITextRange>>(&self, range: Param0) -> ::windows::runtime::Result<bool>3261     pub fn InRange<'a, Param0: ::windows::runtime::IntoParam<'a, ITextRange>>(&self, range: Param0) -> ::windows::runtime::Result<bool> {
3262         let this = self;
3263         unsafe {
3264             let mut result__: bool = ::std::mem::zeroed();
3265             (::windows::runtime::Interface::vtable(this).42)(::std::mem::transmute_copy(this), range.into_param().abi(), &mut result__).from_abi::<bool>(result__)
3266         }
3267     }
3268     #[cfg(feature = "Storage_Streams")]
InsertImage<'a, Param4: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param5: ::windows::runtime::IntoParam<'a, super::super::Storage::Streams::IRandomAccessStream>>(&self, width: i32, height: i32, ascent: i32, verticalalign: VerticalCharacterAlignment, alternatetext: Param4, value: Param5) -> ::windows::runtime::Result<()>3269     pub fn InsertImage<'a, Param4: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param5: ::windows::runtime::IntoParam<'a, super::super::Storage::Streams::IRandomAccessStream>>(&self, width: i32, height: i32, ascent: i32, verticalalign: VerticalCharacterAlignment, alternatetext: Param4, value: Param5) -> ::windows::runtime::Result<()> {
3270         let this = self;
3271         unsafe { (::windows::runtime::Interface::vtable(this).43)(::std::mem::transmute_copy(this), width, height, ascent, verticalalign, alternatetext.into_param().abi(), value.into_param().abi()).ok() }
3272     }
InStory<'a, Param0: ::windows::runtime::IntoParam<'a, ITextRange>>(&self, range: Param0) -> ::windows::runtime::Result<bool>3273     pub fn InStory<'a, Param0: ::windows::runtime::IntoParam<'a, ITextRange>>(&self, range: Param0) -> ::windows::runtime::Result<bool> {
3274         let this = self;
3275         unsafe {
3276             let mut result__: bool = ::std::mem::zeroed();
3277             (::windows::runtime::Interface::vtable(this).44)(::std::mem::transmute_copy(this), range.into_param().abi(), &mut result__).from_abi::<bool>(result__)
3278         }
3279     }
IsEqual<'a, Param0: ::windows::runtime::IntoParam<'a, ITextRange>>(&self, range: Param0) -> ::windows::runtime::Result<bool>3280     pub fn IsEqual<'a, Param0: ::windows::runtime::IntoParam<'a, ITextRange>>(&self, range: Param0) -> ::windows::runtime::Result<bool> {
3281         let this = self;
3282         unsafe {
3283             let mut result__: bool = ::std::mem::zeroed();
3284             (::windows::runtime::Interface::vtable(this).45)(::std::mem::transmute_copy(this), range.into_param().abi(), &mut result__).from_abi::<bool>(result__)
3285         }
3286     }
Move(&self, unit: TextRangeUnit, count: i32) -> ::windows::runtime::Result<i32>3287     pub fn Move(&self, unit: TextRangeUnit, count: i32) -> ::windows::runtime::Result<i32> {
3288         let this = self;
3289         unsafe {
3290             let mut result__: i32 = ::std::mem::zeroed();
3291             (::windows::runtime::Interface::vtable(this).46)(::std::mem::transmute_copy(this), unit, count, &mut result__).from_abi::<i32>(result__)
3292         }
3293     }
MoveEnd(&self, unit: TextRangeUnit, count: i32) -> ::windows::runtime::Result<i32>3294     pub fn MoveEnd(&self, unit: TextRangeUnit, count: i32) -> ::windows::runtime::Result<i32> {
3295         let this = self;
3296         unsafe {
3297             let mut result__: i32 = ::std::mem::zeroed();
3298             (::windows::runtime::Interface::vtable(this).47)(::std::mem::transmute_copy(this), unit, count, &mut result__).from_abi::<i32>(result__)
3299         }
3300     }
MoveStart(&self, unit: TextRangeUnit, count: i32) -> ::windows::runtime::Result<i32>3301     pub fn MoveStart(&self, unit: TextRangeUnit, count: i32) -> ::windows::runtime::Result<i32> {
3302         let this = self;
3303         unsafe {
3304             let mut result__: i32 = ::std::mem::zeroed();
3305             (::windows::runtime::Interface::vtable(this).48)(::std::mem::transmute_copy(this), unit, count, &mut result__).from_abi::<i32>(result__)
3306         }
3307     }
Paste(&self, format: i32) -> ::windows::runtime::Result<()>3308     pub fn Paste(&self, format: i32) -> ::windows::runtime::Result<()> {
3309         let this = self;
3310         unsafe { (::windows::runtime::Interface::vtable(this).49)(::std::mem::transmute_copy(this), format).ok() }
3311     }
ScrollIntoView(&self, value: PointOptions) -> ::windows::runtime::Result<()>3312     pub fn ScrollIntoView(&self, value: PointOptions) -> ::windows::runtime::Result<()> {
3313         let this = self;
3314         unsafe { (::windows::runtime::Interface::vtable(this).50)(::std::mem::transmute_copy(this), value).ok() }
3315     }
MatchSelection(&self) -> ::windows::runtime::Result<()>3316     pub fn MatchSelection(&self) -> ::windows::runtime::Result<()> {
3317         let this = self;
3318         unsafe { (::windows::runtime::Interface::vtable(this).51)(::std::mem::transmute_copy(this)).ok() }
3319     }
SetIndex(&self, unit: TextRangeUnit, index: i32, extend: bool) -> ::windows::runtime::Result<()>3320     pub fn SetIndex(&self, unit: TextRangeUnit, index: i32, extend: bool) -> ::windows::runtime::Result<()> {
3321         let this = self;
3322         unsafe { (::windows::runtime::Interface::vtable(this).52)(::std::mem::transmute_copy(this), unit, index, extend).ok() }
3323     }
3324     #[cfg(feature = "Foundation")]
SetPoint<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Point>>(&self, point: Param0, options: PointOptions, extend: bool) -> ::windows::runtime::Result<()>3325     pub fn SetPoint<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Point>>(&self, point: Param0, options: PointOptions, extend: bool) -> ::windows::runtime::Result<()> {
3326         let this = self;
3327         unsafe { (::windows::runtime::Interface::vtable(this).53)(::std::mem::transmute_copy(this), point.into_param().abi(), options, extend).ok() }
3328     }
SetRange(&self, startposition: i32, endposition: i32) -> ::windows::runtime::Result<()>3329     pub fn SetRange(&self, startposition: i32, endposition: i32) -> ::windows::runtime::Result<()> {
3330         let this = self;
3331         unsafe { (::windows::runtime::Interface::vtable(this).54)(::std::mem::transmute_copy(this), startposition, endposition).ok() }
3332     }
SetText2<'a, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, options: TextSetOptions, value: Param1) -> ::windows::runtime::Result<()>3333     pub fn SetText2<'a, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, options: TextSetOptions, value: Param1) -> ::windows::runtime::Result<()> {
3334         let this = self;
3335         unsafe { (::windows::runtime::Interface::vtable(this).55)(::std::mem::transmute_copy(this), options, value.into_param().abi()).ok() }
3336     }
3337     #[cfg(feature = "Storage_Streams")]
SetTextViaStream<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Storage::Streams::IRandomAccessStream>>(&self, options: TextSetOptions, value: Param1) -> ::windows::runtime::Result<()>3338     pub fn SetTextViaStream<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Storage::Streams::IRandomAccessStream>>(&self, options: TextSetOptions, value: Param1) -> ::windows::runtime::Result<()> {
3339         let this = self;
3340         unsafe { (::windows::runtime::Interface::vtable(this).56)(::std::mem::transmute_copy(this), options, value.into_param().abi()).ok() }
3341     }
StartOf(&self, unit: TextRangeUnit, extend: bool) -> ::windows::runtime::Result<i32>3342     pub fn StartOf(&self, unit: TextRangeUnit, extend: bool) -> ::windows::runtime::Result<i32> {
3343         let this = self;
3344         unsafe {
3345             let mut result__: i32 = ::std::mem::zeroed();
3346             (::windows::runtime::Interface::vtable(this).57)(::std::mem::transmute_copy(this), unit, extend, &mut result__).from_abi::<i32>(result__)
3347         }
3348     }
ContentLinkInfo(&self) -> ::windows::runtime::Result<ContentLinkInfo>3349     pub fn ContentLinkInfo(&self) -> ::windows::runtime::Result<ContentLinkInfo> {
3350         let this = &::windows::runtime::Interface::cast::<IRichEditTextRange>(self)?;
3351         unsafe {
3352             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
3353             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<ContentLinkInfo>(result__)
3354         }
3355     }
SetContentLinkInfo<'a, Param0: ::windows::runtime::IntoParam<'a, ContentLinkInfo>>(&self, value: Param0) -> ::windows::runtime::Result<()>3356     pub fn SetContentLinkInfo<'a, Param0: ::windows::runtime::IntoParam<'a, ContentLinkInfo>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
3357         let this = &::windows::runtime::Interface::cast::<IRichEditTextRange>(self)?;
3358         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
3359     }
3360 }
3361 unsafe impl ::windows::runtime::RuntimeType for RichEditTextRange {
3362     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.UI.Text.RichEditTextRange;{5b9e4e57-c072-42a0-8945-af503ee54768})");
3363 }
3364 unsafe impl ::windows::runtime::Interface for RichEditTextRange {
3365     type Vtable = ITextRange_abi;
3366     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1537101399, 49266, 17056, [137, 69, 175, 80, 62, 229, 71, 104]);
3367 }
3368 impl ::windows::runtime::RuntimeName for RichEditTextRange {
3369     const NAME: &'static str = "Windows.UI.Text.RichEditTextRange";
3370 }
3371 impl ::std::convert::From<RichEditTextRange> for ::windows::runtime::IUnknown {
from(value: RichEditTextRange) -> Self3372     fn from(value: RichEditTextRange) -> Self {
3373         unsafe { ::std::mem::transmute(value) }
3374     }
3375 }
3376 impl ::std::convert::From<&RichEditTextRange> for ::windows::runtime::IUnknown {
from(value: &RichEditTextRange) -> Self3377     fn from(value: &RichEditTextRange) -> Self {
3378         ::std::convert::From::from(::std::clone::Clone::clone(value))
3379     }
3380 }
3381 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for RichEditTextRange {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3382     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3383         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
3384     }
3385 }
3386 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &RichEditTextRange {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3387     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3388         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
3389     }
3390 }
3391 impl ::std::convert::From<RichEditTextRange> for ::windows::runtime::IInspectable {
from(value: RichEditTextRange) -> Self3392     fn from(value: RichEditTextRange) -> Self {
3393         value.0
3394     }
3395 }
3396 impl ::std::convert::From<&RichEditTextRange> for ::windows::runtime::IInspectable {
from(value: &RichEditTextRange) -> Self3397     fn from(value: &RichEditTextRange) -> Self {
3398         value.0.clone()
3399     }
3400 }
3401 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for RichEditTextRange {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>3402     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
3403         ::windows::runtime::Param::Owned(self.0)
3404     }
3405 }
3406 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a RichEditTextRange {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>3407     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
3408         ::windows::runtime::Param::Borrowed(&self.0)
3409     }
3410 }
3411 impl ::std::convert::From<RichEditTextRange> for ITextRange {
from(value: RichEditTextRange) -> Self3412     fn from(value: RichEditTextRange) -> Self {
3413         unsafe { ::std::mem::transmute(value) }
3414     }
3415 }
3416 impl ::std::convert::From<&RichEditTextRange> for ITextRange {
from(value: &RichEditTextRange) -> Self3417     fn from(value: &RichEditTextRange) -> Self {
3418         ::std::convert::From::from(::std::clone::Clone::clone(value))
3419     }
3420 }
3421 impl<'a> ::windows::runtime::IntoParam<'a, ITextRange> for RichEditTextRange {
into_param(self) -> ::windows::runtime::Param<'a, ITextRange>3422     fn into_param(self) -> ::windows::runtime::Param<'a, ITextRange> {
3423         ::windows::runtime::Param::Owned(::std::convert::Into::<ITextRange>::into(self))
3424     }
3425 }
3426 impl<'a> ::windows::runtime::IntoParam<'a, ITextRange> for &RichEditTextRange {
into_param(self) -> ::windows::runtime::Param<'a, ITextRange>3427     fn into_param(self) -> ::windows::runtime::Param<'a, ITextRange> {
3428         ::windows::runtime::Param::Owned(::std::convert::Into::<ITextRange>::into(::std::clone::Clone::clone(self)))
3429     }
3430 }
3431 unsafe impl ::std::marker::Send for RichEditTextRange {}
3432 unsafe impl ::std::marker::Sync for RichEditTextRange {}
3433 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
3434 #[repr(transparent)]
3435 pub struct SelectionOptions(pub u32);
3436 impl SelectionOptions {
3437     pub const StartActive: SelectionOptions = SelectionOptions(1u32);
3438     pub const AtEndOfLine: SelectionOptions = SelectionOptions(2u32);
3439     pub const Overtype: SelectionOptions = SelectionOptions(4u32);
3440     pub const Active: SelectionOptions = SelectionOptions(8u32);
3441     pub const Replace: SelectionOptions = SelectionOptions(16u32);
3442 }
3443 impl ::std::convert::From<u32> for SelectionOptions {
from(value: u32) -> Self3444     fn from(value: u32) -> Self {
3445         Self(value)
3446     }
3447 }
3448 unsafe impl ::windows::runtime::Abi for SelectionOptions {
3449     type Abi = Self;
3450     type DefaultType = Self;
3451 }
3452 unsafe impl ::windows::runtime::RuntimeType for SelectionOptions {
3453     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"enum(Windows.UI.Text.SelectionOptions;u4)");
3454 }
3455 impl ::std::ops::BitOr for SelectionOptions {
3456     type Output = Self;
bitor(self, rhs: Self) -> Self3457     fn bitor(self, rhs: Self) -> Self {
3458         Self(self.0 | rhs.0)
3459     }
3460 }
3461 impl ::std::ops::BitAnd for SelectionOptions {
3462     type Output = Self;
bitand(self, rhs: Self) -> Self3463     fn bitand(self, rhs: Self) -> Self {
3464         Self(self.0 & rhs.0)
3465     }
3466 }
3467 impl ::std::ops::BitOrAssign for SelectionOptions {
bitor_assign(&mut self, rhs: Self)3468     fn bitor_assign(&mut self, rhs: Self) {
3469         self.0.bitor_assign(rhs.0)
3470     }
3471 }
3472 impl ::std::ops::BitAndAssign for SelectionOptions {
bitand_assign(&mut self, rhs: Self)3473     fn bitand_assign(&mut self, rhs: Self) {
3474         self.0.bitand_assign(rhs.0)
3475     }
3476 }
3477 impl ::std::ops::Not for SelectionOptions {
3478     type Output = Self;
not(self) -> Self3479     fn not(self) -> Self {
3480         Self(self.0.not())
3481     }
3482 }
3483 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
3484 #[repr(transparent)]
3485 pub struct SelectionType(pub i32);
3486 impl SelectionType {
3487     pub const None: SelectionType = SelectionType(0i32);
3488     pub const InsertionPoint: SelectionType = SelectionType(1i32);
3489     pub const Normal: SelectionType = SelectionType(2i32);
3490     pub const InlineShape: SelectionType = SelectionType(7i32);
3491     pub const Shape: SelectionType = SelectionType(8i32);
3492 }
3493 impl ::std::convert::From<i32> for SelectionType {
from(value: i32) -> Self3494     fn from(value: i32) -> Self {
3495         Self(value)
3496     }
3497 }
3498 unsafe impl ::windows::runtime::Abi for SelectionType {
3499     type Abi = Self;
3500     type DefaultType = Self;
3501 }
3502 unsafe impl ::windows::runtime::RuntimeType for SelectionType {
3503     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"enum(Windows.UI.Text.SelectionType;i4)");
3504 }
3505 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
3506 #[repr(transparent)]
3507 pub struct TabAlignment(pub i32);
3508 impl TabAlignment {
3509     pub const Left: TabAlignment = TabAlignment(0i32);
3510     pub const Center: TabAlignment = TabAlignment(1i32);
3511     pub const Right: TabAlignment = TabAlignment(2i32);
3512     pub const Decimal: TabAlignment = TabAlignment(3i32);
3513     pub const Bar: TabAlignment = TabAlignment(4i32);
3514 }
3515 impl ::std::convert::From<i32> for TabAlignment {
from(value: i32) -> Self3516     fn from(value: i32) -> Self {
3517         Self(value)
3518     }
3519 }
3520 unsafe impl ::windows::runtime::Abi for TabAlignment {
3521     type Abi = Self;
3522     type DefaultType = Self;
3523 }
3524 unsafe impl ::windows::runtime::RuntimeType for TabAlignment {
3525     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"enum(Windows.UI.Text.TabAlignment;i4)");
3526 }
3527 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
3528 #[repr(transparent)]
3529 pub struct TabLeader(pub i32);
3530 impl TabLeader {
3531     pub const Spaces: TabLeader = TabLeader(0i32);
3532     pub const Dots: TabLeader = TabLeader(1i32);
3533     pub const Dashes: TabLeader = TabLeader(2i32);
3534     pub const Lines: TabLeader = TabLeader(3i32);
3535     pub const ThickLines: TabLeader = TabLeader(4i32);
3536     pub const Equals: TabLeader = TabLeader(5i32);
3537 }
3538 impl ::std::convert::From<i32> for TabLeader {
from(value: i32) -> Self3539     fn from(value: i32) -> Self {
3540         Self(value)
3541     }
3542 }
3543 unsafe impl ::windows::runtime::Abi for TabLeader {
3544     type Abi = Self;
3545     type DefaultType = Self;
3546 }
3547 unsafe impl ::windows::runtime::RuntimeType for TabLeader {
3548     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"enum(Windows.UI.Text.TabLeader;i4)");
3549 }
3550 pub struct TextConstants {}
3551 impl TextConstants {
AutoColor() -> ::windows::runtime::Result<super::Color>3552     pub fn AutoColor() -> ::windows::runtime::Result<super::Color> {
3553         Self::ITextConstantsStatics(|this| unsafe {
3554             let mut result__: super::Color = ::std::mem::zeroed();
3555             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::Color>(result__)
3556         })
3557     }
MinUnitCount() -> ::windows::runtime::Result<i32>3558     pub fn MinUnitCount() -> ::windows::runtime::Result<i32> {
3559         Self::ITextConstantsStatics(|this| unsafe {
3560             let mut result__: i32 = ::std::mem::zeroed();
3561             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<i32>(result__)
3562         })
3563     }
MaxUnitCount() -> ::windows::runtime::Result<i32>3564     pub fn MaxUnitCount() -> ::windows::runtime::Result<i32> {
3565         Self::ITextConstantsStatics(|this| unsafe {
3566             let mut result__: i32 = ::std::mem::zeroed();
3567             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<i32>(result__)
3568         })
3569     }
UndefinedColor() -> ::windows::runtime::Result<super::Color>3570     pub fn UndefinedColor() -> ::windows::runtime::Result<super::Color> {
3571         Self::ITextConstantsStatics(|this| unsafe {
3572             let mut result__: super::Color = ::std::mem::zeroed();
3573             (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::Color>(result__)
3574         })
3575     }
UndefinedFloatValue() -> ::windows::runtime::Result<f32>3576     pub fn UndefinedFloatValue() -> ::windows::runtime::Result<f32> {
3577         Self::ITextConstantsStatics(|this| unsafe {
3578             let mut result__: f32 = ::std::mem::zeroed();
3579             (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), &mut result__).from_abi::<f32>(result__)
3580         })
3581     }
UndefinedInt32Value() -> ::windows::runtime::Result<i32>3582     pub fn UndefinedInt32Value() -> ::windows::runtime::Result<i32> {
3583         Self::ITextConstantsStatics(|this| unsafe {
3584             let mut result__: i32 = ::std::mem::zeroed();
3585             (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), &mut result__).from_abi::<i32>(result__)
3586         })
3587     }
UndefinedFontStretch() -> ::windows::runtime::Result<FontStretch>3588     pub fn UndefinedFontStretch() -> ::windows::runtime::Result<FontStretch> {
3589         Self::ITextConstantsStatics(|this| unsafe {
3590             let mut result__: FontStretch = ::std::mem::zeroed();
3591             (::windows::runtime::Interface::vtable(this).12)(::std::mem::transmute_copy(this), &mut result__).from_abi::<FontStretch>(result__)
3592         })
3593     }
UndefinedFontStyle() -> ::windows::runtime::Result<FontStyle>3594     pub fn UndefinedFontStyle() -> ::windows::runtime::Result<FontStyle> {
3595         Self::ITextConstantsStatics(|this| unsafe {
3596             let mut result__: FontStyle = ::std::mem::zeroed();
3597             (::windows::runtime::Interface::vtable(this).13)(::std::mem::transmute_copy(this), &mut result__).from_abi::<FontStyle>(result__)
3598         })
3599     }
ITextConstantsStatics<R, F: FnOnce(&ITextConstantsStatics) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R>3600     pub fn ITextConstantsStatics<R, F: FnOnce(&ITextConstantsStatics) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R> {
3601         static mut SHARED: ::windows::runtime::FactoryCache<TextConstants, ITextConstantsStatics> = ::windows::runtime::FactoryCache::new();
3602         unsafe { SHARED.call(callback) }
3603     }
3604 }
3605 impl ::windows::runtime::RuntimeName for TextConstants {
3606     const NAME: &'static str = "Windows.UI.Text.TextConstants";
3607 }
3608 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
3609 #[repr(transparent)]
3610 pub struct TextDecorations(pub u32);
3611 impl TextDecorations {
3612     pub const None: TextDecorations = TextDecorations(0u32);
3613     pub const Underline: TextDecorations = TextDecorations(1u32);
3614     pub const Strikethrough: TextDecorations = TextDecorations(2u32);
3615 }
3616 impl ::std::convert::From<u32> for TextDecorations {
from(value: u32) -> Self3617     fn from(value: u32) -> Self {
3618         Self(value)
3619     }
3620 }
3621 unsafe impl ::windows::runtime::Abi for TextDecorations {
3622     type Abi = Self;
3623     type DefaultType = Self;
3624 }
3625 unsafe impl ::windows::runtime::RuntimeType for TextDecorations {
3626     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"enum(Windows.UI.Text.TextDecorations;u4)");
3627 }
3628 impl ::std::ops::BitOr for TextDecorations {
3629     type Output = Self;
bitor(self, rhs: Self) -> Self3630     fn bitor(self, rhs: Self) -> Self {
3631         Self(self.0 | rhs.0)
3632     }
3633 }
3634 impl ::std::ops::BitAnd for TextDecorations {
3635     type Output = Self;
bitand(self, rhs: Self) -> Self3636     fn bitand(self, rhs: Self) -> Self {
3637         Self(self.0 & rhs.0)
3638     }
3639 }
3640 impl ::std::ops::BitOrAssign for TextDecorations {
bitor_assign(&mut self, rhs: Self)3641     fn bitor_assign(&mut self, rhs: Self) {
3642         self.0.bitor_assign(rhs.0)
3643     }
3644 }
3645 impl ::std::ops::BitAndAssign for TextDecorations {
bitand_assign(&mut self, rhs: Self)3646     fn bitand_assign(&mut self, rhs: Self) {
3647         self.0.bitand_assign(rhs.0)
3648     }
3649 }
3650 impl ::std::ops::Not for TextDecorations {
3651     type Output = Self;
not(self) -> Self3652     fn not(self) -> Self {
3653         Self(self.0.not())
3654     }
3655 }
3656 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
3657 #[repr(transparent)]
3658 pub struct TextGetOptions(pub u32);
3659 impl TextGetOptions {
3660     pub const None: TextGetOptions = TextGetOptions(0u32);
3661     pub const AdjustCrlf: TextGetOptions = TextGetOptions(1u32);
3662     pub const UseCrlf: TextGetOptions = TextGetOptions(2u32);
3663     pub const UseObjectText: TextGetOptions = TextGetOptions(4u32);
3664     pub const AllowFinalEop: TextGetOptions = TextGetOptions(8u32);
3665     pub const NoHidden: TextGetOptions = TextGetOptions(32u32);
3666     pub const IncludeNumbering: TextGetOptions = TextGetOptions(64u32);
3667     pub const FormatRtf: TextGetOptions = TextGetOptions(8192u32);
3668     pub const UseLf: TextGetOptions = TextGetOptions(16777216u32);
3669 }
3670 impl ::std::convert::From<u32> for TextGetOptions {
from(value: u32) -> Self3671     fn from(value: u32) -> Self {
3672         Self(value)
3673     }
3674 }
3675 unsafe impl ::windows::runtime::Abi for TextGetOptions {
3676     type Abi = Self;
3677     type DefaultType = Self;
3678 }
3679 unsafe impl ::windows::runtime::RuntimeType for TextGetOptions {
3680     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"enum(Windows.UI.Text.TextGetOptions;u4)");
3681 }
3682 impl ::std::ops::BitOr for TextGetOptions {
3683     type Output = Self;
bitor(self, rhs: Self) -> Self3684     fn bitor(self, rhs: Self) -> Self {
3685         Self(self.0 | rhs.0)
3686     }
3687 }
3688 impl ::std::ops::BitAnd for TextGetOptions {
3689     type Output = Self;
bitand(self, rhs: Self) -> Self3690     fn bitand(self, rhs: Self) -> Self {
3691         Self(self.0 & rhs.0)
3692     }
3693 }
3694 impl ::std::ops::BitOrAssign for TextGetOptions {
bitor_assign(&mut self, rhs: Self)3695     fn bitor_assign(&mut self, rhs: Self) {
3696         self.0.bitor_assign(rhs.0)
3697     }
3698 }
3699 impl ::std::ops::BitAndAssign for TextGetOptions {
bitand_assign(&mut self, rhs: Self)3700     fn bitand_assign(&mut self, rhs: Self) {
3701         self.0.bitand_assign(rhs.0)
3702     }
3703 }
3704 impl ::std::ops::Not for TextGetOptions {
3705     type Output = Self;
not(self) -> Self3706     fn not(self) -> Self {
3707         Self(self.0.not())
3708     }
3709 }
3710 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
3711 #[repr(transparent)]
3712 pub struct TextRangeUnit(pub i32);
3713 impl TextRangeUnit {
3714     pub const Character: TextRangeUnit = TextRangeUnit(0i32);
3715     pub const Word: TextRangeUnit = TextRangeUnit(1i32);
3716     pub const Sentence: TextRangeUnit = TextRangeUnit(2i32);
3717     pub const Paragraph: TextRangeUnit = TextRangeUnit(3i32);
3718     pub const Line: TextRangeUnit = TextRangeUnit(4i32);
3719     pub const Story: TextRangeUnit = TextRangeUnit(5i32);
3720     pub const Screen: TextRangeUnit = TextRangeUnit(6i32);
3721     pub const Section: TextRangeUnit = TextRangeUnit(7i32);
3722     pub const Window: TextRangeUnit = TextRangeUnit(8i32);
3723     pub const CharacterFormat: TextRangeUnit = TextRangeUnit(9i32);
3724     pub const ParagraphFormat: TextRangeUnit = TextRangeUnit(10i32);
3725     pub const Object: TextRangeUnit = TextRangeUnit(11i32);
3726     pub const HardParagraph: TextRangeUnit = TextRangeUnit(12i32);
3727     pub const Cluster: TextRangeUnit = TextRangeUnit(13i32);
3728     pub const Bold: TextRangeUnit = TextRangeUnit(14i32);
3729     pub const Italic: TextRangeUnit = TextRangeUnit(15i32);
3730     pub const Underline: TextRangeUnit = TextRangeUnit(16i32);
3731     pub const Strikethrough: TextRangeUnit = TextRangeUnit(17i32);
3732     pub const ProtectedText: TextRangeUnit = TextRangeUnit(18i32);
3733     pub const Link: TextRangeUnit = TextRangeUnit(19i32);
3734     pub const SmallCaps: TextRangeUnit = TextRangeUnit(20i32);
3735     pub const AllCaps: TextRangeUnit = TextRangeUnit(21i32);
3736     pub const Hidden: TextRangeUnit = TextRangeUnit(22i32);
3737     pub const Outline: TextRangeUnit = TextRangeUnit(23i32);
3738     pub const Shadow: TextRangeUnit = TextRangeUnit(24i32);
3739     pub const Imprint: TextRangeUnit = TextRangeUnit(25i32);
3740     pub const Disabled: TextRangeUnit = TextRangeUnit(26i32);
3741     pub const Revised: TextRangeUnit = TextRangeUnit(27i32);
3742     pub const Subscript: TextRangeUnit = TextRangeUnit(28i32);
3743     pub const Superscript: TextRangeUnit = TextRangeUnit(29i32);
3744     pub const FontBound: TextRangeUnit = TextRangeUnit(30i32);
3745     pub const LinkProtected: TextRangeUnit = TextRangeUnit(31i32);
3746     pub const ContentLink: TextRangeUnit = TextRangeUnit(32i32);
3747 }
3748 impl ::std::convert::From<i32> for TextRangeUnit {
from(value: i32) -> Self3749     fn from(value: i32) -> Self {
3750         Self(value)
3751     }
3752 }
3753 unsafe impl ::windows::runtime::Abi for TextRangeUnit {
3754     type Abi = Self;
3755     type DefaultType = Self;
3756 }
3757 unsafe impl ::windows::runtime::RuntimeType for TextRangeUnit {
3758     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"enum(Windows.UI.Text.TextRangeUnit;i4)");
3759 }
3760 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
3761 #[repr(transparent)]
3762 pub struct TextScript(pub i32);
3763 impl TextScript {
3764     pub const Undefined: TextScript = TextScript(0i32);
3765     pub const Ansi: TextScript = TextScript(1i32);
3766     pub const EastEurope: TextScript = TextScript(2i32);
3767     pub const Cyrillic: TextScript = TextScript(3i32);
3768     pub const Greek: TextScript = TextScript(4i32);
3769     pub const Turkish: TextScript = TextScript(5i32);
3770     pub const Hebrew: TextScript = TextScript(6i32);
3771     pub const Arabic: TextScript = TextScript(7i32);
3772     pub const Baltic: TextScript = TextScript(8i32);
3773     pub const Vietnamese: TextScript = TextScript(9i32);
3774     pub const Default: TextScript = TextScript(10i32);
3775     pub const Symbol: TextScript = TextScript(11i32);
3776     pub const Thai: TextScript = TextScript(12i32);
3777     pub const ShiftJis: TextScript = TextScript(13i32);
3778     pub const GB2312: TextScript = TextScript(14i32);
3779     pub const Hangul: TextScript = TextScript(15i32);
3780     pub const Big5: TextScript = TextScript(16i32);
3781     pub const PC437: TextScript = TextScript(17i32);
3782     pub const Oem: TextScript = TextScript(18i32);
3783     pub const Mac: TextScript = TextScript(19i32);
3784     pub const Armenian: TextScript = TextScript(20i32);
3785     pub const Syriac: TextScript = TextScript(21i32);
3786     pub const Thaana: TextScript = TextScript(22i32);
3787     pub const Devanagari: TextScript = TextScript(23i32);
3788     pub const Bengali: TextScript = TextScript(24i32);
3789     pub const Gurmukhi: TextScript = TextScript(25i32);
3790     pub const Gujarati: TextScript = TextScript(26i32);
3791     pub const Oriya: TextScript = TextScript(27i32);
3792     pub const Tamil: TextScript = TextScript(28i32);
3793     pub const Telugu: TextScript = TextScript(29i32);
3794     pub const Kannada: TextScript = TextScript(30i32);
3795     pub const Malayalam: TextScript = TextScript(31i32);
3796     pub const Sinhala: TextScript = TextScript(32i32);
3797     pub const Lao: TextScript = TextScript(33i32);
3798     pub const Tibetan: TextScript = TextScript(34i32);
3799     pub const Myanmar: TextScript = TextScript(35i32);
3800     pub const Georgian: TextScript = TextScript(36i32);
3801     pub const Jamo: TextScript = TextScript(37i32);
3802     pub const Ethiopic: TextScript = TextScript(38i32);
3803     pub const Cherokee: TextScript = TextScript(39i32);
3804     pub const Aboriginal: TextScript = TextScript(40i32);
3805     pub const Ogham: TextScript = TextScript(41i32);
3806     pub const Runic: TextScript = TextScript(42i32);
3807     pub const Khmer: TextScript = TextScript(43i32);
3808     pub const Mongolian: TextScript = TextScript(44i32);
3809     pub const Braille: TextScript = TextScript(45i32);
3810     pub const Yi: TextScript = TextScript(46i32);
3811     pub const Limbu: TextScript = TextScript(47i32);
3812     pub const TaiLe: TextScript = TextScript(48i32);
3813     pub const NewTaiLue: TextScript = TextScript(49i32);
3814     pub const SylotiNagri: TextScript = TextScript(50i32);
3815     pub const Kharoshthi: TextScript = TextScript(51i32);
3816     pub const Kayahli: TextScript = TextScript(52i32);
3817     pub const UnicodeSymbol: TextScript = TextScript(53i32);
3818     pub const Emoji: TextScript = TextScript(54i32);
3819     pub const Glagolitic: TextScript = TextScript(55i32);
3820     pub const Lisu: TextScript = TextScript(56i32);
3821     pub const Vai: TextScript = TextScript(57i32);
3822     pub const NKo: TextScript = TextScript(58i32);
3823     pub const Osmanya: TextScript = TextScript(59i32);
3824     pub const PhagsPa: TextScript = TextScript(60i32);
3825     pub const Gothic: TextScript = TextScript(61i32);
3826     pub const Deseret: TextScript = TextScript(62i32);
3827     pub const Tifinagh: TextScript = TextScript(63i32);
3828 }
3829 impl ::std::convert::From<i32> for TextScript {
from(value: i32) -> Self3830     fn from(value: i32) -> Self {
3831         Self(value)
3832     }
3833 }
3834 unsafe impl ::windows::runtime::Abi for TextScript {
3835     type Abi = Self;
3836     type DefaultType = Self;
3837 }
3838 unsafe impl ::windows::runtime::RuntimeType for TextScript {
3839     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"enum(Windows.UI.Text.TextScript;i4)");
3840 }
3841 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
3842 #[repr(transparent)]
3843 pub struct TextSetOptions(pub u32);
3844 impl TextSetOptions {
3845     pub const None: TextSetOptions = TextSetOptions(0u32);
3846     pub const UnicodeBidi: TextSetOptions = TextSetOptions(1u32);
3847     pub const Unlink: TextSetOptions = TextSetOptions(8u32);
3848     pub const Unhide: TextSetOptions = TextSetOptions(16u32);
3849     pub const CheckTextLimit: TextSetOptions = TextSetOptions(32u32);
3850     pub const FormatRtf: TextSetOptions = TextSetOptions(8192u32);
3851     pub const ApplyRtfDocumentDefaults: TextSetOptions = TextSetOptions(16384u32);
3852 }
3853 impl ::std::convert::From<u32> for TextSetOptions {
from(value: u32) -> Self3854     fn from(value: u32) -> Self {
3855         Self(value)
3856     }
3857 }
3858 unsafe impl ::windows::runtime::Abi for TextSetOptions {
3859     type Abi = Self;
3860     type DefaultType = Self;
3861 }
3862 unsafe impl ::windows::runtime::RuntimeType for TextSetOptions {
3863     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"enum(Windows.UI.Text.TextSetOptions;u4)");
3864 }
3865 impl ::std::ops::BitOr for TextSetOptions {
3866     type Output = Self;
bitor(self, rhs: Self) -> Self3867     fn bitor(self, rhs: Self) -> Self {
3868         Self(self.0 | rhs.0)
3869     }
3870 }
3871 impl ::std::ops::BitAnd for TextSetOptions {
3872     type Output = Self;
bitand(self, rhs: Self) -> Self3873     fn bitand(self, rhs: Self) -> Self {
3874         Self(self.0 & rhs.0)
3875     }
3876 }
3877 impl ::std::ops::BitOrAssign for TextSetOptions {
bitor_assign(&mut self, rhs: Self)3878     fn bitor_assign(&mut self, rhs: Self) {
3879         self.0.bitor_assign(rhs.0)
3880     }
3881 }
3882 impl ::std::ops::BitAndAssign for TextSetOptions {
bitand_assign(&mut self, rhs: Self)3883     fn bitand_assign(&mut self, rhs: Self) {
3884         self.0.bitand_assign(rhs.0)
3885     }
3886 }
3887 impl ::std::ops::Not for TextSetOptions {
3888     type Output = Self;
not(self) -> Self3889     fn not(self) -> Self {
3890         Self(self.0.not())
3891     }
3892 }
3893 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
3894 #[repr(transparent)]
3895 pub struct UnderlineType(pub i32);
3896 impl UnderlineType {
3897     pub const Undefined: UnderlineType = UnderlineType(0i32);
3898     pub const None: UnderlineType = UnderlineType(1i32);
3899     pub const Single: UnderlineType = UnderlineType(2i32);
3900     pub const Words: UnderlineType = UnderlineType(3i32);
3901     pub const Double: UnderlineType = UnderlineType(4i32);
3902     pub const Dotted: UnderlineType = UnderlineType(5i32);
3903     pub const Dash: UnderlineType = UnderlineType(6i32);
3904     pub const DashDot: UnderlineType = UnderlineType(7i32);
3905     pub const DashDotDot: UnderlineType = UnderlineType(8i32);
3906     pub const Wave: UnderlineType = UnderlineType(9i32);
3907     pub const Thick: UnderlineType = UnderlineType(10i32);
3908     pub const Thin: UnderlineType = UnderlineType(11i32);
3909     pub const DoubleWave: UnderlineType = UnderlineType(12i32);
3910     pub const HeavyWave: UnderlineType = UnderlineType(13i32);
3911     pub const LongDash: UnderlineType = UnderlineType(14i32);
3912     pub const ThickDash: UnderlineType = UnderlineType(15i32);
3913     pub const ThickDashDot: UnderlineType = UnderlineType(16i32);
3914     pub const ThickDashDotDot: UnderlineType = UnderlineType(17i32);
3915     pub const ThickDotted: UnderlineType = UnderlineType(18i32);
3916     pub const ThickLongDash: UnderlineType = UnderlineType(19i32);
3917 }
3918 impl ::std::convert::From<i32> for UnderlineType {
from(value: i32) -> Self3919     fn from(value: i32) -> Self {
3920         Self(value)
3921     }
3922 }
3923 unsafe impl ::windows::runtime::Abi for UnderlineType {
3924     type Abi = Self;
3925     type DefaultType = Self;
3926 }
3927 unsafe impl ::windows::runtime::RuntimeType for UnderlineType {
3928     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"enum(Windows.UI.Text.UnderlineType;i4)");
3929 }
3930 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
3931 #[repr(transparent)]
3932 pub struct VerticalCharacterAlignment(pub i32);
3933 impl VerticalCharacterAlignment {
3934     pub const Top: VerticalCharacterAlignment = VerticalCharacterAlignment(0i32);
3935     pub const Baseline: VerticalCharacterAlignment = VerticalCharacterAlignment(1i32);
3936     pub const Bottom: VerticalCharacterAlignment = VerticalCharacterAlignment(2i32);
3937 }
3938 impl ::std::convert::From<i32> for VerticalCharacterAlignment {
from(value: i32) -> Self3939     fn from(value: i32) -> Self {
3940         Self(value)
3941     }
3942 }
3943 unsafe impl ::windows::runtime::Abi for VerticalCharacterAlignment {
3944     type Abi = Self;
3945     type DefaultType = Self;
3946 }
3947 unsafe impl ::windows::runtime::RuntimeType for VerticalCharacterAlignment {
3948     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"enum(Windows.UI.Text.VerticalCharacterAlignment;i4)");
3949 }
3950