Fix compilation errors on FreeBSD.
[wine] / include / richedit.h
1 #ifndef __WINE_RICHEDIT_H
2 #define __WINE_RICHEDIT_H
3
4 #include "windef.h"
5 #include "pshpack4.h"
6
7 #ifdef __cplusplus
8 extern "C" {
9 #endif
10
11 #ifndef _RICHEDIT_VER
12 #define _RICHEDIT_VER   0x0210
13 #endif /* _RICHEDIT_VER */
14
15 #define cchTextLimitDefault 0x7fff
16
17 #define RICHEDIT_CLASS20A       "RichEdit20A"
18 static const WCHAR RICHEDIT_CLASS20W[] = { 'R','i','c','h','E','d','i','t','2','0','W', '\0' };
19 #define RICHEDIT_CLASS10A       "RICHEDIT"
20
21 #if (_RICHEDIT_VER >= 0x0200 )
22 #define RICHEDIT_CLASS          WINELIB_NAME_AW(RICHEDIT_CLASS20)
23 #else
24 #define RICHEDIT_CLASS          RICHEDIT_CLASS10A
25 #endif
26
27 #define EM_CANPASTE             (WM_USER + 50)
28 #define EM_DISPLAYBAND          (WM_USER + 51)
29 #define EM_EXGETSEL             (WM_USER + 52)
30 #define EM_EXLIMITTEXT          (WM_USER + 53)
31 #define EM_EXLINEFROMCHAR       (WM_USER + 54)
32 #define EM_EXSETSEL             (WM_USER + 55)
33 #define EM_FINDTEXT             (WM_USER + 56)
34 #define EM_FORMATRANGE          (WM_USER + 57)
35 #define EM_GETCHARFORMAT        (WM_USER + 58)
36 #define EM_GETEVENTMASK         (WM_USER + 59)
37 #define EM_GETOLEINTERFACE      (WM_USER + 60)
38 #define EM_GETPARAFORMAT        (WM_USER + 61)
39 #define EM_GETSELTEXT           (WM_USER + 62)
40 #define EM_HIDESELECTION        (WM_USER + 63)
41 #define EM_PASTESPECIAL         (WM_USER + 64)
42 #define EM_REQUESTRESIZE        (WM_USER + 65)
43 #define EM_SELECTIONTYPE        (WM_USER + 66)
44 #define EM_SETBKGNDCOLOR        (WM_USER + 67)
45 #define EM_SETCHARFORMAT        (WM_USER + 68)
46 #define EM_SETEVENTMASK         (WM_USER + 69)
47 #define EM_SETOLECALLBACK       (WM_USER + 70)
48 #define EM_SETPARAFORMAT        (WM_USER + 71)
49 #define EM_SETTARGETDEVICE      (WM_USER + 72)
50 #define EM_STREAMIN             (WM_USER + 73)
51 #define EM_STREAMOUT            (WM_USER + 74)
52 #define EM_GETTEXTRANGE         (WM_USER + 75)
53 #define EM_FINDWORDBREAK        (WM_USER + 76)
54 #define EM_SETOPTIONS           (WM_USER + 77)
55 #define EM_GETOPTIONS           (WM_USER + 78)
56 #define EM_FINDTEXTEX           (WM_USER + 79)
57 #define EM_GETWORDBREAKPROCEX   (WM_USER + 80)
58 #define EM_SETWORDBREAKPROCEX   (WM_USER + 81)
59
60 typedef DWORD CALLBACK(* EDITSTREAMCALLBACK)( DWORD, LPBYTE, LONG, LONG * );
61
62 /* Rich edit control styles */
63 #define ES_SAVESEL            0x00008000
64 #define ES_SUNKEN             0x00004000
65 #define ES_DISABLENOSCROLL    0x00002000
66 #define ES_SELECTIONBAR       0x01000000
67 #define ES_VERTICAL           0x00400000
68 #define ES_NOIME              0x00080000
69 #define ES_SELFIME            0x00040000
70
71 /* CHARFORMAT structure */
72 typedef struct _charformat
73 {
74     UINT       cbSize;
75     DWORD      dwMask;
76     DWORD      dwEffects;
77     LONG       yHeight;
78     LONG       yOffset;
79     COLORREF   crTextColor;
80     BYTE       bCharSet;
81     BYTE       bPitchAndFamily;
82     char       szFaceName[LF_FACESIZE];
83 } CHARFORMATA;
84
85 typedef struct _charformatw
86 {
87     UINT       cbSize;
88     DWORD      dwMask;
89     DWORD      dwEffects;
90     LONG       yHeight;
91     LONG       yOffset;
92     COLORREF   crTextColor;
93     BYTE       bCharSet;
94     BYTE       bPitchAndFamily;
95     WCHAR      szFaceName[LF_FACESIZE];
96 } CHARFORMATW;
97
98 DECL_WINELIB_TYPE_AW(CHARFORMAT)
99
100 /* CHARFORMAT masks */
101 #define CFM_BOLD              0x00000001
102 #define CFM_ITALIC            0x00000002
103 #define CFM_UNDERLINE         0x00000004
104 #define CFM_STRIKEOUT         0x00000008
105 #define CFM_PROTECTED         0x00000010
106 #define CFM_SIZE              0x80000000
107 #define CFM_COLOR             0x40000000
108 #define CFM_FACE              0x20000000
109 #define CFM_OFFSET            0x10000000
110 #define CFM_CHARSET           0x08000000
111
112 /* CHARFORMAT effects */
113 #define CFE_BOLD              0x00000001
114 #define CFE_ITALIC            0x00000002
115 #define CFE_UNDERLINE         0x00000004
116 #define CFE_STRIKEOUT         0x00000008
117 #define CFE_PROTECTED         0x00000010
118 #define CFE_AUTOCOLOR         0x40000000
119
120 /* ECO operations */
121 #define ECOOP_SET             0x0001
122 #define ECOOP_OR              0x0002
123 #define ECOOP_AND             0x0003
124 #define ECOOP_XOR             0x0004
125
126 /* edit control options */
127 #define ECO_AUTOWORDSELECTION 0x00000001
128 #define ECO_AUTOVSCROLL       0x00000040
129 #define ECO_AUTOHSCROLL       0x00000080
130 #define ECO_NOHIDESEL         0x00000100
131 #define ECO_READONLY          0x00000800
132 #define ECO_WANTRETURN        0x00001000
133 #define ECO_SAVESEL           0x00008000
134 #define ECO_SELECTIONBAR      0x01000000
135 #define ECO_VERTICAL          0x00400000
136
137 /* Event notification masks */
138 #define ENM_NONE              0x00000000
139 #define ENM_CHANGE            0x00000001
140 #define ENM_UPDATE            0x00000002
141 #define ENM_SCROLL            0x00000004
142 #define ENM_KEYEVENTS         0x00010000
143 #define ENM_MOUSEEVENTS       0x00020000
144 #define ENM_REQUESTRESIZE     0x00040000
145 #define ENM_SELCHANGE         0x00080000
146 #define ENM_DROPFILES         0x00100000
147 #define ENM_PROTECTED         0x00200000
148 #define ENM_CORRECTTEXT       0x00400000
149 #define ENM_IMECHANGE         0x00800000
150
151 typedef struct _charrange
152 {
153     LONG    cpMin;
154     LONG    cpMax;
155 } CHARRANGE;
156
157 typedef struct
158 {
159     DWORD               dwCookie;
160     DWORD               dwError;
161     EDITSTREAMCALLBACK  pfnCallback;
162 } EDITSTREAM;
163
164 #define SF_TEXT         0x0001
165 #define SF_RTF          0x0002
166 #define SF_RTFNOOBJS    0x0003
167 #define SF_TEXTIZED     0x0004
168
169
170
171 #ifdef __cplusplus
172 }
173 #endif
174
175 #include "poppack.h"
176
177 #endif /* __WINE_RICHEDIT_H */