| /** |
| * 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 src/core/sys/windows/_richedit.d) |
| */ |
| module core.sys.windows.richedit; |
| version (Windows): |
| @system: |
| |
| 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 DWORD TEXTMODE; |
| 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 DWORD UNDONAMEID; |
| 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 DWORD function(DWORD_PTR,PBYTE,LONG,LONG*) EDITSTREAMCALLBACK; |
| } |
| |
| 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 ENPROTECTED* LPENPROTECTED; |
| |
| 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 LONG function(char*,LONG,BYTE,INT) EDITWORDBREAKPROCEX; |
| } |
| |
| /* 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 CHARFORMATW CHARFORMAT; |
| alias CHARFORMAT2W CHARFORMAT2; |
| alias FINDTEXTW FINDTEXT; |
| alias FINDTEXTEXW FINDTEXTEX; |
| alias TEXTRANGEW TEXTRANGE; |
| } else { |
| alias CHARFORMATA CHARFORMAT; |
| alias CHARFORMAT2A CHARFORMAT2; |
| alias FINDTEXTA FINDTEXT; |
| alias FINDTEXTEXA FINDTEXTEX; |
| alias TEXTRANGEA TEXTRANGE; |
| } |