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