Improved richedit headers.

This commit is contained in:
Andriy Palamarchuk 2002-08-09 19:51:49 +00:00 committed by Alexandre Julliard
parent c8ff4da2ac
commit 3d8b123e5a
4 changed files with 391 additions and 15 deletions

View File

@ -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);

View File

@ -105,6 +105,7 @@ INSTALLED_INCLUDES = \
ras.h \
regstr.h \
richedit.h \
richole.h \
rpc.h \
rpcdce.h \
rpcdcep.h \

View File

@ -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 @@ static const WCHAR RICHEDIT_CLASS20W[] = { 'R','i','c','h','E','d','i','t','2','
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 @@ typedef struct _charformatw
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 @@ DECL_WINELIB_TYPE_AW(CHARFORMAT)
#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 @@ DECL_WINELIB_TYPE_AW(CHARFORMAT)
#define ENM_PROTECTED 0x00200000
#define ENM_CORRECTTEXT 0x00400000
#define ENM_IMECHANGE 0x00800000
#define ENM_LINK 0x04000000
typedef struct _charrange
{
@ -265,19 +345,249 @@ typedef struct _textrangew
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
}

63
include/richole.h Normal file
View File

@ -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 */