1 #![allow(non_snake_case, non_camel_case_types, non_upper_case_globals, clashing_extern_declarations, clippy::all)]
2 #[cfg(feature = "UI_Text_Core")]
3 pub mod Core;
4 #[link(name = "windows")]
5 extern "system" {}
6 #[repr(transparent)]
7 pub struct CaretType(pub i32);
8 impl CaretType {
9     pub const Normal: Self = Self(0i32);
10     pub const Null: Self = Self(1i32);
11 }
12 impl ::core::marker::Copy for CaretType {}
13 impl ::core::clone::Clone for CaretType {
clone(&self) -> Self14     fn clone(&self) -> Self {
15         *self
16     }
17 }
18 pub type ContentLinkInfo = *mut ::core::ffi::c_void;
19 #[repr(transparent)]
20 pub struct FindOptions(pub u32);
21 impl FindOptions {
22     pub const None: Self = Self(0u32);
23     pub const Word: Self = Self(2u32);
24     pub const Case: Self = Self(4u32);
25 }
26 impl ::core::marker::Copy for FindOptions {}
27 impl ::core::clone::Clone for FindOptions {
clone(&self) -> Self28     fn clone(&self) -> Self {
29         *self
30     }
31 }
32 #[repr(transparent)]
33 pub struct FontStretch(pub i32);
34 impl FontStretch {
35     pub const Undefined: Self = Self(0i32);
36     pub const UltraCondensed: Self = Self(1i32);
37     pub const ExtraCondensed: Self = Self(2i32);
38     pub const Condensed: Self = Self(3i32);
39     pub const SemiCondensed: Self = Self(4i32);
40     pub const Normal: Self = Self(5i32);
41     pub const SemiExpanded: Self = Self(6i32);
42     pub const Expanded: Self = Self(7i32);
43     pub const ExtraExpanded: Self = Self(8i32);
44     pub const UltraExpanded: Self = Self(9i32);
45 }
46 impl ::core::marker::Copy for FontStretch {}
47 impl ::core::clone::Clone for FontStretch {
clone(&self) -> Self48     fn clone(&self) -> Self {
49         *self
50     }
51 }
52 #[repr(transparent)]
53 pub struct FontStyle(pub i32);
54 impl FontStyle {
55     pub const Normal: Self = Self(0i32);
56     pub const Oblique: Self = Self(1i32);
57     pub const Italic: Self = Self(2i32);
58 }
59 impl ::core::marker::Copy for FontStyle {}
60 impl ::core::clone::Clone for FontStyle {
clone(&self) -> Self61     fn clone(&self) -> Self {
62         *self
63     }
64 }
65 #[repr(C)]
66 pub struct FontWeight {
67     pub Weight: u16,
68 }
69 impl ::core::marker::Copy for FontWeight {}
70 impl ::core::clone::Clone for FontWeight {
clone(&self) -> Self71     fn clone(&self) -> Self {
72         *self
73     }
74 }
75 pub type FontWeights = *mut ::core::ffi::c_void;
76 #[repr(transparent)]
77 pub struct FormatEffect(pub i32);
78 impl FormatEffect {
79     pub const Off: Self = Self(0i32);
80     pub const On: Self = Self(1i32);
81     pub const Toggle: Self = Self(2i32);
82     pub const Undefined: Self = Self(3i32);
83 }
84 impl ::core::marker::Copy for FormatEffect {}
85 impl ::core::clone::Clone for FormatEffect {
clone(&self) -> Self86     fn clone(&self) -> Self {
87         *self
88     }
89 }
90 #[repr(transparent)]
91 pub struct HorizontalCharacterAlignment(pub i32);
92 impl HorizontalCharacterAlignment {
93     pub const Left: Self = Self(0i32);
94     pub const Right: Self = Self(1i32);
95     pub const Center: Self = Self(2i32);
96 }
97 impl ::core::marker::Copy for HorizontalCharacterAlignment {}
98 impl ::core::clone::Clone for HorizontalCharacterAlignment {
clone(&self) -> Self99     fn clone(&self) -> Self {
100         *self
101     }
102 }
103 pub type ITextCharacterFormat = *mut ::core::ffi::c_void;
104 pub type ITextDocument = *mut ::core::ffi::c_void;
105 pub type ITextParagraphFormat = *mut ::core::ffi::c_void;
106 pub type ITextRange = *mut ::core::ffi::c_void;
107 pub type ITextSelection = *mut ::core::ffi::c_void;
108 #[repr(transparent)]
109 pub struct LetterCase(pub i32);
110 impl LetterCase {
111     pub const Lower: Self = Self(0i32);
112     pub const Upper: Self = Self(1i32);
113 }
114 impl ::core::marker::Copy for LetterCase {}
115 impl ::core::clone::Clone for LetterCase {
clone(&self) -> Self116     fn clone(&self) -> Self {
117         *self
118     }
119 }
120 #[repr(transparent)]
121 pub struct LineSpacingRule(pub i32);
122 impl LineSpacingRule {
123     pub const Undefined: Self = Self(0i32);
124     pub const Single: Self = Self(1i32);
125     pub const OneAndHalf: Self = Self(2i32);
126     pub const Double: Self = Self(3i32);
127     pub const AtLeast: Self = Self(4i32);
128     pub const Exactly: Self = Self(5i32);
129     pub const Multiple: Self = Self(6i32);
130     pub const Percent: Self = Self(7i32);
131 }
132 impl ::core::marker::Copy for LineSpacingRule {}
133 impl ::core::clone::Clone for LineSpacingRule {
clone(&self) -> Self134     fn clone(&self) -> Self {
135         *self
136     }
137 }
138 #[repr(transparent)]
139 pub struct LinkType(pub i32);
140 impl LinkType {
141     pub const Undefined: Self = Self(0i32);
142     pub const NotALink: Self = Self(1i32);
143     pub const ClientLink: Self = Self(2i32);
144     pub const FriendlyLinkName: Self = Self(3i32);
145     pub const FriendlyLinkAddress: Self = Self(4i32);
146     pub const AutoLink: Self = Self(5i32);
147     pub const AutoLinkEmail: Self = Self(6i32);
148     pub const AutoLinkPhone: Self = Self(7i32);
149     pub const AutoLinkPath: Self = Self(8i32);
150 }
151 impl ::core::marker::Copy for LinkType {}
152 impl ::core::clone::Clone for LinkType {
clone(&self) -> Self153     fn clone(&self) -> Self {
154         *self
155     }
156 }
157 #[repr(transparent)]
158 pub struct MarkerAlignment(pub i32);
159 impl MarkerAlignment {
160     pub const Undefined: Self = Self(0i32);
161     pub const Left: Self = Self(1i32);
162     pub const Center: Self = Self(2i32);
163     pub const Right: Self = Self(3i32);
164 }
165 impl ::core::marker::Copy for MarkerAlignment {}
166 impl ::core::clone::Clone for MarkerAlignment {
clone(&self) -> Self167     fn clone(&self) -> Self {
168         *self
169     }
170 }
171 #[repr(transparent)]
172 pub struct MarkerStyle(pub i32);
173 impl MarkerStyle {
174     pub const Undefined: Self = Self(0i32);
175     pub const Parenthesis: Self = Self(1i32);
176     pub const Parentheses: Self = Self(2i32);
177     pub const Period: Self = Self(3i32);
178     pub const Plain: Self = Self(4i32);
179     pub const Minus: Self = Self(5i32);
180     pub const NoNumber: Self = Self(6i32);
181 }
182 impl ::core::marker::Copy for MarkerStyle {}
183 impl ::core::clone::Clone for MarkerStyle {
clone(&self) -> Self184     fn clone(&self) -> Self {
185         *self
186     }
187 }
188 #[repr(transparent)]
189 pub struct MarkerType(pub i32);
190 impl MarkerType {
191     pub const Undefined: Self = Self(0i32);
192     pub const None: Self = Self(1i32);
193     pub const Bullet: Self = Self(2i32);
194     pub const Arabic: Self = Self(3i32);
195     pub const LowercaseEnglishLetter: Self = Self(4i32);
196     pub const UppercaseEnglishLetter: Self = Self(5i32);
197     pub const LowercaseRoman: Self = Self(6i32);
198     pub const UppercaseRoman: Self = Self(7i32);
199     pub const UnicodeSequence: Self = Self(8i32);
200     pub const CircledNumber: Self = Self(9i32);
201     pub const BlackCircleWingding: Self = Self(10i32);
202     pub const WhiteCircleWingding: Self = Self(11i32);
203     pub const ArabicWide: Self = Self(12i32);
204     pub const SimplifiedChinese: Self = Self(13i32);
205     pub const TraditionalChinese: Self = Self(14i32);
206     pub const JapanSimplifiedChinese: Self = Self(15i32);
207     pub const JapanKorea: Self = Self(16i32);
208     pub const ArabicDictionary: Self = Self(17i32);
209     pub const ArabicAbjad: Self = Self(18i32);
210     pub const Hebrew: Self = Self(19i32);
211     pub const ThaiAlphabetic: Self = Self(20i32);
212     pub const ThaiNumeric: Self = Self(21i32);
213     pub const DevanagariVowel: Self = Self(22i32);
214     pub const DevanagariConsonant: Self = Self(23i32);
215     pub const DevanagariNumeric: Self = Self(24i32);
216 }
217 impl ::core::marker::Copy for MarkerType {}
218 impl ::core::clone::Clone for MarkerType {
clone(&self) -> Self219     fn clone(&self) -> Self {
220         *self
221     }
222 }
223 #[repr(transparent)]
224 pub struct ParagraphAlignment(pub i32);
225 impl ParagraphAlignment {
226     pub const Undefined: Self = Self(0i32);
227     pub const Left: Self = Self(1i32);
228     pub const Center: Self = Self(2i32);
229     pub const Right: Self = Self(3i32);
230     pub const Justify: Self = Self(4i32);
231 }
232 impl ::core::marker::Copy for ParagraphAlignment {}
233 impl ::core::clone::Clone for ParagraphAlignment {
clone(&self) -> Self234     fn clone(&self) -> Self {
235         *self
236     }
237 }
238 #[repr(transparent)]
239 pub struct ParagraphStyle(pub i32);
240 impl ParagraphStyle {
241     pub const Undefined: Self = Self(0i32);
242     pub const None: Self = Self(1i32);
243     pub const Normal: Self = Self(2i32);
244     pub const Heading1: Self = Self(3i32);
245     pub const Heading2: Self = Self(4i32);
246     pub const Heading3: Self = Self(5i32);
247     pub const Heading4: Self = Self(6i32);
248     pub const Heading5: Self = Self(7i32);
249     pub const Heading6: Self = Self(8i32);
250     pub const Heading7: Self = Self(9i32);
251     pub const Heading8: Self = Self(10i32);
252     pub const Heading9: Self = Self(11i32);
253 }
254 impl ::core::marker::Copy for ParagraphStyle {}
255 impl ::core::clone::Clone for ParagraphStyle {
clone(&self) -> Self256     fn clone(&self) -> Self {
257         *self
258     }
259 }
260 #[repr(transparent)]
261 pub struct PointOptions(pub u32);
262 impl PointOptions {
263     pub const None: Self = Self(0u32);
264     pub const IncludeInset: Self = Self(1u32);
265     pub const Start: Self = Self(32u32);
266     pub const ClientCoordinates: Self = Self(256u32);
267     pub const AllowOffClient: Self = Self(512u32);
268     pub const Transform: Self = Self(1024u32);
269     pub const NoHorizontalScroll: Self = Self(65536u32);
270     pub const NoVerticalScroll: Self = Self(262144u32);
271 }
272 impl ::core::marker::Copy for PointOptions {}
273 impl ::core::clone::Clone for PointOptions {
clone(&self) -> Self274     fn clone(&self) -> Self {
275         *self
276     }
277 }
278 #[repr(transparent)]
279 pub struct RangeGravity(pub i32);
280 impl RangeGravity {
281     pub const UIBehavior: Self = Self(0i32);
282     pub const Backward: Self = Self(1i32);
283     pub const Forward: Self = Self(2i32);
284     pub const Inward: Self = Self(3i32);
285     pub const Outward: Self = Self(4i32);
286 }
287 impl ::core::marker::Copy for RangeGravity {}
288 impl ::core::clone::Clone for RangeGravity {
clone(&self) -> Self289     fn clone(&self) -> Self {
290         *self
291     }
292 }
293 #[repr(transparent)]
294 pub struct RichEditMathMode(pub i32);
295 impl RichEditMathMode {
296     pub const NoMath: Self = Self(0i32);
297     pub const MathOnly: Self = Self(1i32);
298 }
299 impl ::core::marker::Copy for RichEditMathMode {}
300 impl ::core::clone::Clone for RichEditMathMode {
clone(&self) -> Self301     fn clone(&self) -> Self {
302         *self
303     }
304 }
305 pub type RichEditTextDocument = *mut ::core::ffi::c_void;
306 pub type RichEditTextRange = *mut ::core::ffi::c_void;
307 #[repr(transparent)]
308 pub struct SelectionOptions(pub u32);
309 impl SelectionOptions {
310     pub const StartActive: Self = Self(1u32);
311     pub const AtEndOfLine: Self = Self(2u32);
312     pub const Overtype: Self = Self(4u32);
313     pub const Active: Self = Self(8u32);
314     pub const Replace: Self = Self(16u32);
315 }
316 impl ::core::marker::Copy for SelectionOptions {}
317 impl ::core::clone::Clone for SelectionOptions {
clone(&self) -> Self318     fn clone(&self) -> Self {
319         *self
320     }
321 }
322 #[repr(transparent)]
323 pub struct SelectionType(pub i32);
324 impl SelectionType {
325     pub const None: Self = Self(0i32);
326     pub const InsertionPoint: Self = Self(1i32);
327     pub const Normal: Self = Self(2i32);
328     pub const InlineShape: Self = Self(7i32);
329     pub const Shape: Self = Self(8i32);
330 }
331 impl ::core::marker::Copy for SelectionType {}
332 impl ::core::clone::Clone for SelectionType {
clone(&self) -> Self333     fn clone(&self) -> Self {
334         *self
335     }
336 }
337 #[repr(transparent)]
338 pub struct TabAlignment(pub i32);
339 impl TabAlignment {
340     pub const Left: Self = Self(0i32);
341     pub const Center: Self = Self(1i32);
342     pub const Right: Self = Self(2i32);
343     pub const Decimal: Self = Self(3i32);
344     pub const Bar: Self = Self(4i32);
345 }
346 impl ::core::marker::Copy for TabAlignment {}
347 impl ::core::clone::Clone for TabAlignment {
clone(&self) -> Self348     fn clone(&self) -> Self {
349         *self
350     }
351 }
352 #[repr(transparent)]
353 pub struct TabLeader(pub i32);
354 impl TabLeader {
355     pub const Spaces: Self = Self(0i32);
356     pub const Dots: Self = Self(1i32);
357     pub const Dashes: Self = Self(2i32);
358     pub const Lines: Self = Self(3i32);
359     pub const ThickLines: Self = Self(4i32);
360     pub const Equals: Self = Self(5i32);
361 }
362 impl ::core::marker::Copy for TabLeader {}
363 impl ::core::clone::Clone for TabLeader {
clone(&self) -> Self364     fn clone(&self) -> Self {
365         *self
366     }
367 }
368 #[repr(transparent)]
369 pub struct TextDecorations(pub u32);
370 impl TextDecorations {
371     pub const None: Self = Self(0u32);
372     pub const Underline: Self = Self(1u32);
373     pub const Strikethrough: Self = Self(2u32);
374 }
375 impl ::core::marker::Copy for TextDecorations {}
376 impl ::core::clone::Clone for TextDecorations {
clone(&self) -> Self377     fn clone(&self) -> Self {
378         *self
379     }
380 }
381 #[repr(transparent)]
382 pub struct TextGetOptions(pub u32);
383 impl TextGetOptions {
384     pub const None: Self = Self(0u32);
385     pub const AdjustCrlf: Self = Self(1u32);
386     pub const UseCrlf: Self = Self(2u32);
387     pub const UseObjectText: Self = Self(4u32);
388     pub const AllowFinalEop: Self = Self(8u32);
389     pub const NoHidden: Self = Self(32u32);
390     pub const IncludeNumbering: Self = Self(64u32);
391     pub const FormatRtf: Self = Self(8192u32);
392     pub const UseLf: Self = Self(16777216u32);
393 }
394 impl ::core::marker::Copy for TextGetOptions {}
395 impl ::core::clone::Clone for TextGetOptions {
clone(&self) -> Self396     fn clone(&self) -> Self {
397         *self
398     }
399 }
400 #[repr(transparent)]
401 pub struct TextRangeUnit(pub i32);
402 impl TextRangeUnit {
403     pub const Character: Self = Self(0i32);
404     pub const Word: Self = Self(1i32);
405     pub const Sentence: Self = Self(2i32);
406     pub const Paragraph: Self = Self(3i32);
407     pub const Line: Self = Self(4i32);
408     pub const Story: Self = Self(5i32);
409     pub const Screen: Self = Self(6i32);
410     pub const Section: Self = Self(7i32);
411     pub const Window: Self = Self(8i32);
412     pub const CharacterFormat: Self = Self(9i32);
413     pub const ParagraphFormat: Self = Self(10i32);
414     pub const Object: Self = Self(11i32);
415     pub const HardParagraph: Self = Self(12i32);
416     pub const Cluster: Self = Self(13i32);
417     pub const Bold: Self = Self(14i32);
418     pub const Italic: Self = Self(15i32);
419     pub const Underline: Self = Self(16i32);
420     pub const Strikethrough: Self = Self(17i32);
421     pub const ProtectedText: Self = Self(18i32);
422     pub const Link: Self = Self(19i32);
423     pub const SmallCaps: Self = Self(20i32);
424     pub const AllCaps: Self = Self(21i32);
425     pub const Hidden: Self = Self(22i32);
426     pub const Outline: Self = Self(23i32);
427     pub const Shadow: Self = Self(24i32);
428     pub const Imprint: Self = Self(25i32);
429     pub const Disabled: Self = Self(26i32);
430     pub const Revised: Self = Self(27i32);
431     pub const Subscript: Self = Self(28i32);
432     pub const Superscript: Self = Self(29i32);
433     pub const FontBound: Self = Self(30i32);
434     pub const LinkProtected: Self = Self(31i32);
435     pub const ContentLink: Self = Self(32i32);
436 }
437 impl ::core::marker::Copy for TextRangeUnit {}
438 impl ::core::clone::Clone for TextRangeUnit {
clone(&self) -> Self439     fn clone(&self) -> Self {
440         *self
441     }
442 }
443 #[repr(transparent)]
444 pub struct TextScript(pub i32);
445 impl TextScript {
446     pub const Undefined: Self = Self(0i32);
447     pub const Ansi: Self = Self(1i32);
448     pub const EastEurope: Self = Self(2i32);
449     pub const Cyrillic: Self = Self(3i32);
450     pub const Greek: Self = Self(4i32);
451     pub const Turkish: Self = Self(5i32);
452     pub const Hebrew: Self = Self(6i32);
453     pub const Arabic: Self = Self(7i32);
454     pub const Baltic: Self = Self(8i32);
455     pub const Vietnamese: Self = Self(9i32);
456     pub const Default: Self = Self(10i32);
457     pub const Symbol: Self = Self(11i32);
458     pub const Thai: Self = Self(12i32);
459     pub const ShiftJis: Self = Self(13i32);
460     pub const GB2312: Self = Self(14i32);
461     pub const Hangul: Self = Self(15i32);
462     pub const Big5: Self = Self(16i32);
463     pub const PC437: Self = Self(17i32);
464     pub const Oem: Self = Self(18i32);
465     pub const Mac: Self = Self(19i32);
466     pub const Armenian: Self = Self(20i32);
467     pub const Syriac: Self = Self(21i32);
468     pub const Thaana: Self = Self(22i32);
469     pub const Devanagari: Self = Self(23i32);
470     pub const Bengali: Self = Self(24i32);
471     pub const Gurmukhi: Self = Self(25i32);
472     pub const Gujarati: Self = Self(26i32);
473     pub const Oriya: Self = Self(27i32);
474     pub const Tamil: Self = Self(28i32);
475     pub const Telugu: Self = Self(29i32);
476     pub const Kannada: Self = Self(30i32);
477     pub const Malayalam: Self = Self(31i32);
478     pub const Sinhala: Self = Self(32i32);
479     pub const Lao: Self = Self(33i32);
480     pub const Tibetan: Self = Self(34i32);
481     pub const Myanmar: Self = Self(35i32);
482     pub const Georgian: Self = Self(36i32);
483     pub const Jamo: Self = Self(37i32);
484     pub const Ethiopic: Self = Self(38i32);
485     pub const Cherokee: Self = Self(39i32);
486     pub const Aboriginal: Self = Self(40i32);
487     pub const Ogham: Self = Self(41i32);
488     pub const Runic: Self = Self(42i32);
489     pub const Khmer: Self = Self(43i32);
490     pub const Mongolian: Self = Self(44i32);
491     pub const Braille: Self = Self(45i32);
492     pub const Yi: Self = Self(46i32);
493     pub const Limbu: Self = Self(47i32);
494     pub const TaiLe: Self = Self(48i32);
495     pub const NewTaiLue: Self = Self(49i32);
496     pub const SylotiNagri: Self = Self(50i32);
497     pub const Kharoshthi: Self = Self(51i32);
498     pub const Kayahli: Self = Self(52i32);
499     pub const UnicodeSymbol: Self = Self(53i32);
500     pub const Emoji: Self = Self(54i32);
501     pub const Glagolitic: Self = Self(55i32);
502     pub const Lisu: Self = Self(56i32);
503     pub const Vai: Self = Self(57i32);
504     pub const NKo: Self = Self(58i32);
505     pub const Osmanya: Self = Self(59i32);
506     pub const PhagsPa: Self = Self(60i32);
507     pub const Gothic: Self = Self(61i32);
508     pub const Deseret: Self = Self(62i32);
509     pub const Tifinagh: Self = Self(63i32);
510 }
511 impl ::core::marker::Copy for TextScript {}
512 impl ::core::clone::Clone for TextScript {
clone(&self) -> Self513     fn clone(&self) -> Self {
514         *self
515     }
516 }
517 #[repr(transparent)]
518 pub struct TextSetOptions(pub u32);
519 impl TextSetOptions {
520     pub const None: Self = Self(0u32);
521     pub const UnicodeBidi: Self = Self(1u32);
522     pub const Unlink: Self = Self(8u32);
523     pub const Unhide: Self = Self(16u32);
524     pub const CheckTextLimit: Self = Self(32u32);
525     pub const FormatRtf: Self = Self(8192u32);
526     pub const ApplyRtfDocumentDefaults: Self = Self(16384u32);
527 }
528 impl ::core::marker::Copy for TextSetOptions {}
529 impl ::core::clone::Clone for TextSetOptions {
clone(&self) -> Self530     fn clone(&self) -> Self {
531         *self
532     }
533 }
534 #[repr(transparent)]
535 pub struct UnderlineType(pub i32);
536 impl UnderlineType {
537     pub const Undefined: Self = Self(0i32);
538     pub const None: Self = Self(1i32);
539     pub const Single: Self = Self(2i32);
540     pub const Words: Self = Self(3i32);
541     pub const Double: Self = Self(4i32);
542     pub const Dotted: Self = Self(5i32);
543     pub const Dash: Self = Self(6i32);
544     pub const DashDot: Self = Self(7i32);
545     pub const DashDotDot: Self = Self(8i32);
546     pub const Wave: Self = Self(9i32);
547     pub const Thick: Self = Self(10i32);
548     pub const Thin: Self = Self(11i32);
549     pub const DoubleWave: Self = Self(12i32);
550     pub const HeavyWave: Self = Self(13i32);
551     pub const LongDash: Self = Self(14i32);
552     pub const ThickDash: Self = Self(15i32);
553     pub const ThickDashDot: Self = Self(16i32);
554     pub const ThickDashDotDot: Self = Self(17i32);
555     pub const ThickDotted: Self = Self(18i32);
556     pub const ThickLongDash: Self = Self(19i32);
557 }
558 impl ::core::marker::Copy for UnderlineType {}
559 impl ::core::clone::Clone for UnderlineType {
clone(&self) -> Self560     fn clone(&self) -> Self {
561         *self
562     }
563 }
564 #[repr(transparent)]
565 pub struct VerticalCharacterAlignment(pub i32);
566 impl VerticalCharacterAlignment {
567     pub const Top: Self = Self(0i32);
568     pub const Baseline: Self = Self(1i32);
569     pub const Bottom: Self = Self(2i32);
570 }
571 impl ::core::marker::Copy for VerticalCharacterAlignment {}
572 impl ::core::clone::Clone for VerticalCharacterAlignment {
clone(&self) -> Self573     fn clone(&self) -> Self {
574         *self
575     }
576 }
577