diff win32/richedit.d @ 1:4a9dcbd9e54f

-files of 0.13 beta -fixes so that it now compiles with the current dmd version
author marton@basel.hu
date Tue, 05 Apr 2011 20:44:01 +0200
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/win32/richedit.d	Tue Apr 05 20:44:01 2011 +0200
@@ -0,0 +1,581 @@
+/***********************************************************************\
+*                               richedit.d                              *
+*                                                                       *
+*                       Windows API header module                       *
+*                                                                       *
+*                 Translated from MinGW Windows headers                 *
+*                                                                       *
+*                       Placed into public domain                       *
+\***********************************************************************/
+module win32.richedit;
+
+private import win32.windef, win32.winuser;
+private import win32.wingdi; // for LF_FACESIZE
+
+align(4):
+
+version(Unicode) {
+	const wchar[] RICHEDIT_CLASS = "RichEdit20W";
+} else {
+	const char[] RICHEDIT_CLASS  = "RichEdit20A";
+}
+
+const RICHEDIT_CLASS10A = "RICHEDIT";
+
+const TCHAR[]
+	CF_RTF       = "Rich Text Format",
+	CF_RTFNOOBJS = "Rich Text Format Without Objects",
+	CF_RETEXTOBJ = "RichEdit Text and Objects";
+
+const 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;
+
+const 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;
+
+const CFM_EFFECTS = CFM_BOLD | CFM_ITALIC | CFM_UNDERLINE | CFM_COLOR
+  | CFM_STRIKEOUT | CFE_PROTECTED | CFM_LINK;
+
+// flags for EM_SETIMEOPTIONS
+const 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;
+
+const SEL_EMPTY=0;
+const SEL_TEXT=1;
+const SEL_OBJECT=2;
+const SEL_MULTICHAR=4;
+const SEL_MULTIOBJECT=8;
+
+const MAX_TAB_STOPS=32;
+
+const PFM_ALIGNMENT=8;
+const PFM_NUMBERING=32;
+const PFM_OFFSET=4;
+const PFM_OFFSETINDENT=0x80000000;
+const PFM_RIGHTINDENT=2;
+const PFM_STARTINDENT=1;
+const PFM_TABSTOPS=16;
+const PFM_BORDER=2048;
+const PFM_LINESPACING=256;
+const PFM_NUMBERINGSTART=32768;
+const PFM_NUMBERINGSTYLE=8192;
+const PFM_NUMBERINGTAB=16384;
+const PFM_SHADING=4096;
+const PFM_SPACEAFTER=128;
+const PFM_SPACEBEFORE=64;
+const PFM_STYLE=1024;
+const PFM_DONOTHYPHEN=4194304;
+const PFM_KEEP=131072;
+const PFM_KEEPNEXT=262144;
+const PFM_NOLINENUMBER=1048576;
+const PFM_NOWIDOWCONTROL=2097152;
+const PFM_PAGEBREAKBEFORE=524288;
+const PFM_RTLPARA=65536;
+const PFM_SIDEBYSIDE=8388608;
+const PFM_TABLE=1073741824;
+const PFN_BULLET=1;
+
+const PFE_DONOTHYPHEN=64;
+const PFE_KEEP=2;
+const PFE_KEEPNEXT=4;
+const PFE_NOLINENUMBER=16;
+const PFE_NOWIDOWCONTROL=32;
+const PFE_PAGEBREAKBEFORE=8;
+const PFE_RTLPARA=1;
+const PFE_SIDEBYSIDE=128;
+const PFE_TABLE=16384;
+const PFA_LEFT=1;
+const PFA_RIGHT=2;
+const PFA_CENTER=3;
+const PFA_JUSTIFY=4;
+const PFA_FULL_INTERWORD=4;
+
+const SF_TEXT=1;
+const SF_RTF=2;
+const SF_RTFNOOBJS=3;
+const SF_TEXTIZED=4;
+const SF_UNICODE=16;
+const SF_USECODEPAGE=32;
+const SF_NCRFORNONASCII=64;
+const SF_RTFVAL=0x0700;
+
+const SFF_PWD=0x0800;
+const SFF_KEEPDOCINFO=0x1000;
+const SFF_PERSISTVIEWSCALE=0x2000;
+const SFF_PLAINRTF=0x4000;
+const SFF_SELECTION=0x8000;
+
+const WB_CLASSIFY      = 3;
+const WB_MOVEWORDLEFT  = 4;
+const WB_MOVEWORDRIGHT = 5;
+const WB_LEFTBREAK     = 6;
+const WB_RIGHTBREAK    = 7;
+const WB_MOVEWORDPREV  = 4;
+const WB_MOVEWORDNEXT  = 5;
+const WB_PREVBREAK     = 6;
+const WB_NEXTBREAK     = 7;
+
+const WBF_WORDWRAP  = 16;
+const WBF_WORDBREAK = 32;
+const WBF_OVERFLOW  = 64;
+const WBF_LEVEL1    = 128;
+const WBF_LEVEL2    = 256;
+const WBF_CUSTOM    = 512;
+
+const ES_DISABLENOSCROLL  = 8192;
+const ES_SUNKEN           = 16384;
+const ES_SAVESEL          = 32768;
+const ES_EX_NOCALLOLEINIT = 16777216;
+const ES_NOIME            = 524288;
+const ES_NOOLEDRAGDROP    = 8;
+const ES_SELECTIONBAR     = 16777216;
+const ES_SELFIME          = 262144;
+const ES_VERTICAL         = 4194304;
+
+const EM_CANPASTE = WM_USER+50;
+const EM_DISPLAYBAND = WM_USER+51;
+const EM_EXGETSEL = WM_USER+52;
+const EM_EXLIMITTEXT = WM_USER+53;
+const EM_EXLINEFROMCHAR = WM_USER+54;
+const EM_EXSETSEL = WM_USER+55;
+const EM_FINDTEXT = WM_USER+56;
+const EM_FORMATRANGE = WM_USER+57;
+const EM_GETCHARFORMAT = WM_USER+58;
+const EM_GETEVENTMASK = WM_USER+59;
+const EM_GETOLEINTERFACE = WM_USER+60;
+const EM_GETPARAFORMAT = WM_USER+61;
+const EM_GETSELTEXT = WM_USER+62;
+const EM_HIDESELECTION = WM_USER+63;
+const EM_PASTESPECIAL = WM_USER+64;
+const EM_REQUESTRESIZE = WM_USER+65;
+const EM_SELECTIONTYPE = WM_USER+66;
+const EM_SETBKGNDCOLOR = WM_USER+67;
+const EM_SETCHARFORMAT = WM_USER+68;
+const EM_SETEVENTMASK = WM_USER+69;
+const EM_SETOLECALLBACK = WM_USER+70;
+const EM_SETPARAFORMAT = WM_USER+71;
+const EM_SETTARGETDEVICE = WM_USER+72;
+const EM_STREAMIN = WM_USER+73;
+const EM_STREAMOUT = WM_USER+74;
+const EM_GETTEXTRANGE = WM_USER+75;
+const EM_FINDWORDBREAK = WM_USER+76;
+const EM_SETOPTIONS = WM_USER+77;
+const EM_GETOPTIONS = WM_USER+78;
+const EM_FINDTEXTEX = WM_USER+79;
+const EM_GETWORDBREAKPROCEX = WM_USER+80;
+const EM_SETWORDBREAKPROCEX = WM_USER+81;
+/* RichEdit 2.0 messages */
+const EM_SETUNDOLIMIT = WM_USER+82;
+const EM_REDO = WM_USER+84;
+const EM_CANREDO = WM_USER+85;
+const EM_GETUNDONAME = WM_USER+86;
+const EM_GETREDONAME = WM_USER+87;
+const EM_STOPGROUPTYPING = WM_USER+88;
+const EM_SETTEXTMODE = WM_USER+89;
+const EM_GETTEXTMODE = WM_USER+90;
+const EM_AUTOURLDETECT = WM_USER+91;
+const EM_GETAUTOURLDETECT = WM_USER + 92;
+const EM_SETPALETTE = WM_USER + 93;
+const EM_GETTEXTEX = WM_USER+94;
+const EM_GETTEXTLENGTHEX = WM_USER+95;
+const EM_SHOWSCROLLBAR = WM_USER+96;
+const EM_SETTEXTEX = WM_USER + 97;
+const EM_SETPUNCTUATION = WM_USER + 100;
+const EM_GETPUNCTUATION = WM_USER + 101;
+const EM_SETWORDWRAPMODE = WM_USER + 102;
+const EM_GETWORDWRAPMODE = WM_USER + 103;
+const EM_SETIMECOLOR = WM_USER + 104;
+const EM_GETIMECOLOR = WM_USER + 105;
+const EM_SETIMEOPTIONS = WM_USER + 106;
+const EM_GETIMEOPTIONS = WM_USER + 107;
+const EM_SETLANGOPTIONS = WM_USER+120;
+const EM_GETLANGOPTIONS = WM_USER+121;
+const EM_GETIMECOMPMODE = WM_USER+122;
+const EM_FINDTEXTW = WM_USER + 123;
+const EM_FINDTEXTEXW = WM_USER + 124;
+const EM_RECONVERSION = WM_USER + 125;
+const EM_SETBIDIOPTIONS = WM_USER + 200;
+const EM_GETBIDIOPTIONS = WM_USER + 201;
+const EM_SETTYPOGRAPHYOPTIONS = WM_USER+202;
+const EM_GETTYPOGRAPHYOPTIONS = WM_USER+203;
+const EM_SETEDITSTYLE = WM_USER + 204;
+const EM_GETEDITSTYLE = WM_USER + 205;
+const EM_GETSCROLLPOS = WM_USER+221;
+const EM_SETSCROLLPOS = WM_USER+222;
+const EM_SETFONTSIZE = WM_USER+223;
+const EM_GETZOOM = WM_USER+224;
+const EM_SETZOOM = WM_USER+225;
+
+const EN_MSGFILTER     = 1792;
+const EN_REQUESTRESIZE = 1793;
+const EN_SELCHANGE     = 1794;
+const EN_DROPFILES     = 1795;
+const EN_PROTECTED     = 1796;
+const EN_CORRECTTEXT   = 1797;
+const EN_STOPNOUNDO    = 1798;
+const EN_IMECHANGE     = 1799;
+const EN_SAVECLIPBOARD = 1800;
+const EN_OLEOPFAILED   = 1801;
+const EN_LINK          = 1803;
+
+const ENM_NONE            = 0;
+const ENM_CHANGE          = 1;
+const ENM_UPDATE          = 2;
+const ENM_SCROLL          = 4;
+const ENM_SCROLLEVENTS    = 8;
+const ENM_DRAGDROPDONE    = 16;
+const ENM_KEYEVENTS       = 65536;
+const ENM_MOUSEEVENTS     = 131072;
+const ENM_REQUESTRESIZE   = 262144;
+const ENM_SELCHANGE       = 524288;
+const ENM_DROPFILES       = 1048576;
+const ENM_PROTECTED       = 2097152;
+const ENM_CORRECTTEXT     = 4194304;
+const ENM_IMECHANGE       = 8388608;
+const ENM_LANGCHANGE      = 16777216;
+const ENM_OBJECTPOSITIONS = 33554432;
+const ENM_LINK            = 67108864;
+
+const ECO_AUTOWORDSELECTION=1;
+const ECO_AUTOVSCROLL=64;
+const ECO_AUTOHSCROLL=128;
+const ECO_NOHIDESEL=256;
+const ECO_READONLY=2048;
+const ECO_WANTRETURN=4096;
+const ECO_SAVESEL=0x8000;
+const ECO_SELECTIONBAR=0x1000000;
+const ECO_VERTICAL=0x400000;
+
+enum {
+	ECOOP_SET = 1,
+	ECOOP_OR,
+	ECOOP_AND,
+	ECOOP_XOR
+}
+
+const SCF_DEFAULT    = 0;
+const SCF_SELECTION  = 1;
+const SCF_WORD       = 2;
+const SCF_ALL        = 4;
+const SCF_USEUIRULES = 8;
+
+const TM_PLAINTEXT=1;
+const TM_RICHTEXT=2;
+const TM_SINGLELEVELUNDO=4;
+const TM_MULTILEVELUNDO=8;
+const TM_SINGLECODEPAGE=16;
+const TM_MULTICODEPAGE=32;
+
+const GT_DEFAULT=0;
+const GT_USECRLF=1;
+
+const yHeightCharPtsMost=1638;
+const lDefaultTab=720;
+
+struct CHARFORMATA {
+	UINT cbSize = this.sizeof;
+	DWORD dwMask;
+	DWORD dwEffects;
+	LONG yHeight;
+	LONG yOffset;
+	COLORREF crTextColor;
+	BYTE bCharSet;
+	BYTE bPitchAndFamily;
+	char szFaceName[LF_FACESIZE];
+}
+struct CHARFORMATW {
+	UINT cbSize = this.sizeof;
+	DWORD dwMask;
+	DWORD dwEffects;
+	LONG yHeight;
+	LONG yOffset;
+	COLORREF crTextColor;
+	BYTE bCharSet;
+	BYTE bPitchAndFamily;
+	WCHAR szFaceName[LF_FACESIZE];
+}
+
+struct CHARFORMAT2A {
+	UINT cbSize = this.sizeof;
+	DWORD dwMask;
+	DWORD dwEffects;
+	LONG yHeight;
+	LONG yOffset;
+	COLORREF crTextColor;
+	BYTE bCharSet;
+	BYTE bPitchAndFamily;
+	char szFaceName[LF_FACESIZE];
+	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 szFaceName[LF_FACESIZE];
+	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,PBYTE,LONG,LONG*) EDITSTREAMCALLBACK;
+}
+
+struct EDITSTREAM {
+	DWORD dwCookie;
+	DWORD dwError;
+	EDITSTREAMCALLBACK pfnCallback;
+}
+
+struct ENCORRECTTEXT {
+	NMHDR nmhdr;
+	CHARRANGE chrg;
+	WORD seltyp;
+}
+
+struct ENDROPFILES {
+	NMHDR nmhdr;
+	HANDLE hDrop;
+	LONG cp;
+	BOOL fProtected;
+}
+
+struct ENLINK {
+	NMHDR nmhdr;
+	UINT msg;
+	WPARAM wParam;
+	LPARAM lParam;
+	CHARRANGE chrg;
+}
+
+struct ENOLEOPFAILED {
+	NMHDR nmhdr;
+	LONG iob;
+	LONG lOper;
+	HRESULT hr;
+}
+
+struct ENPROTECTED {
+	NMHDR nmhdr;
+	UINT msg;
+	WPARAM wParam;
+	LPARAM lParam;
+	CHARRANGE chrg;
+}
+alias ENPROTECTED* LPENPROTECTED;
+
+struct ENSAVECLIPBOARD {
+	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 {
+	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 rgxTabs[MAX_TAB_STOPS];
+}
+
+struct PARAFORMAT2 {
+	UINT cbSize = this.sizeof;
+	DWORD dwMask;
+	WORD wNumbering;
+	WORD wEffects;
+	LONG dxStartIndent;
+	LONG dxRightIndent;
+	LONG dxOffset;
+	WORD wAlignment;
+	SHORT cTabCount;
+	LONG rgxTabs[MAX_TAB_STOPS];
+	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 {
+	DWORD dwAspect;
+	DWORD dwParam;
+}
+
+struct PUNCTUATION {
+	UINT iSize;
+	LPSTR szPunctuation;
+}
+
+struct GETTEXTEX {
+	DWORD cb;
+	DWORD flags;
+	UINT codepage;
+	LPCSTR lpDefaultChar;
+	LPBOOL lpUsedDefaultChar;
+}
+
+extern (Windows) {
+alias LONG function(char*,LONG,BYTE,INT) EDITWORDBREAKPROCEX;
+}
+
+/* Defines for EM_SETTYPOGRAPHYOPTIONS */
+const TO_ADVANCEDTYPOGRAPHY = 1;
+const TO_SIMPLELINEBREAK    = 2;
+
+/* Defines for GETTEXTLENGTHEX */
+const GTL_DEFAULT  = 0;
+const GTL_USECRLF  = 1;
+const GTL_PRECISE  = 2;
+const GTL_CLOSE    = 4;
+const GTL_NUMCHARS = 8;
+const GTL_NUMBYTES = 16;
+
+struct GETTEXTLENGTHEX {
+	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;
+}