1 /** 2 * Windows API header module 3 * 4 * Translated from MinGW Windows headers 5 * 6 * License: $(LINK2 http://www.boost.org/LICENSE_1_0.txt, Boost License 1.0) 7 * Source: $(DRUNTIMESRC core/sys/windows/_richedit.d) 8 */ 9 /// Automatically imported and edited from the druntime module 10 /// core.sys.windows.richedit for the auto-generated win32 package. 11 module win32.richedit; 12 //version (Windows): 13 @system: 14 15 version (ANSI) {} else version = Unicode; 16 17 import win32.windef, win32.winuser; 18 import win32.wingdi; // for LF_FACESIZE 19 20 align(4): 21 22 version (Unicode) { 23 const wchar[] RICHEDIT_CLASS = "RichEdit20W"; 24 } else { 25 const char[] RICHEDIT_CLASS = "RichEdit20A"; 26 } 27 28 enum RICHEDIT_CLASS10A = "RICHEDIT"; 29 30 const TCHAR[] 31 CF_RTF = "Rich Text Format", 32 CF_RTFNOOBJS = "Rich Text Format Without Objects", 33 CF_RETEXTOBJ = "RichEdit Text and Objects"; 34 35 enum DWORD 36 CFM_BOLD = 1, 37 CFM_ITALIC = 2, 38 CFM_UNDERLINE = 4, 39 CFM_STRIKEOUT = 8, 40 CFM_PROTECTED = 16, 41 CFM_LINK = 32, 42 CFM_SIZE = 0x80000000, 43 CFM_COLOR = 0x40000000, 44 CFM_FACE = 0x20000000, 45 CFM_OFFSET = 0x10000000, 46 CFM_CHARSET = 0x08000000, 47 CFM_SUBSCRIPT = 0x00030000, 48 CFM_SUPERSCRIPT = 0x00030000; 49 50 enum DWORD 51 CFE_BOLD = 1, 52 CFE_ITALIC = 2, 53 CFE_UNDERLINE = 4, 54 CFE_STRIKEOUT = 8, 55 CFE_PROTECTED = 16, 56 CFE_SUBSCRIPT = 0x00010000, 57 CFE_SUPERSCRIPT = 0x00020000, 58 CFE_AUTOCOLOR = 0x40000000; 59 60 enum CFM_EFFECTS = CFM_BOLD | CFM_ITALIC | CFM_UNDERLINE | CFM_COLOR 61 | CFM_STRIKEOUT | CFE_PROTECTED | CFM_LINK; 62 63 // flags for EM_SETIMEOPTIONS 64 enum LPARAM 65 IMF_FORCENONE = 1, 66 IMF_FORCEENABLE = 2, 67 IMF_FORCEDISABLE = 4, 68 IMF_CLOSESTATUSWINDOW = 8, 69 IMF_VERTICAL = 32, 70 IMF_FORCEACTIVE = 64, 71 IMF_FORCEINACTIVE = 128, 72 IMF_FORCEREMEMBER = 256; 73 74 enum SEL_EMPTY=0; 75 enum SEL_TEXT=1; 76 enum SEL_OBJECT=2; 77 enum SEL_MULTICHAR=4; 78 enum SEL_MULTIOBJECT=8; 79 80 enum MAX_TAB_STOPS=32; 81 82 enum PFM_ALIGNMENT=8; 83 enum PFM_NUMBERING=32; 84 enum PFM_OFFSET=4; 85 enum PFM_OFFSETINDENT=0x80000000; 86 enum PFM_RIGHTINDENT=2; 87 enum PFM_STARTINDENT=1; 88 enum PFM_TABSTOPS=16; 89 enum PFM_BORDER=2048; 90 enum PFM_LINESPACING=256; 91 enum PFM_NUMBERINGSTART=32768; 92 enum PFM_NUMBERINGSTYLE=8192; 93 enum PFM_NUMBERINGTAB=16384; 94 enum PFM_SHADING=4096; 95 enum PFM_SPACEAFTER=128; 96 enum PFM_SPACEBEFORE=64; 97 enum PFM_STYLE=1024; 98 enum PFM_DONOTHYPHEN=4194304; 99 enum PFM_KEEP=131072; 100 enum PFM_KEEPNEXT=262144; 101 enum PFM_NOLINENUMBER=1048576; 102 enum PFM_NOWIDOWCONTROL=2097152; 103 enum PFM_PAGEBREAKBEFORE=524288; 104 enum PFM_RTLPARA=65536; 105 enum PFM_SIDEBYSIDE=8388608; 106 enum PFM_TABLE=1073741824; 107 enum PFN_BULLET=1; 108 109 enum PFE_DONOTHYPHEN=64; 110 enum PFE_KEEP=2; 111 enum PFE_KEEPNEXT=4; 112 enum PFE_NOLINENUMBER=16; 113 enum PFE_NOWIDOWCONTROL=32; 114 enum PFE_PAGEBREAKBEFORE=8; 115 enum PFE_RTLPARA=1; 116 enum PFE_SIDEBYSIDE=128; 117 enum PFE_TABLE=16384; 118 enum PFA_LEFT=1; 119 enum PFA_RIGHT=2; 120 enum PFA_CENTER=3; 121 enum PFA_JUSTIFY=4; 122 enum PFA_FULL_INTERWORD=4; 123 124 enum SF_TEXT=1; 125 enum SF_RTF=2; 126 enum SF_RTFNOOBJS=3; 127 enum SF_TEXTIZED=4; 128 enum SF_UNICODE=16; 129 enum SF_USECODEPAGE=32; 130 enum SF_NCRFORNONASCII=64; 131 enum SF_RTFVAL=0x0700; 132 133 enum SFF_PWD=0x0800; 134 enum SFF_KEEPDOCINFO=0x1000; 135 enum SFF_PERSISTVIEWSCALE=0x2000; 136 enum SFF_PLAINRTF=0x4000; 137 enum SFF_SELECTION=0x8000; 138 139 enum WB_CLASSIFY = 3; 140 enum WB_MOVEWORDLEFT = 4; 141 enum WB_MOVEWORDRIGHT = 5; 142 enum WB_LEFTBREAK = 6; 143 enum WB_RIGHTBREAK = 7; 144 enum WB_MOVEWORDPREV = 4; 145 enum WB_MOVEWORDNEXT = 5; 146 enum WB_PREVBREAK = 6; 147 enum WB_NEXTBREAK = 7; 148 149 enum WBF_WORDWRAP = 16; 150 enum WBF_WORDBREAK = 32; 151 enum WBF_OVERFLOW = 64; 152 enum WBF_LEVEL1 = 128; 153 enum WBF_LEVEL2 = 256; 154 enum WBF_CUSTOM = 512; 155 156 enum ES_DISABLENOSCROLL = 8192; 157 enum ES_SUNKEN = 16384; 158 enum ES_SAVESEL = 32768; 159 enum ES_EX_NOCALLOLEINIT = 16777216; 160 enum ES_NOIME = 524288; 161 enum ES_NOOLEDRAGDROP = 8; 162 enum ES_SELECTIONBAR = 16777216; 163 enum ES_SELFIME = 262144; 164 enum ES_VERTICAL = 4194304; 165 166 enum EM_CANPASTE = WM_USER+50; 167 enum EM_DISPLAYBAND = WM_USER+51; 168 enum EM_EXGETSEL = WM_USER+52; 169 enum EM_EXLIMITTEXT = WM_USER+53; 170 enum EM_EXLINEFROMCHAR = WM_USER+54; 171 enum EM_EXSETSEL = WM_USER+55; 172 enum EM_FINDTEXT = WM_USER+56; 173 enum EM_FORMATRANGE = WM_USER+57; 174 enum EM_GETCHARFORMAT = WM_USER+58; 175 enum EM_GETEVENTMASK = WM_USER+59; 176 enum EM_GETOLEINTERFACE = WM_USER+60; 177 enum EM_GETPARAFORMAT = WM_USER+61; 178 enum EM_GETSELTEXT = WM_USER+62; 179 enum EM_HIDESELECTION = WM_USER+63; 180 enum EM_PASTESPECIAL = WM_USER+64; 181 enum EM_REQUESTRESIZE = WM_USER+65; 182 enum EM_SELECTIONTYPE = WM_USER+66; 183 enum EM_SETBKGNDCOLOR = WM_USER+67; 184 enum EM_SETCHARFORMAT = WM_USER+68; 185 enum EM_SETEVENTMASK = WM_USER+69; 186 enum EM_SETOLECALLBACK = WM_USER+70; 187 enum EM_SETPARAFORMAT = WM_USER+71; 188 enum EM_SETTARGETDEVICE = WM_USER+72; 189 enum EM_STREAMIN = WM_USER+73; 190 enum EM_STREAMOUT = WM_USER+74; 191 enum EM_GETTEXTRANGE = WM_USER+75; 192 enum EM_FINDWORDBREAK = WM_USER+76; 193 enum EM_SETOPTIONS = WM_USER+77; 194 enum EM_GETOPTIONS = WM_USER+78; 195 enum EM_FINDTEXTEX = WM_USER+79; 196 enum EM_GETWORDBREAKPROCEX = WM_USER+80; 197 enum EM_SETWORDBREAKPROCEX = WM_USER+81; 198 /* RichEdit 2.0 messages */ 199 enum EM_SETUNDOLIMIT = WM_USER+82; 200 enum EM_REDO = WM_USER+84; 201 enum EM_CANREDO = WM_USER+85; 202 enum EM_GETUNDONAME = WM_USER+86; 203 enum EM_GETREDONAME = WM_USER+87; 204 enum EM_STOPGROUPTYPING = WM_USER+88; 205 enum EM_SETTEXTMODE = WM_USER+89; 206 enum EM_GETTEXTMODE = WM_USER+90; 207 enum EM_AUTOURLDETECT = WM_USER+91; 208 enum EM_GETAUTOURLDETECT = WM_USER + 92; 209 enum EM_SETPALETTE = WM_USER + 93; 210 enum EM_GETTEXTEX = WM_USER+94; 211 enum EM_GETTEXTLENGTHEX = WM_USER+95; 212 enum EM_SHOWSCROLLBAR = WM_USER+96; 213 enum EM_SETTEXTEX = WM_USER + 97; 214 enum EM_SETPUNCTUATION = WM_USER + 100; 215 enum EM_GETPUNCTUATION = WM_USER + 101; 216 enum EM_SETWORDWRAPMODE = WM_USER + 102; 217 enum EM_GETWORDWRAPMODE = WM_USER + 103; 218 enum EM_SETIMECOLOR = WM_USER + 104; 219 enum EM_GETIMECOLOR = WM_USER + 105; 220 enum EM_SETIMEOPTIONS = WM_USER + 106; 221 enum EM_GETIMEOPTIONS = WM_USER + 107; 222 enum EM_SETLANGOPTIONS = WM_USER+120; 223 enum EM_GETLANGOPTIONS = WM_USER+121; 224 enum EM_GETIMECOMPMODE = WM_USER+122; 225 enum EM_FINDTEXTW = WM_USER + 123; 226 enum EM_FINDTEXTEXW = WM_USER + 124; 227 enum EM_RECONVERSION = WM_USER + 125; 228 enum EM_SETBIDIOPTIONS = WM_USER + 200; 229 enum EM_GETBIDIOPTIONS = WM_USER + 201; 230 enum EM_SETTYPOGRAPHYOPTIONS = WM_USER+202; 231 enum EM_GETTYPOGRAPHYOPTIONS = WM_USER+203; 232 enum EM_SETEDITSTYLE = WM_USER + 204; 233 enum EM_GETEDITSTYLE = WM_USER + 205; 234 enum EM_GETSCROLLPOS = WM_USER+221; 235 enum EM_SETSCROLLPOS = WM_USER+222; 236 enum EM_SETFONTSIZE = WM_USER+223; 237 enum EM_GETZOOM = WM_USER+224; 238 enum EM_SETZOOM = WM_USER+225; 239 240 enum EN_MSGFILTER = 1792; 241 enum EN_REQUESTRESIZE = 1793; 242 enum EN_SELCHANGE = 1794; 243 enum EN_DROPFILES = 1795; 244 enum EN_PROTECTED = 1796; 245 enum EN_CORRECTTEXT = 1797; 246 enum EN_STOPNOUNDO = 1798; 247 enum EN_IMECHANGE = 1799; 248 enum EN_SAVECLIPBOARD = 1800; 249 enum EN_OLEOPFAILED = 1801; 250 enum EN_LINK = 1803; 251 252 enum ENM_NONE = 0; 253 enum ENM_CHANGE = 1; 254 enum ENM_UPDATE = 2; 255 enum ENM_SCROLL = 4; 256 enum ENM_SCROLLEVENTS = 8; 257 enum ENM_DRAGDROPDONE = 16; 258 enum ENM_KEYEVENTS = 65536; 259 enum ENM_MOUSEEVENTS = 131072; 260 enum ENM_REQUESTRESIZE = 262144; 261 enum ENM_SELCHANGE = 524288; 262 enum ENM_DROPFILES = 1048576; 263 enum ENM_PROTECTED = 2097152; 264 enum ENM_CORRECTTEXT = 4194304; 265 enum ENM_IMECHANGE = 8388608; 266 enum ENM_LANGCHANGE = 16777216; 267 enum ENM_OBJECTPOSITIONS = 33554432; 268 enum ENM_LINK = 67108864; 269 270 enum ECO_AUTOWORDSELECTION=1; 271 enum ECO_AUTOVSCROLL=64; 272 enum ECO_AUTOHSCROLL=128; 273 enum ECO_NOHIDESEL=256; 274 enum ECO_READONLY=2048; 275 enum ECO_WANTRETURN=4096; 276 enum ECO_SAVESEL=0x8000; 277 enum ECO_SELECTIONBAR=0x1000000; 278 enum ECO_VERTICAL=0x400000; 279 280 enum { 281 ECOOP_SET = 1, 282 ECOOP_OR, 283 ECOOP_AND, 284 ECOOP_XOR 285 } 286 287 enum SCF_DEFAULT = 0; 288 enum SCF_SELECTION = 1; 289 enum SCF_WORD = 2; 290 enum SCF_ALL = 4; 291 enum SCF_USEUIRULES = 8; 292 293 alias DWORD TEXTMODE; 294 enum TM_PLAINTEXT=1; 295 enum TM_RICHTEXT=2; 296 enum TM_SINGLELEVELUNDO=4; 297 enum TM_MULTILEVELUNDO=8; 298 enum TM_SINGLECODEPAGE=16; 299 enum TM_MULTICODEPAGE=32; 300 301 enum GT_DEFAULT=0; 302 enum GT_USECRLF=1; 303 304 enum yHeightCharPtsMost=1638; 305 enum lDefaultTab=720; 306 307 alias DWORD UNDONAMEID; 308 enum UID_UNKNOWN = 0; 309 enum UID_TYPING = 1; 310 enum UID_DELETE = 2; 311 enum UID_DRAGDROP = 3; 312 enum UID_CUT = 4; 313 enum UID_PASTE = 5; 314 315 struct CHARFORMATA { 316 UINT cbSize = this.sizeof; 317 DWORD dwMask; 318 DWORD dwEffects; 319 LONG yHeight; 320 LONG yOffset; 321 COLORREF crTextColor; 322 BYTE bCharSet; 323 BYTE bPitchAndFamily; 324 char[LF_FACESIZE] szFaceName = 0; 325 } 326 struct CHARFORMATW { 327 UINT cbSize = this.sizeof; 328 DWORD dwMask; 329 DWORD dwEffects; 330 LONG yHeight; 331 LONG yOffset; 332 COLORREF crTextColor; 333 BYTE bCharSet; 334 BYTE bPitchAndFamily; 335 WCHAR[LF_FACESIZE] szFaceName = 0; 336 } 337 338 struct CHARFORMAT2A { 339 UINT cbSize = this.sizeof; 340 DWORD dwMask; 341 DWORD dwEffects; 342 LONG yHeight; 343 LONG yOffset; 344 COLORREF crTextColor; 345 BYTE bCharSet; 346 BYTE bPitchAndFamily; 347 char[LF_FACESIZE] szFaceName = 0; 348 WORD wWeight; 349 SHORT sSpacing; 350 COLORREF crBackColor; 351 LCID lcid; 352 DWORD dwReserved; 353 SHORT sStyle; 354 WORD wKerning; 355 BYTE bUnderlineType; 356 BYTE bAnimation; 357 BYTE bRevAuthor; 358 } 359 360 struct CHARFORMAT2W { 361 UINT cbSize = this.sizeof; 362 DWORD dwMask; 363 DWORD dwEffects; 364 LONG yHeight; 365 LONG yOffset; 366 COLORREF crTextColor; 367 BYTE bCharSet; 368 BYTE bPitchAndFamily; 369 WCHAR[LF_FACESIZE] szFaceName = 0; 370 WORD wWeight; 371 SHORT sSpacing; 372 COLORREF crBackColor; 373 LCID lcid; 374 DWORD dwReserved; 375 SHORT sStyle; 376 WORD wKerning; 377 BYTE bUnderlineType; 378 BYTE bAnimation; 379 BYTE bRevAuthor; 380 } 381 382 struct CHARRANGE { 383 LONG cpMin; 384 LONG cpMax; 385 } 386 387 struct COMPCOLOR { 388 COLORREF crText; 389 COLORREF crBackground; 390 DWORD dwEffects; 391 } 392 393 extern (Windows) { 394 alias DWORD function(DWORD_PTR,PBYTE,LONG,LONG*) EDITSTREAMCALLBACK; 395 } 396 397 struct EDITSTREAM { 398 align(4): 399 DWORD_PTR dwCookie; 400 DWORD dwError; 401 EDITSTREAMCALLBACK pfnCallback; 402 } 403 404 struct ENCORRECTTEXT { 405 align(4): 406 NMHDR nmhdr; 407 CHARRANGE chrg; 408 WORD seltyp; 409 } 410 411 struct ENDROPFILES { 412 align(4): 413 NMHDR nmhdr; 414 HANDLE hDrop; 415 LONG cp; 416 BOOL fProtected; 417 } 418 419 struct ENLINK { 420 align(4): 421 NMHDR nmhdr; 422 UINT msg; 423 WPARAM wParam; 424 LPARAM lParam; 425 CHARRANGE chrg; 426 } 427 428 struct ENOLEOPFAILED { 429 align(4): 430 NMHDR nmhdr; 431 LONG iob; 432 LONG lOper; 433 HRESULT hr; 434 } 435 436 struct ENPROTECTED { 437 align(4): 438 NMHDR nmhdr; 439 UINT msg; 440 WPARAM wParam; 441 LPARAM lParam; 442 CHARRANGE chrg; 443 } 444 alias ENPROTECTED* LPENPROTECTED; 445 446 struct ENSAVECLIPBOARD { 447 align(4): 448 NMHDR nmhdr; 449 LONG cObjectCount; 450 LONG cch; 451 } 452 453 struct FINDTEXTA { 454 CHARRANGE chrg; 455 LPSTR lpstrText; 456 } 457 458 struct FINDTEXTW { 459 CHARRANGE chrg; 460 LPWSTR lpstrText; 461 } 462 463 struct FINDTEXTEXA { 464 CHARRANGE chrg; 465 LPSTR lpstrText; 466 CHARRANGE chrgText; 467 } 468 469 struct FINDTEXTEXW { 470 CHARRANGE chrg; 471 LPWSTR lpstrText; 472 CHARRANGE chrgText; 473 } 474 475 struct FORMATRANGE { 476 HDC hdc; 477 HDC hdcTarget; 478 RECT rc; 479 RECT rcPage; 480 CHARRANGE chrg; 481 } 482 483 struct MSGFILTER { 484 align(4): 485 NMHDR nmhdr; 486 UINT msg; 487 WPARAM wParam; 488 LPARAM lParam; 489 } 490 491 struct PARAFORMAT { 492 UINT cbSize = this.sizeof; 493 DWORD dwMask; 494 WORD wNumbering; 495 WORD wReserved; 496 LONG dxStartIndent; 497 LONG dxRightIndent; 498 LONG dxOffset; 499 WORD wAlignment; 500 SHORT cTabCount; 501 LONG[MAX_TAB_STOPS] rgxTabs; 502 } 503 504 struct PARAFORMAT2 { 505 UINT cbSize = this.sizeof; 506 DWORD dwMask; 507 WORD wNumbering; 508 WORD wEffects; 509 LONG dxStartIndent; 510 LONG dxRightIndent; 511 LONG dxOffset; 512 WORD wAlignment; 513 SHORT cTabCount; 514 LONG[MAX_TAB_STOPS] rgxTabs; 515 LONG dySpaceBefore; 516 LONG dySpaceAfter; 517 LONG dyLineSpacing; 518 SHORT sStype; 519 BYTE bLineSpacingRule; 520 BYTE bOutlineLevel; 521 WORD wShadingWeight; 522 WORD wShadingStyle; 523 WORD wNumberingStart; 524 WORD wNumberingStyle; 525 WORD wNumberingTab; 526 WORD wBorderSpace; 527 WORD wBorderWidth; 528 WORD wBorders; 529 } 530 531 struct SELCHANGE { 532 NMHDR nmhdr; 533 CHARRANGE chrg; 534 WORD seltyp; 535 } 536 537 struct TEXTRANGEA { 538 CHARRANGE chrg; 539 LPSTR lpstrText; 540 } 541 542 struct TEXTRANGEW { 543 CHARRANGE chrg; 544 LPWSTR lpstrText; 545 } 546 547 struct REQRESIZE { 548 NMHDR nmhdr; 549 RECT rc; 550 } 551 552 struct REPASTESPECIAL { 553 align(4): 554 DWORD dwAspect; 555 DWORD_PTR dwParam; 556 } 557 558 struct PUNCTUATION { 559 align(4): 560 UINT iSize; 561 LPSTR szPunctuation; 562 } 563 564 struct GETTEXTEX { 565 align(4): 566 DWORD cb; 567 DWORD flags; 568 UINT codepage; 569 LPCSTR lpDefaultChar; 570 LPBOOL lpUsedDefChar; 571 } 572 573 extern (Windows) { 574 alias LONG function(char*,LONG,BYTE,INT) EDITWORDBREAKPROCEX; 575 } 576 577 /* Defines for EM_SETTYPOGRAPHYOPTIONS */ 578 enum TO_ADVANCEDTYPOGRAPHY = 1; 579 enum TO_SIMPLELINEBREAK = 2; 580 581 /* Defines for GETTEXTLENGTHEX */ 582 enum GTL_DEFAULT = 0; 583 enum GTL_USECRLF = 1; 584 enum GTL_PRECISE = 2; 585 enum GTL_CLOSE = 4; 586 enum GTL_NUMCHARS = 8; 587 enum GTL_NUMBYTES = 16; 588 589 struct GETTEXTLENGTHEX { 590 align(4): 591 DWORD flags; 592 UINT codepage; 593 } 594 595 version (Unicode) { 596 alias CHARFORMATW CHARFORMAT; 597 alias CHARFORMAT2W CHARFORMAT2; 598 alias FINDTEXTW FINDTEXT; 599 alias FINDTEXTEXW FINDTEXTEX; 600 alias TEXTRANGEW TEXTRANGE; 601 } else { 602 alias CHARFORMATA CHARFORMAT; 603 alias CHARFORMAT2A CHARFORMAT2; 604 alias FINDTEXTA FINDTEXT; 605 alias FINDTEXTEXA FINDTEXTEX; 606 alias TEXTRANGEA TEXTRANGE; 607 }