| /** | |
| * Windows API header module | |
| * | |
| * Translated from MinGW Windows headers | |
| * | |
| * License: $(LINK2 http://www.boost.org/LICENSE_1_0.txt, Boost License 1.0) | |
| * Source: $(DRUNTIMESRC core/sys/windows/_richedit.d) | |
| */ | |
| module core.sys.windows.richedit; | |
| version (Windows): | |
| version (ANSI) {} else version = Unicode; | |
| import core.sys.windows.windef, core.sys.windows.winuser; | |
| import core.sys.windows.wingdi; // for LF_FACESIZE | |
| align(4): | |
| version (Unicode) { | |
| const wchar[] RICHEDIT_CLASS = "RichEdit20W"; | |
| } else { | |
| const char[] RICHEDIT_CLASS = "RichEdit20A"; | |
| } | |
| enum RICHEDIT_CLASS10A = "RICHEDIT"; | |
| const TCHAR[] | |
| CF_RTF = "Rich Text Format", | |
| CF_RTFNOOBJS = "Rich Text Format Without Objects", | |
| CF_RETEXTOBJ = "RichEdit Text and Objects"; | |
| enum DWORD | |
| CFM_BOLD = 1, | |
| CFM_ITALIC = 2, | |
| CFM_UNDERLINE = 4, | |
| CFM_STRIKEOUT = 8, | |
| CFM_PROTECTED = 16, | |
| CFM_LINK = 32, | |
| CFM_SIZE = 0x80000000, | |
| CFM_COLOR = 0x40000000, | |
| CFM_FACE = 0x20000000, | |
| CFM_OFFSET = 0x10000000, | |
| CFM_CHARSET = 0x08000000, | |
| CFM_SUBSCRIPT = 0x00030000, | |
| CFM_SUPERSCRIPT = 0x00030000; | |
| enum DWORD | |
| CFE_BOLD = 1, | |
| CFE_ITALIC = 2, | |
| CFE_UNDERLINE = 4, | |
| CFE_STRIKEOUT = 8, | |
| CFE_PROTECTED = 16, | |
| CFE_SUBSCRIPT = 0x00010000, | |
| CFE_SUPERSCRIPT = 0x00020000, | |
| CFE_AUTOCOLOR = 0x40000000; | |
| enum CFM_EFFECTS = CFM_BOLD | CFM_ITALIC | CFM_UNDERLINE | CFM_COLOR | |
| | CFM_STRIKEOUT | CFE_PROTECTED | CFM_LINK; | |
| // flags for EM_SETIMEOPTIONS | |
| enum LPARAM | |
| IMF_FORCENONE = 1, | |
| IMF_FORCEENABLE = 2, | |
| IMF_FORCEDISABLE = 4, | |
| IMF_CLOSESTATUSWINDOW = 8, | |
| IMF_VERTICAL = 32, | |
| IMF_FORCEACTIVE = 64, | |
| IMF_FORCEINACTIVE = 128, | |
| IMF_FORCEREMEMBER = 256; | |
| enum SEL_EMPTY=0; | |
| enum SEL_TEXT=1; | |
| enum SEL_OBJECT=2; | |
| enum SEL_MULTICHAR=4; | |
| enum SEL_MULTIOBJECT=8; | |
| enum MAX_TAB_STOPS=32; | |
| enum PFM_ALIGNMENT=8; | |
| enum PFM_NUMBERING=32; | |
| enum PFM_OFFSET=4; | |
| enum PFM_OFFSETINDENT=0x80000000; | |
| enum PFM_RIGHTINDENT=2; | |
| enum PFM_STARTINDENT=1; | |
| enum PFM_TABSTOPS=16; | |
| enum PFM_BORDER=2048; | |
| enum PFM_LINESPACING=256; | |
| enum PFM_NUMBERINGSTART=32768; | |
| enum PFM_NUMBERINGSTYLE=8192; | |
| enum PFM_NUMBERINGTAB=16384; | |
| enum PFM_SHADING=4096; | |
| enum PFM_SPACEAFTER=128; | |
| enum PFM_SPACEBEFORE=64; | |
| enum PFM_STYLE=1024; | |
| enum PFM_DONOTHYPHEN=4194304; | |
| enum PFM_KEEP=131072; | |
| enum PFM_KEEPNEXT=262144; | |
| enum PFM_NOLINENUMBER=1048576; | |
| enum PFM_NOWIDOWCONTROL=2097152; | |
| enum PFM_PAGEBREAKBEFORE=524288; | |
| enum PFM_RTLPARA=65536; | |
| enum PFM_SIDEBYSIDE=8388608; | |
| enum PFM_TABLE=1073741824; | |
| enum PFN_BULLET=1; | |
| enum PFE_DONOTHYPHEN=64; | |
| enum PFE_KEEP=2; | |
| enum PFE_KEEPNEXT=4; | |
| enum PFE_NOLINENUMBER=16; | |
| enum PFE_NOWIDOWCONTROL=32; | |
| enum PFE_PAGEBREAKBEFORE=8; | |
| enum PFE_RTLPARA=1; | |
| enum PFE_SIDEBYSIDE=128; | |
| enum PFE_TABLE=16384; | |
| enum PFA_LEFT=1; | |
| enum PFA_RIGHT=2; | |
| enum PFA_CENTER=3; | |
| enum PFA_JUSTIFY=4; | |
| enum PFA_FULL_INTERWORD=4; | |
| enum SF_TEXT=1; | |
| enum SF_RTF=2; | |
| enum SF_RTFNOOBJS=3; | |
| enum SF_TEXTIZED=4; | |
| enum SF_UNICODE=16; | |
| enum SF_USECODEPAGE=32; | |
| enum SF_NCRFORNONASCII=64; | |
| enum SF_RTFVAL=0x0700; | |
| enum SFF_PWD=0x0800; | |
| enum SFF_KEEPDOCINFO=0x1000; | |
| enum SFF_PERSISTVIEWSCALE=0x2000; | |
| enum SFF_PLAINRTF=0x4000; | |
| enum SFF_SELECTION=0x8000; | |
| enum WB_CLASSIFY = 3; | |
| enum WB_MOVEWORDLEFT = 4; | |
| enum WB_MOVEWORDRIGHT = 5; | |
| enum WB_LEFTBREAK = 6; | |
| enum WB_RIGHTBREAK = 7; | |
| enum WB_MOVEWORDPREV = 4; | |
| enum WB_MOVEWORDNEXT = 5; | |
| enum WB_PREVBREAK = 6; | |
| enum WB_NEXTBREAK = 7; | |
| enum WBF_WORDWRAP = 16; | |
| enum WBF_WORDBREAK = 32; | |
| enum WBF_OVERFLOW = 64; | |
| enum WBF_LEVEL1 = 128; | |
| enum WBF_LEVEL2 = 256; | |
| enum WBF_CUSTOM = 512; | |
| enum ES_DISABLENOSCROLL = 8192; | |
| enum ES_SUNKEN = 16384; | |
| enum ES_SAVESEL = 32768; | |
| enum ES_EX_NOCALLOLEINIT = 16777216; | |
| enum ES_NOIME = 524288; | |
| enum ES_NOOLEDRAGDROP = 8; | |
| enum ES_SELECTIONBAR = 16777216; | |
| enum ES_SELFIME = 262144; | |
| enum ES_VERTICAL = 4194304; | |
| enum EM_CANPASTE = WM_USER+50; | |
| enum EM_DISPLAYBAND = WM_USER+51; | |
| enum EM_EXGETSEL = WM_USER+52; | |
| enum EM_EXLIMITTEXT = WM_USER+53; | |
| enum EM_EXLINEFROMCHAR = WM_USER+54; | |
| enum EM_EXSETSEL = WM_USER+55; | |
| enum EM_FINDTEXT = WM_USER+56; | |
| enum EM_FORMATRANGE = WM_USER+57; | |
| enum EM_GETCHARFORMAT = WM_USER+58; | |
| enum EM_GETEVENTMASK = WM_USER+59; | |
| enum EM_GETOLEINTERFACE = WM_USER+60; | |
| enum EM_GETPARAFORMAT = WM_USER+61; | |
| enum EM_GETSELTEXT = WM_USER+62; | |
| enum EM_HIDESELECTION = WM_USER+63; | |
| enum EM_PASTESPECIAL = WM_USER+64; | |
| enum EM_REQUESTRESIZE = WM_USER+65; | |
| enum EM_SELECTIONTYPE = WM_USER+66; | |
| enum EM_SETBKGNDCOLOR = WM_USER+67; | |
| enum EM_SETCHARFORMAT = WM_USER+68; | |
| enum EM_SETEVENTMASK = WM_USER+69; | |
| enum EM_SETOLECALLBACK = WM_USER+70; | |
| enum EM_SETPARAFORMAT = WM_USER+71; | |
| enum EM_SETTARGETDEVICE = WM_USER+72; | |
| enum EM_STREAMIN = WM_USER+73; | |
| enum EM_STREAMOUT = WM_USER+74; | |
| enum EM_GETTEXTRANGE = WM_USER+75; | |
| enum EM_FINDWORDBREAK = WM_USER+76; | |
| enum EM_SETOPTIONS = WM_USER+77; | |
| enum EM_GETOPTIONS = WM_USER+78; | |
| enum EM_FINDTEXTEX = WM_USER+79; | |
| enum EM_GETWORDBREAKPROCEX = WM_USER+80; | |
| enum EM_SETWORDBREAKPROCEX = WM_USER+81; | |
| /* RichEdit 2.0 messages */ | |
| enum EM_SETUNDOLIMIT = WM_USER+82; | |
| enum EM_REDO = WM_USER+84; | |
| enum EM_CANREDO = WM_USER+85; | |
| enum EM_GETUNDONAME = WM_USER+86; | |
| enum EM_GETREDONAME = WM_USER+87; | |
| enum EM_STOPGROUPTYPING = WM_USER+88; | |
| enum EM_SETTEXTMODE = WM_USER+89; | |
| enum EM_GETTEXTMODE = WM_USER+90; | |
| enum EM_AUTOURLDETECT = WM_USER+91; | |
| enum EM_GETAUTOURLDETECT = WM_USER + 92; | |
| enum EM_SETPALETTE = WM_USER + 93; | |
| enum EM_GETTEXTEX = WM_USER+94; | |
| enum EM_GETTEXTLENGTHEX = WM_USER+95; | |
| enum EM_SHOWSCROLLBAR = WM_USER+96; | |
| enum EM_SETTEXTEX = WM_USER + 97; | |
| enum EM_SETPUNCTUATION = WM_USER + 100; | |
| enum EM_GETPUNCTUATION = WM_USER + 101; | |
| enum EM_SETWORDWRAPMODE = WM_USER + 102; | |
| enum EM_GETWORDWRAPMODE = WM_USER + 103; | |
| enum EM_SETIMECOLOR = WM_USER + 104; | |
| enum EM_GETIMECOLOR = WM_USER + 105; | |
| enum EM_SETIMEOPTIONS = WM_USER + 106; | |
| enum EM_GETIMEOPTIONS = WM_USER + 107; | |
| enum EM_SETLANGOPTIONS = WM_USER+120; | |
| enum EM_GETLANGOPTIONS = WM_USER+121; | |
| enum EM_GETIMECOMPMODE = WM_USER+122; | |
| enum EM_FINDTEXTW = WM_USER + 123; | |
| enum EM_FINDTEXTEXW = WM_USER + 124; | |
| enum EM_RECONVERSION = WM_USER + 125; | |
| enum EM_SETBIDIOPTIONS = WM_USER + 200; | |
| enum EM_GETBIDIOPTIONS = WM_USER + 201; | |
| enum EM_SETTYPOGRAPHYOPTIONS = WM_USER+202; | |
| enum EM_GETTYPOGRAPHYOPTIONS = WM_USER+203; | |
| enum EM_SETEDITSTYLE = WM_USER + 204; | |
| enum EM_GETEDITSTYLE = WM_USER + 205; | |
| enum EM_GETSCROLLPOS = WM_USER+221; | |
| enum EM_SETSCROLLPOS = WM_USER+222; | |
| enum EM_SETFONTSIZE = WM_USER+223; | |
| enum EM_GETZOOM = WM_USER+224; | |
| enum EM_SETZOOM = WM_USER+225; | |
| enum EN_MSGFILTER = 1792; | |
| enum EN_REQUESTRESIZE = 1793; | |
| enum EN_SELCHANGE = 1794; | |
| enum EN_DROPFILES = 1795; | |
| enum EN_PROTECTED = 1796; | |
| enum EN_CORRECTTEXT = 1797; | |
| enum EN_STOPNOUNDO = 1798; | |
| enum EN_IMECHANGE = 1799; | |
| enum EN_SAVECLIPBOARD = 1800; | |
| enum EN_OLEOPFAILED = 1801; | |
| enum EN_LINK = 1803; | |
| enum ENM_NONE = 0; | |
| enum ENM_CHANGE = 1; | |
| enum ENM_UPDATE = 2; | |
| enum ENM_SCROLL = 4; | |
| enum ENM_SCROLLEVENTS = 8; | |
| enum ENM_DRAGDROPDONE = 16; | |
| enum ENM_KEYEVENTS = 65536; | |
| enum ENM_MOUSEEVENTS = 131072; | |
| enum ENM_REQUESTRESIZE = 262144; | |
| enum ENM_SELCHANGE = 524288; | |
| enum ENM_DROPFILES = 1048576; | |
| enum ENM_PROTECTED = 2097152; | |
| enum ENM_CORRECTTEXT = 4194304; | |
| enum ENM_IMECHANGE = 8388608; | |
| enum ENM_LANGCHANGE = 16777216; | |
| enum ENM_OBJECTPOSITIONS = 33554432; | |
| enum ENM_LINK = 67108864; | |
| enum ECO_AUTOWORDSELECTION=1; | |
| enum ECO_AUTOVSCROLL=64; | |
| enum ECO_AUTOHSCROLL=128; | |
| enum ECO_NOHIDESEL=256; | |
| enum ECO_READONLY=2048; | |
| enum ECO_WANTRETURN=4096; | |
| enum ECO_SAVESEL=0x8000; | |
| enum ECO_SELECTIONBAR=0x1000000; | |
| enum ECO_VERTICAL=0x400000; | |
| enum { | |
| ECOOP_SET = 1, | |
| ECOOP_OR, | |
| ECOOP_AND, | |
| ECOOP_XOR | |
| } | |
| enum SCF_DEFAULT = 0; | |
| enum SCF_SELECTION = 1; | |
| enum SCF_WORD = 2; | |
| enum SCF_ALL = 4; | |
| enum SCF_USEUIRULES = 8; | |
| alias TEXTMODE = DWORD; | |
| enum TM_PLAINTEXT=1; | |
| enum TM_RICHTEXT=2; | |
| enum TM_SINGLELEVELUNDO=4; | |
| enum TM_MULTILEVELUNDO=8; | |
| enum TM_SINGLECODEPAGE=16; | |
| enum TM_MULTICODEPAGE=32; | |
| enum GT_DEFAULT=0; | |
| enum GT_USECRLF=1; | |
| enum yHeightCharPtsMost=1638; | |
| enum lDefaultTab=720; | |
| alias UNDONAMEID = DWORD; | |
| enum UID_UNKNOWN = 0; | |
| enum UID_TYPING = 1; | |
| enum UID_DELETE = 2; | |
| enum UID_DRAGDROP = 3; | |
| enum UID_CUT = 4; | |
| enum UID_PASTE = 5; | |
| struct CHARFORMATA { | |
| UINT cbSize = this.sizeof; | |
| DWORD dwMask; | |
| DWORD dwEffects; | |
| LONG yHeight; | |
| LONG yOffset; | |
| COLORREF crTextColor; | |
| BYTE bCharSet; | |
| BYTE bPitchAndFamily; | |
| char[LF_FACESIZE] szFaceName = 0; | |
| } | |
| struct CHARFORMATW { | |
| UINT cbSize = this.sizeof; | |
| DWORD dwMask; | |
| DWORD dwEffects; | |
| LONG yHeight; | |
| LONG yOffset; | |
| COLORREF crTextColor; | |
| BYTE bCharSet; | |
| BYTE bPitchAndFamily; | |
| WCHAR[LF_FACESIZE] szFaceName = 0; | |
| } | |
| struct CHARFORMAT2A { | |
| UINT cbSize = this.sizeof; | |
| DWORD dwMask; | |
| DWORD dwEffects; | |
| LONG yHeight; | |
| LONG yOffset; | |
| COLORREF crTextColor; | |
| BYTE bCharSet; | |
| BYTE bPitchAndFamily; | |
| char[LF_FACESIZE] szFaceName = 0; | |
| WORD wWeight; | |
| SHORT sSpacing; | |
| COLORREF crBackColor; | |
| LCID lcid; | |
| DWORD dwReserved; | |
| SHORT sStyle; | |
| WORD wKerning; | |
| BYTE bUnderlineType; | |
| BYTE bAnimation; | |
| BYTE bRevAuthor; | |
| } | |
| struct CHARFORMAT2W { | |
| UINT cbSize = this.sizeof; | |
| DWORD dwMask; | |
| DWORD dwEffects; | |
| LONG yHeight; | |
| LONG yOffset; | |
| COLORREF crTextColor; | |
| BYTE bCharSet; | |
| BYTE bPitchAndFamily; | |
| WCHAR[LF_FACESIZE] szFaceName = 0; | |
| WORD wWeight; | |
| SHORT sSpacing; | |
| COLORREF crBackColor; | |
| LCID lcid; | |
| DWORD dwReserved; | |
| SHORT sStyle; | |
| WORD wKerning; | |
| BYTE bUnderlineType; | |
| BYTE bAnimation; | |
| BYTE bRevAuthor; | |
| } | |
| struct CHARRANGE { | |
| LONG cpMin; | |
| LONG cpMax; | |
| } | |
| struct COMPCOLOR { | |
| COLORREF crText; | |
| COLORREF crBackground; | |
| DWORD dwEffects; | |
| } | |
| extern (Windows) { | |
| alias EDITSTREAMCALLBACK = DWORD function(DWORD_PTR,PBYTE,LONG,LONG*); | |
| } | |
| struct EDITSTREAM { | |
| align(4): | |
| DWORD_PTR dwCookie; | |
| DWORD dwError; | |
| EDITSTREAMCALLBACK pfnCallback; | |
| } | |
| struct ENCORRECTTEXT { | |
| align(4): | |
| NMHDR nmhdr; | |
| CHARRANGE chrg; | |
| WORD seltyp; | |
| } | |
| struct ENDROPFILES { | |
| align(4): | |
| NMHDR nmhdr; | |
| HANDLE hDrop; | |
| LONG cp; | |
| BOOL fProtected; | |
| } | |
| struct ENLINK { | |
| align(4): | |
| NMHDR nmhdr; | |
| UINT msg; | |
| WPARAM wParam; | |
| LPARAM lParam; | |
| CHARRANGE chrg; | |
| } | |
| struct ENOLEOPFAILED { | |
| align(4): | |
| NMHDR nmhdr; | |
| LONG iob; | |
| LONG lOper; | |
| HRESULT hr; | |
| } | |
| struct ENPROTECTED { | |
| align(4): | |
| NMHDR nmhdr; | |
| UINT msg; | |
| WPARAM wParam; | |
| LPARAM lParam; | |
| CHARRANGE chrg; | |
| } | |
| alias LPENPROTECTED = ENPROTECTED*; | |
| struct ENSAVECLIPBOARD { | |
| align(4): | |
| NMHDR nmhdr; | |
| LONG cObjectCount; | |
| LONG cch; | |
| } | |
| struct FINDTEXTA { | |
| CHARRANGE chrg; | |
| LPSTR lpstrText; | |
| } | |
| struct FINDTEXTW { | |
| CHARRANGE chrg; | |
| LPWSTR lpstrText; | |
| } | |
| struct FINDTEXTEXA { | |
| CHARRANGE chrg; | |
| LPSTR lpstrText; | |
| CHARRANGE chrgText; | |
| } | |
| struct FINDTEXTEXW { | |
| CHARRANGE chrg; | |
| LPWSTR lpstrText; | |
| CHARRANGE chrgText; | |
| } | |
| struct FORMATRANGE { | |
| HDC hdc; | |
| HDC hdcTarget; | |
| RECT rc; | |
| RECT rcPage; | |
| CHARRANGE chrg; | |
| } | |
| struct MSGFILTER { | |
| align(4): | |
| NMHDR nmhdr; | |
| UINT msg; | |
| WPARAM wParam; | |
| LPARAM lParam; | |
| } | |
| struct PARAFORMAT { | |
| UINT cbSize = this.sizeof; | |
| DWORD dwMask; | |
| WORD wNumbering; | |
| WORD wReserved; | |
| LONG dxStartIndent; | |
| LONG dxRightIndent; | |
| LONG dxOffset; | |
| WORD wAlignment; | |
| SHORT cTabCount; | |
| LONG[MAX_TAB_STOPS] rgxTabs; | |
| } | |
| struct PARAFORMAT2 { | |
| UINT cbSize = this.sizeof; | |
| DWORD dwMask; | |
| WORD wNumbering; | |
| WORD wEffects; | |
| LONG dxStartIndent; | |
| LONG dxRightIndent; | |
| LONG dxOffset; | |
| WORD wAlignment; | |
| SHORT cTabCount; | |
| LONG[MAX_TAB_STOPS] rgxTabs; | |
| LONG dySpaceBefore; | |
| LONG dySpaceAfter; | |
| LONG dyLineSpacing; | |
| SHORT sStype; | |
| BYTE bLineSpacingRule; | |
| BYTE bOutlineLevel; | |
| WORD wShadingWeight; | |
| WORD wShadingStyle; | |
| WORD wNumberingStart; | |
| WORD wNumberingStyle; | |
| WORD wNumberingTab; | |
| WORD wBorderSpace; | |
| WORD wBorderWidth; | |
| WORD wBorders; | |
| } | |
| struct SELCHANGE { | |
| NMHDR nmhdr; | |
| CHARRANGE chrg; | |
| WORD seltyp; | |
| } | |
| struct TEXTRANGEA { | |
| CHARRANGE chrg; | |
| LPSTR lpstrText; | |
| } | |
| struct TEXTRANGEW { | |
| CHARRANGE chrg; | |
| LPWSTR lpstrText; | |
| } | |
| struct REQRESIZE { | |
| NMHDR nmhdr; | |
| RECT rc; | |
| } | |
| struct REPASTESPECIAL { | |
| align(4): | |
| DWORD dwAspect; | |
| DWORD_PTR dwParam; | |
| } | |
| struct PUNCTUATION { | |
| align(4): | |
| UINT iSize; | |
| LPSTR szPunctuation; | |
| } | |
| struct GETTEXTEX { | |
| align(4): | |
| DWORD cb; | |
| DWORD flags; | |
| UINT codepage; | |
| LPCSTR lpDefaultChar; | |
| LPBOOL lpUsedDefChar; | |
| } | |
| extern (Windows) { | |
| alias EDITWORDBREAKPROCEX = LONG function(char*,LONG,BYTE,INT); | |
| } | |
| /* Defines for EM_SETTYPOGRAPHYOPTIONS */ | |
| enum TO_ADVANCEDTYPOGRAPHY = 1; | |
| enum TO_SIMPLELINEBREAK = 2; | |
| /* Defines for GETTEXTLENGTHEX */ | |
| enum GTL_DEFAULT = 0; | |
| enum GTL_USECRLF = 1; | |
| enum GTL_PRECISE = 2; | |
| enum GTL_CLOSE = 4; | |
| enum GTL_NUMCHARS = 8; | |
| enum GTL_NUMBYTES = 16; | |
| struct GETTEXTLENGTHEX { | |
| align(4): | |
| DWORD flags; | |
| UINT codepage; | |
| } | |
| version (Unicode) { | |
| alias CHARFORMAT = CHARFORMATW; | |
| alias CHARFORMAT2 = CHARFORMAT2W; | |
| alias FINDTEXT = FINDTEXTW; | |
| alias FINDTEXTEX = FINDTEXTEXW; | |
| alias TEXTRANGE = TEXTRANGEW; | |
| } else { | |
| alias CHARFORMAT = CHARFORMATA; | |
| alias CHARFORMAT2 = CHARFORMAT2A; | |
| alias FINDTEXT = FINDTEXTA; | |
| alias FINDTEXTEX = FINDTEXTEXA; | |
| alias TEXTRANGE = TEXTRANGEA; | |
| } |