comparison 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
comparison
equal deleted inserted replaced
0:586e4a649642 1:4a9dcbd9e54f
1 /***********************************************************************\
2 * richedit.d *
3 * *
4 * Windows API header module *
5 * *
6 * Translated from MinGW Windows headers *
7 * *
8 * Placed into public domain *
9 \***********************************************************************/
10 module win32.richedit;
11
12 private import win32.windef, win32.winuser;
13 private import win32.wingdi; // for LF_FACESIZE
14
15 align(4):
16
17 version(Unicode) {
18 const wchar[] RICHEDIT_CLASS = "RichEdit20W";
19 } else {
20 const char[] RICHEDIT_CLASS = "RichEdit20A";
21 }
22
23 const RICHEDIT_CLASS10A = "RICHEDIT";
24
25 const TCHAR[]
26 CF_RTF = "Rich Text Format",
27 CF_RTFNOOBJS = "Rich Text Format Without Objects",
28 CF_RETEXTOBJ = "RichEdit Text and Objects";
29
30 const DWORD
31 CFM_BOLD = 1,
32 CFM_ITALIC = 2,
33 CFM_UNDERLINE = 4,
34 CFM_STRIKEOUT = 8,
35 CFM_PROTECTED = 16,
36 CFM_LINK = 32,
37 CFM_SIZE = 0x80000000,
38 CFM_COLOR = 0x40000000,
39 CFM_FACE = 0x20000000,
40 CFM_OFFSET = 0x10000000,
41 CFM_CHARSET = 0x08000000,
42 CFM_SUBSCRIPT = 0x00030000,
43 CFM_SUPERSCRIPT = 0x00030000;
44
45 const DWORD
46 CFE_BOLD = 1,
47 CFE_ITALIC = 2,
48 CFE_UNDERLINE = 4,
49 CFE_STRIKEOUT = 8,
50 CFE_PROTECTED = 16,
51 CFE_SUBSCRIPT = 0x00010000,
52 CFE_SUPERSCRIPT = 0x00020000,
53 CFE_AUTOCOLOR = 0x40000000;
54
55 const CFM_EFFECTS = CFM_BOLD | CFM_ITALIC | CFM_UNDERLINE | CFM_COLOR
56 | CFM_STRIKEOUT | CFE_PROTECTED | CFM_LINK;
57
58 // flags for EM_SETIMEOPTIONS
59 const LPARAM
60 IMF_FORCENONE = 1,
61 IMF_FORCEENABLE = 2,
62 IMF_FORCEDISABLE = 4,
63 IMF_CLOSESTATUSWINDOW = 8,
64 IMF_VERTICAL = 32,
65 IMF_FORCEACTIVE = 64,
66 IMF_FORCEINACTIVE = 128,
67 IMF_FORCEREMEMBER = 256;
68
69 const SEL_EMPTY=0;
70 const SEL_TEXT=1;
71 const SEL_OBJECT=2;
72 const SEL_MULTICHAR=4;
73 const SEL_MULTIOBJECT=8;
74
75 const MAX_TAB_STOPS=32;
76
77 const PFM_ALIGNMENT=8;
78 const PFM_NUMBERING=32;
79 const PFM_OFFSET=4;
80 const PFM_OFFSETINDENT=0x80000000;
81 const PFM_RIGHTINDENT=2;
82 const PFM_STARTINDENT=1;
83 const PFM_TABSTOPS=16;
84 const PFM_BORDER=2048;
85 const PFM_LINESPACING=256;
86 const PFM_NUMBERINGSTART=32768;
87 const PFM_NUMBERINGSTYLE=8192;
88 const PFM_NUMBERINGTAB=16384;
89 const PFM_SHADING=4096;
90 const PFM_SPACEAFTER=128;
91 const PFM_SPACEBEFORE=64;
92 const PFM_STYLE=1024;
93 const PFM_DONOTHYPHEN=4194304;
94 const PFM_KEEP=131072;
95 const PFM_KEEPNEXT=262144;
96 const PFM_NOLINENUMBER=1048576;
97 const PFM_NOWIDOWCONTROL=2097152;
98 const PFM_PAGEBREAKBEFORE=524288;
99 const PFM_RTLPARA=65536;
100 const PFM_SIDEBYSIDE=8388608;
101 const PFM_TABLE=1073741824;
102 const PFN_BULLET=1;
103
104 const PFE_DONOTHYPHEN=64;
105 const PFE_KEEP=2;
106 const PFE_KEEPNEXT=4;
107 const PFE_NOLINENUMBER=16;
108 const PFE_NOWIDOWCONTROL=32;
109 const PFE_PAGEBREAKBEFORE=8;
110 const PFE_RTLPARA=1;
111 const PFE_SIDEBYSIDE=128;
112 const PFE_TABLE=16384;
113 const PFA_LEFT=1;
114 const PFA_RIGHT=2;
115 const PFA_CENTER=3;
116 const PFA_JUSTIFY=4;
117 const PFA_FULL_INTERWORD=4;
118
119 const SF_TEXT=1;
120 const SF_RTF=2;
121 const SF_RTFNOOBJS=3;
122 const SF_TEXTIZED=4;
123 const SF_UNICODE=16;
124 const SF_USECODEPAGE=32;
125 const SF_NCRFORNONASCII=64;
126 const SF_RTFVAL=0x0700;
127
128 const SFF_PWD=0x0800;
129 const SFF_KEEPDOCINFO=0x1000;
130 const SFF_PERSISTVIEWSCALE=0x2000;
131 const SFF_PLAINRTF=0x4000;
132 const SFF_SELECTION=0x8000;
133
134 const WB_CLASSIFY = 3;
135 const WB_MOVEWORDLEFT = 4;
136 const WB_MOVEWORDRIGHT = 5;
137 const WB_LEFTBREAK = 6;
138 const WB_RIGHTBREAK = 7;
139 const WB_MOVEWORDPREV = 4;
140 const WB_MOVEWORDNEXT = 5;
141 const WB_PREVBREAK = 6;
142 const WB_NEXTBREAK = 7;
143
144 const WBF_WORDWRAP = 16;
145 const WBF_WORDBREAK = 32;
146 const WBF_OVERFLOW = 64;
147 const WBF_LEVEL1 = 128;
148 const WBF_LEVEL2 = 256;
149 const WBF_CUSTOM = 512;
150
151 const ES_DISABLENOSCROLL = 8192;
152 const ES_SUNKEN = 16384;
153 const ES_SAVESEL = 32768;
154 const ES_EX_NOCALLOLEINIT = 16777216;
155 const ES_NOIME = 524288;
156 const ES_NOOLEDRAGDROP = 8;
157 const ES_SELECTIONBAR = 16777216;
158 const ES_SELFIME = 262144;
159 const ES_VERTICAL = 4194304;
160
161 const EM_CANPASTE = WM_USER+50;
162 const EM_DISPLAYBAND = WM_USER+51;
163 const EM_EXGETSEL = WM_USER+52;
164 const EM_EXLIMITTEXT = WM_USER+53;
165 const EM_EXLINEFROMCHAR = WM_USER+54;
166 const EM_EXSETSEL = WM_USER+55;
167 const EM_FINDTEXT = WM_USER+56;
168 const EM_FORMATRANGE = WM_USER+57;
169 const EM_GETCHARFORMAT = WM_USER+58;
170 const EM_GETEVENTMASK = WM_USER+59;
171 const EM_GETOLEINTERFACE = WM_USER+60;
172 const EM_GETPARAFORMAT = WM_USER+61;
173 const EM_GETSELTEXT = WM_USER+62;
174 const EM_HIDESELECTION = WM_USER+63;
175 const EM_PASTESPECIAL = WM_USER+64;
176 const EM_REQUESTRESIZE = WM_USER+65;
177 const EM_SELECTIONTYPE = WM_USER+66;
178 const EM_SETBKGNDCOLOR = WM_USER+67;
179 const EM_SETCHARFORMAT = WM_USER+68;
180 const EM_SETEVENTMASK = WM_USER+69;
181 const EM_SETOLECALLBACK = WM_USER+70;
182 const EM_SETPARAFORMAT = WM_USER+71;
183 const EM_SETTARGETDEVICE = WM_USER+72;
184 const EM_STREAMIN = WM_USER+73;
185 const EM_STREAMOUT = WM_USER+74;
186 const EM_GETTEXTRANGE = WM_USER+75;
187 const EM_FINDWORDBREAK = WM_USER+76;
188 const EM_SETOPTIONS = WM_USER+77;
189 const EM_GETOPTIONS = WM_USER+78;
190 const EM_FINDTEXTEX = WM_USER+79;
191 const EM_GETWORDBREAKPROCEX = WM_USER+80;
192 const EM_SETWORDBREAKPROCEX = WM_USER+81;
193 /* RichEdit 2.0 messages */
194 const EM_SETUNDOLIMIT = WM_USER+82;
195 const EM_REDO = WM_USER+84;
196 const EM_CANREDO = WM_USER+85;
197 const EM_GETUNDONAME = WM_USER+86;
198 const EM_GETREDONAME = WM_USER+87;
199 const EM_STOPGROUPTYPING = WM_USER+88;
200 const EM_SETTEXTMODE = WM_USER+89;
201 const EM_GETTEXTMODE = WM_USER+90;
202 const EM_AUTOURLDETECT = WM_USER+91;
203 const EM_GETAUTOURLDETECT = WM_USER + 92;
204 const EM_SETPALETTE = WM_USER + 93;
205 const EM_GETTEXTEX = WM_USER+94;
206 const EM_GETTEXTLENGTHEX = WM_USER+95;
207 const EM_SHOWSCROLLBAR = WM_USER+96;
208 const EM_SETTEXTEX = WM_USER + 97;
209 const EM_SETPUNCTUATION = WM_USER + 100;
210 const EM_GETPUNCTUATION = WM_USER + 101;
211 const EM_SETWORDWRAPMODE = WM_USER + 102;
212 const EM_GETWORDWRAPMODE = WM_USER + 103;
213 const EM_SETIMECOLOR = WM_USER + 104;
214 const EM_GETIMECOLOR = WM_USER + 105;
215 const EM_SETIMEOPTIONS = WM_USER + 106;
216 const EM_GETIMEOPTIONS = WM_USER + 107;
217 const EM_SETLANGOPTIONS = WM_USER+120;
218 const EM_GETLANGOPTIONS = WM_USER+121;
219 const EM_GETIMECOMPMODE = WM_USER+122;
220 const EM_FINDTEXTW = WM_USER + 123;
221 const EM_FINDTEXTEXW = WM_USER + 124;
222 const EM_RECONVERSION = WM_USER + 125;
223 const EM_SETBIDIOPTIONS = WM_USER + 200;
224 const EM_GETBIDIOPTIONS = WM_USER + 201;
225 const EM_SETTYPOGRAPHYOPTIONS = WM_USER+202;
226 const EM_GETTYPOGRAPHYOPTIONS = WM_USER+203;
227 const EM_SETEDITSTYLE = WM_USER + 204;
228 const EM_GETEDITSTYLE = WM_USER + 205;
229 const EM_GETSCROLLPOS = WM_USER+221;
230 const EM_SETSCROLLPOS = WM_USER+222;
231 const EM_SETFONTSIZE = WM_USER+223;
232 const EM_GETZOOM = WM_USER+224;
233 const EM_SETZOOM = WM_USER+225;
234
235 const EN_MSGFILTER = 1792;
236 const EN_REQUESTRESIZE = 1793;
237 const EN_SELCHANGE = 1794;
238 const EN_DROPFILES = 1795;
239 const EN_PROTECTED = 1796;
240 const EN_CORRECTTEXT = 1797;
241 const EN_STOPNOUNDO = 1798;
242 const EN_IMECHANGE = 1799;
243 const EN_SAVECLIPBOARD = 1800;
244 const EN_OLEOPFAILED = 1801;
245 const EN_LINK = 1803;
246
247 const ENM_NONE = 0;
248 const ENM_CHANGE = 1;
249 const ENM_UPDATE = 2;
250 const ENM_SCROLL = 4;
251 const ENM_SCROLLEVENTS = 8;
252 const ENM_DRAGDROPDONE = 16;
253 const ENM_KEYEVENTS = 65536;
254 const ENM_MOUSEEVENTS = 131072;
255 const ENM_REQUESTRESIZE = 262144;
256 const ENM_SELCHANGE = 524288;
257 const ENM_DROPFILES = 1048576;
258 const ENM_PROTECTED = 2097152;
259 const ENM_CORRECTTEXT = 4194304;
260 const ENM_IMECHANGE = 8388608;
261 const ENM_LANGCHANGE = 16777216;
262 const ENM_OBJECTPOSITIONS = 33554432;
263 const ENM_LINK = 67108864;
264
265 const ECO_AUTOWORDSELECTION=1;
266 const ECO_AUTOVSCROLL=64;
267 const ECO_AUTOHSCROLL=128;
268 const ECO_NOHIDESEL=256;
269 const ECO_READONLY=2048;
270 const ECO_WANTRETURN=4096;
271 const ECO_SAVESEL=0x8000;
272 const ECO_SELECTIONBAR=0x1000000;
273 const ECO_VERTICAL=0x400000;
274
275 enum {
276 ECOOP_SET = 1,
277 ECOOP_OR,
278 ECOOP_AND,
279 ECOOP_XOR
280 }
281
282 const SCF_DEFAULT = 0;
283 const SCF_SELECTION = 1;
284 const SCF_WORD = 2;
285 const SCF_ALL = 4;
286 const SCF_USEUIRULES = 8;
287
288 const TM_PLAINTEXT=1;
289 const TM_RICHTEXT=2;
290 const TM_SINGLELEVELUNDO=4;
291 const TM_MULTILEVELUNDO=8;
292 const TM_SINGLECODEPAGE=16;
293 const TM_MULTICODEPAGE=32;
294
295 const GT_DEFAULT=0;
296 const GT_USECRLF=1;
297
298 const yHeightCharPtsMost=1638;
299 const lDefaultTab=720;
300
301 struct CHARFORMATA {
302 UINT cbSize = this.sizeof;
303 DWORD dwMask;
304 DWORD dwEffects;
305 LONG yHeight;
306 LONG yOffset;
307 COLORREF crTextColor;
308 BYTE bCharSet;
309 BYTE bPitchAndFamily;
310 char szFaceName[LF_FACESIZE];
311 }
312 struct CHARFORMATW {
313 UINT cbSize = this.sizeof;
314 DWORD dwMask;
315 DWORD dwEffects;
316 LONG yHeight;
317 LONG yOffset;
318 COLORREF crTextColor;
319 BYTE bCharSet;
320 BYTE bPitchAndFamily;
321 WCHAR szFaceName[LF_FACESIZE];
322 }
323
324 struct CHARFORMAT2A {
325 UINT cbSize = this.sizeof;
326 DWORD dwMask;
327 DWORD dwEffects;
328 LONG yHeight;
329 LONG yOffset;
330 COLORREF crTextColor;
331 BYTE bCharSet;
332 BYTE bPitchAndFamily;
333 char szFaceName[LF_FACESIZE];
334 WORD wWeight;
335 SHORT sSpacing;
336 COLORREF crBackColor;
337 LCID lcid;
338 DWORD dwReserved;
339 SHORT sStyle;
340 WORD wKerning;
341 BYTE bUnderlineType;
342 BYTE bAnimation;
343 BYTE bRevAuthor;
344 }
345
346 struct CHARFORMAT2W {
347 UINT cbSize = this.sizeof;
348 DWORD dwMask;
349 DWORD dwEffects;
350 LONG yHeight;
351 LONG yOffset;
352 COLORREF crTextColor;
353 BYTE bCharSet;
354 BYTE bPitchAndFamily;
355 WCHAR szFaceName[LF_FACESIZE];
356 WORD wWeight;
357 SHORT sSpacing;
358 COLORREF crBackColor;
359 LCID lcid;
360 DWORD dwReserved;
361 SHORT sStyle;
362 WORD wKerning;
363 BYTE bUnderlineType;
364 BYTE bAnimation;
365 BYTE bRevAuthor;
366 }
367
368 struct CHARRANGE {
369 LONG cpMin;
370 LONG cpMax;
371 }
372
373 struct COMPCOLOR {
374 COLORREF crText;
375 COLORREF crBackground;
376 DWORD dwEffects;
377 }
378
379 extern (Windows) {
380 alias DWORD function(DWORD,PBYTE,LONG,LONG*) EDITSTREAMCALLBACK;
381 }
382
383 struct EDITSTREAM {
384 DWORD dwCookie;
385 DWORD dwError;
386 EDITSTREAMCALLBACK pfnCallback;
387 }
388
389 struct ENCORRECTTEXT {
390 NMHDR nmhdr;
391 CHARRANGE chrg;
392 WORD seltyp;
393 }
394
395 struct ENDROPFILES {
396 NMHDR nmhdr;
397 HANDLE hDrop;
398 LONG cp;
399 BOOL fProtected;
400 }
401
402 struct ENLINK {
403 NMHDR nmhdr;
404 UINT msg;
405 WPARAM wParam;
406 LPARAM lParam;
407 CHARRANGE chrg;
408 }
409
410 struct ENOLEOPFAILED {
411 NMHDR nmhdr;
412 LONG iob;
413 LONG lOper;
414 HRESULT hr;
415 }
416
417 struct ENPROTECTED {
418 NMHDR nmhdr;
419 UINT msg;
420 WPARAM wParam;
421 LPARAM lParam;
422 CHARRANGE chrg;
423 }
424 alias ENPROTECTED* LPENPROTECTED;
425
426 struct ENSAVECLIPBOARD {
427 NMHDR nmhdr;
428 LONG cObjectCount;
429 LONG cch;
430 }
431
432 struct FINDTEXTA {
433 CHARRANGE chrg;
434 LPSTR lpstrText;
435 }
436
437 struct FINDTEXTW {
438 CHARRANGE chrg;
439 LPWSTR lpstrText;
440 }
441
442 struct FINDTEXTEXA {
443 CHARRANGE chrg;
444 LPSTR lpstrText;
445 CHARRANGE chrgText;
446 }
447
448 struct FINDTEXTEXW {
449 CHARRANGE chrg;
450 LPWSTR lpstrText;
451 CHARRANGE chrgText;
452 }
453
454 struct FORMATRANGE {
455 HDC hdc;
456 HDC hdcTarget;
457 RECT rc;
458 RECT rcPage;
459 CHARRANGE chrg;
460 }
461
462 struct MSGFILTER {
463 NMHDR nmhdr;
464 UINT msg;
465 WPARAM wParam;
466 LPARAM lParam;
467 }
468
469 struct PARAFORMAT {
470 UINT cbSize = this.sizeof;
471 DWORD dwMask;
472 WORD wNumbering;
473 WORD wReserved;
474 LONG dxStartIndent;
475 LONG dxRightIndent;
476 LONG dxOffset;
477 WORD wAlignment;
478 SHORT cTabCount;
479 LONG rgxTabs[MAX_TAB_STOPS];
480 }
481
482 struct PARAFORMAT2 {
483 UINT cbSize = this.sizeof;
484 DWORD dwMask;
485 WORD wNumbering;
486 WORD wEffects;
487 LONG dxStartIndent;
488 LONG dxRightIndent;
489 LONG dxOffset;
490 WORD wAlignment;
491 SHORT cTabCount;
492 LONG rgxTabs[MAX_TAB_STOPS];
493 LONG dySpaceBefore;
494 LONG dySpaceAfter;
495 LONG dyLineSpacing;
496 SHORT sStype;
497 BYTE bLineSpacingRule;
498 BYTE bOutlineLevel;
499 WORD wShadingWeight;
500 WORD wShadingStyle;
501 WORD wNumberingStart;
502 WORD wNumberingStyle;
503 WORD wNumberingTab;
504 WORD wBorderSpace;
505 WORD wBorderWidth;
506 WORD wBorders;
507 }
508
509 struct SELCHANGE {
510 NMHDR nmhdr;
511 CHARRANGE chrg;
512 WORD seltyp;
513 }
514
515 struct TEXTRANGEA {
516 CHARRANGE chrg;
517 LPSTR lpstrText;
518 }
519
520 struct TEXTRANGEW {
521 CHARRANGE chrg;
522 LPWSTR lpstrText;
523 }
524
525 struct REQRESIZE {
526 NMHDR nmhdr;
527 RECT rc;
528 }
529
530 struct REPASTESPECIAL {
531 DWORD dwAspect;
532 DWORD dwParam;
533 }
534
535 struct PUNCTUATION {
536 UINT iSize;
537 LPSTR szPunctuation;
538 }
539
540 struct GETTEXTEX {
541 DWORD cb;
542 DWORD flags;
543 UINT codepage;
544 LPCSTR lpDefaultChar;
545 LPBOOL lpUsedDefaultChar;
546 }
547
548 extern (Windows) {
549 alias LONG function(char*,LONG,BYTE,INT) EDITWORDBREAKPROCEX;
550 }
551
552 /* Defines for EM_SETTYPOGRAPHYOPTIONS */
553 const TO_ADVANCEDTYPOGRAPHY = 1;
554 const TO_SIMPLELINEBREAK = 2;
555
556 /* Defines for GETTEXTLENGTHEX */
557 const GTL_DEFAULT = 0;
558 const GTL_USECRLF = 1;
559 const GTL_PRECISE = 2;
560 const GTL_CLOSE = 4;
561 const GTL_NUMCHARS = 8;
562 const GTL_NUMBYTES = 16;
563
564 struct GETTEXTLENGTHEX {
565 DWORD flags;
566 UINT codepage;
567 }
568
569 version(Unicode) {
570 alias CHARFORMATW CHARFORMAT;
571 alias CHARFORMAT2W CHARFORMAT2;
572 alias FINDTEXTW FINDTEXT;
573 alias FINDTEXTEXW FINDTEXTEX;
574 alias TEXTRANGEW TEXTRANGE;
575 } else {
576 alias CHARFORMATA CHARFORMAT;
577 alias CHARFORMAT2A CHARFORMAT2;
578 alias FINDTEXTA FINDTEXT;
579 alias FINDTEXTEXA FINDTEXTEX;
580 alias TEXTRANGEA TEXTRANGE;
581 }