Improved richedit headers.
diff --git a/dlls/richedit/riched32.h b/dlls/richedit/riched32.h
index 236bdaa..9753fc0 100644
--- a/dlls/richedit/riched32.h
+++ b/dlls/richedit/riched32.h
@@ -22,6 +22,8 @@
#ifndef __WINE_RICHED32_H
#define __WINE_RICHED32_H
+#include "windef.h"
+#include "winuser.h"
#include "richedit.h"
extern VOID RICHED32_Register (VOID);
diff --git a/include/Makefile.in b/include/Makefile.in
index 22b2246..4f18004 100644
--- a/include/Makefile.in
+++ b/include/Makefile.in
@@ -105,6 +105,7 @@
ras.h \
regstr.h \
richedit.h \
+ richole.h \
rpc.h \
rpcdce.h \
rpcdcep.h \
diff --git a/include/richedit.h b/include/richedit.h
index 5f305de..c1de5d8 100644
--- a/include/richedit.h
+++ b/include/richedit.h
@@ -1,5 +1,6 @@
/*
* Copyright (C) 2000 Jean-Claude Batista
+ * Copyright (C) 2002 Andriy Palamarchuk
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
@@ -19,7 +20,6 @@
#ifndef __WINE_RICHEDIT_H
#define __WINE_RICHEDIT_H
-#include "windef.h"
#include "pshpack4.h"
#ifdef __cplusplus
@@ -156,14 +156,24 @@
typedef DWORD (CALLBACK * EDITSTREAMCALLBACK)( DWORD, LPBYTE, LONG, LONG * );
+/* tab stops number limit */
+#define MAX_TAB_STOPS 0x00000020
+
/* Rich edit control styles */
-#define ES_SAVESEL 0x00008000
-#define ES_SUNKEN 0x00004000
#define ES_DISABLENOSCROLL 0x00002000
-#define ES_SELECTIONBAR 0x01000000
-#define ES_VERTICAL 0x00400000
-#define ES_NOIME 0x00080000
+#define ES_SUNKEN 0x00004000
+#define ES_SAVESEL 0x00008000
#define ES_SELFIME 0x00040000
+#define ES_NOIME 0x00080000
+#define ES_VERTICAL 0x00400000
+#define ES_EX_NOCALLOLEINIT 0x01000000
+
+/* the character formatting options */
+#define SCF_DEFAULT 0x00000000
+#define SCF_SELECTION 0x00000001
+#define SCF_WORD 0x00000002
+#define SCF_ALL 0x00000004
+#define SCF_USEUIRULES 0x00000008
/* CHARFORMAT structure */
typedef struct _charformat
@@ -194,17 +204,84 @@
DECL_WINELIB_TYPE_AW(CHARFORMAT)
+typedef struct _charformat2a {
+ UINT cbSize;
+ 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;
+} CHARFORMAT2A;
+
+typedef struct _charformat2w {
+ UINT cbSize;
+ 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;
+} CHARFORMAT2W;
+
+DECL_WINELIB_TYPE_AW(CHARFORMAT2)
+
/* CHARFORMAT masks */
#define CFM_BOLD 0x00000001
#define CFM_ITALIC 0x00000002
#define CFM_UNDERLINE 0x00000004
#define CFM_STRIKEOUT 0x00000008
#define CFM_PROTECTED 0x00000010
-#define CFM_SIZE 0x80000000
-#define CFM_COLOR 0x40000000
-#define CFM_FACE 0x20000000
-#define CFM_OFFSET 0x10000000
+#define CFM_LINK 0x00000020
+#define CFM_SMALLCAPS 0x00000040
+#define CFM_ALLCAPS 0x00000080
+#define CFM_HIDDEN 0x00000100
+#define CFM_OUTLINE 0x00000200
+#define CFM_SHADOW 0x00000400
+#define CFM_EMBOSS 0x00000800
+#define CFM_IMPRINT 0x00001000
+#define CFM_DISABLED 0x00002000
+#define CFM_REVISED 0x00004000
+#define CFM_REVAUTHOR 0x00008000
+#define CFM_SUBSCRIPT 0x00030000
+#define CFM_SUPERSCRIPT 0x00030000
+#define CFM_ANIMATION 0x00040000
+#define CFM_STYLE 0x00080000
+#define CFM_KERNING 0x00100000
+#define CFM_SPACING 0x00200000
+#define CFM_WEIGHT 0x00400000
+#define CFM_LCID 0x02000000
+#define CFM_BACKCOLOR 0x04000000
#define CFM_CHARSET 0x08000000
+#define CFM_OFFSET 0x10000000
+#define CFM_FACE 0x20000000
+#define CFM_COLOR 0x40000000
+#define CFM_SIZE 0x80000000
+#define CFM_EFFECTS (CFM_BOLD | CFM_ITALIC | CFM_UNDERLINE | CFM_COLOR | CFM_STRIKEOUT | CFE_PROTECTED | CFM_LINK)
/* CHARFORMAT effects */
#define CFE_BOLD 0x00000001
@@ -212,6 +289,8 @@
#define CFE_UNDERLINE 0x00000004
#define CFE_STRIKEOUT 0x00000008
#define CFE_PROTECTED 0x00000010
+#define CFE_SUBSCRIPT 0x00010000
+#define CFE_SUPERSCRIPT 0x00020000
#define CFE_AUTOCOLOR 0x40000000
/* ECO operations */
@@ -244,6 +323,7 @@
#define ENM_PROTECTED 0x00200000
#define ENM_CORRECTTEXT 0x00400000
#define ENM_IMECHANGE 0x00800000
+#define ENM_LINK 0x04000000
typedef struct _charrange
{
@@ -265,19 +345,249 @@
DECL_WINELIB_TYPE_AW(TEXTRANGE)
-typedef struct
+typedef struct _editstream
{
DWORD dwCookie;
DWORD dwError;
EDITSTREAMCALLBACK pfnCallback;
} EDITSTREAM;
-#define SF_TEXT 0x0001
-#define SF_RTF 0x0002
-#define SF_RTFNOOBJS 0x0003
-#define SF_TEXTIZED 0x0004
+typedef struct _compcolor {
+ COLORREF crText;
+ COLORREF crBackground;
+ DWORD dwEffects;
+} COMPCOLOR;
+
+typedef struct _encorrecttext {
+ NMHDR nmhdr;
+ CHARRANGE chrg;
+ WORD seltyp;
+} ENCORRECTTEXT;
+
+typedef struct _endropfiles {
+ NMHDR nmhdr;
+ HANDLE hDrop;
+ LONG cp;
+ BOOL fProtected;
+} ENDROPFILES;
+
+typedef struct _enlink {
+ NMHDR nmhdr;
+ UINT msg;
+ WPARAM wParam;
+ LPARAM lParam;
+ CHARRANGE chrg;
+} ENLINK;
+
+typedef struct {
+ NMHDR nmhdr;
+ LONG iob;
+ LONG lOper;
+ HRESULT hr;
+} ENOLEOPFAILED;
+
+typedef struct _enprotected {
+ NMHDR nmhdr;
+ UINT msg;
+ WPARAM wParam;
+ LPARAM lParam;
+ CHARRANGE chrg;
+} ENPROTECTED, *LPENPROTECTED;
+
+typedef struct _ensaveclipboard {
+ NMHDR nmhdr;
+ LONG cObjectCount;
+ LONG cch;
+} ENSAVECLIPBOARD;
+
+typedef struct _findtextA {
+ CHARRANGE chrg;
+ LPSTR lpstrText;
+} FINDTEXTA;
+
+typedef struct _findtextW {
+ CHARRANGE chrg;
+ LPWSTR lpstrText;
+} FINDTEXTW;
+
+DECL_WINELIB_TYPE_AW(FINDTEXT);
+
+typedef struct _findtextexA {
+ CHARRANGE chrg;
+ LPSTR lpstrText;
+ CHARRANGE chrgText;
+} FINDTEXTEXA;
+
+typedef struct _findtextexW {
+ CHARRANGE chrg;
+ LPWSTR lpstrText;
+ CHARRANGE chrgText;
+} FINDTEXTEXW;
+
+DECL_WINELIB_TYPE_AW(FINDTEXTEX);
+
+typedef struct _formatrange {
+ HDC hdc;
+ HDC hdcTarget;
+ RECT rc;
+ RECT rcPage;
+ CHARRANGE chrg;
+} FORMATRANGE;
+
+typedef struct _msgfilter {
+ NMHDR nmhdr;
+ UINT msg;
+ WPARAM wParam;
+ LPARAM lParam;
+} MSGFILTER;
+
+typedef struct _paraformat {
+ UINT cbSize;
+ DWORD dwMask;
+ WORD wNumbering;
+ WORD wReserved;
+ LONG dxStartIndent;
+ LONG dxRightIndent;
+ LONG dxOffset;
+ WORD wAlignment;
+ SHORT cTabCount;
+ LONG rgxTabs[MAX_TAB_STOPS];
+} PARAFORMAT;
+
+typedef struct _selchange {
+ NMHDR nmhdr;
+ CHARRANGE chrg;
+ WORD seltyp;
+} SELCHANGE;
+
+typedef struct _reqresize {
+ NMHDR nmhdr;
+ RECT rc;
+} REQRESIZE;
+
+typedef struct _repastespecial {
+ DWORD dwAspect;
+ DWORD dwParam;
+} REPASTESPECIAL;
+
+typedef struct _punctuation {
+ UINT iSize;
+ LPSTR szPunctuation;
+} PUNCTUATION;
+
+typedef struct _gettextex {
+ DWORD cb;
+ DWORD flags;
+ UINT codepage;
+ LPCSTR lpDefaultChar;
+ LPBOOL lpUsedDefaultChar;
+} GETTEXTEX;
+
+#define SF_TEXT 0x00000001
+#define SF_RTF 0x00000002
+#define SF_RTFNOOBJS 0x00000003
+#define SF_TEXTIZED 0x00000004
+#define SF_UNICODE 0x00000010
+#define SF_USECODEPAGE 0x00000020
+#define SF_NCRFORNONASCII 0x00000040
+#define SF_RTFVAL 0x00000700
+
+/* Clipboard formats */
+#define CF_RTF TEXT("Rich Text Format")
+#define CF_RTFNOOBJS TEXT("Rich Text Format Without Objects")
+#define CF_RETEXTOBJ TEXT("RichEdit Text and Objects")
+/* Parameters of the EM_SETIMEOPTIONS message */
+#define IMF_FORCENONE 0x00000001
+#define IMF_FORCEENABLE 0x00000002
+#define IMF_FORCEDISABLE 0x00000004
+#define IMF_CLOSESTATUSWINDOW 0x00000008
+#define IMF_VERTICAL 0x00000020
+#define IMF_FORCEACTIVE 0x00000040
+#define IMF_FORCEINACTIVE 0x00000080
+#define IMF_FORCEREMEMBER 0x00000100
+
+/* return values of the EM_SELECTION_TYPE message */
+#define SEL_EMPTY 0x00000000
+#define SEL_TEXT 0x00000001
+#define SEL_OBJECT 0x00000002
+#define SEL_MULTICHAR 0x00000004
+#define SEL_MULTIOBJECT 0x00000008
+
+/* mask values in the PARAFORMAT2 structure */
+#define PFM_STARTINDENT 0x00000001
+#define PFM_RIGHTINDENT 0x00000002
+#define PFM_OFFSET 0x00000004
+#define PFM_ALIGNMENT 0x00000008
+#define PFM_TABSTOPS 0x00000010
+#define PFM_NUMBERING 0x00000020
+#define PFM_OFFSETINDENT 0x80000000
+
+/* numbering option */
+#define PFN_BULLET 0x00000001
+
+/* paragraph alignment */
+#define PFA_LEFT 0x00000001
+#define PFA_RIGHT 0x00000002
+#define PFA_CENTER 0x00000003
+
+/* streaming flags */
+#define SFF_PWD 0x00000800
+#define SFF_KEEPDOCINFO 0x00001000
+#define SFF_PERSISTVIEWSCALE 0x00002000
+#define SFF_PLAINRTF 0x00004000
+#define SFF_SELECTION 0x00008000
+
+typedef LONG (*EDITWORDBREAKPROCEX)(char*,LONG,BYTE,INT);
+
+/* options of the EM_FINDWORDBREAK message */
+#define WB_CLASSIFY 0x00000003
+#define WB_MOVEWORDLEFT 0x00000004
+#define WB_MOVEWORDPREV 0x00000004
+#define WB_MOVEWORDRIGHT 0x00000005
+#define WB_MOVEWORDNEXT 0x00000005
+#define WB_LEFTBREAK 0x00000006
+#define WB_PREVBREAK 0x00000006
+#define WB_RIGHTBREAK 0x00000007
+#define WB_NEXTBREAK 0x00000007
+
+/* options of the EM_SETWORDWRAPMODE message */
+#define WBF_WORDWRAP 0x00000010
+#define WBF_WORDBREAK 0x00000020
+#define WBF_OVERFLOW 0x00000040
+#define WBF_LEVEL1 0x00000080
+#define WBF_LEVEL2 0x00000100
+#define WBF_CUSTOM 0x00000200
+
+/* options of the EM_SETTEXTMODE message */
+#define TM_PLAINTEXT 0x00000001
+#define TM_RICHTEXT 0x00000002
+#define TM_SINGLELEVELUNDO 0x00000004
+#define TM_MULTILEVELUNDO 0x00000008
+#define TM_SINGLECODEPAGE 0x00000010
+#define TM_MULTICODEPAGE 0x00000020
+
+/* GETTEXT structure flags */
+#define GT_DEFAULT 0x00000000
+#define GT_USECRLF 0x00000001
+
+/* Options of the EM_SETTYPOGRAPHYOPTIONS message */
+#define TO_ADVANCEDTYPOGRAPHY 0x00000001
+#define TO_SIMPLELINEBREAK 0x00000002
+
+typedef struct _gettextlengthex {
+ DWORD flags;
+ UINT codepage;
+} GETTEXTLENGTHEX;
+
+/* Flags of the GETTEXTLENGTHEX structure */
+#define GTL_DEFAULT 0x00000000
+#define GTL_USECRLF 0x00000001
+#define GTL_PRECISE 0x00000002
+#define GTL_CLOSE 0x00000004
+#define GTL_NUMCHARS 0x00000008
+#define GTL_NUMBYTES 0x00000010
#ifdef __cplusplus
}
diff --git a/include/richole.h b/include/richole.h
new file mode 100644
index 0000000..a213ea0
--- /dev/null
+++ b/include/richole.h
@@ -0,0 +1,63 @@
+/*
+ * Copyright (C) 2002 Andriy Palamarchuk
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
+
+#ifndef __WINE_RICHOLE_H
+#define __WINE_RICHOLE_H
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* REOBJECT structure flags */
+#define REO_GETOBJ_NO_INTERFACES 0x00000000
+#define REO_GETOBJ_POLEOBJ 0x00000001
+#define REO_GETOBJ_PSTG 0x00000002
+#define REO_GETOBJ_POLESITE 0x00000004
+#define REO_GETOBJ_ALL_INTERFACES 0x00000007
+#define REO_CP_SELECTION 0xFFFFFFFF
+#define REO_IOB_SELECTION 0xFFFFFFFF
+#define REO_IOB_USE_CP 0xFFFFFFFE
+#define REO_NULL 0x00000000
+#define REO_READWRITEMASK 0x0000003F
+#define REO_DONTNEEDPALETTE 0x00000020
+#define REO_BLANK 0x00000010
+#define REO_DYNAMICSIZE 0x00000008
+#define REO_INVERTEDSELECT 0x00000004
+#define REO_BELOWBASELINE 0x00000002
+#define REO_RESIZABLE 0x00000001
+#define REO_LINK 0x80000000
+#define REO_STATIC 0x40000000
+#define REO_SELECTED 0x08000000
+#define REO_OPEN 0x04000000
+#define REO_INPLACEACTIVE 0x02000000
+#define REO_HILITED 0x01000000
+#define REO_LINKAVAILABLE 0x00800000
+#define REO_GETMETAFILE 0x00400000
+
+/* clipboard operation flags */
+#define RECO_PASTE 0x00000000
+#define RECO_DROP 0x00000001
+#define RECO_COPY 0x00000002
+#define RECO_CUT 0x00000003
+#define RECO_DRAG 0x00000004
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* __WINE_RICHOLE_H */