Release 951212
[wine/multimedia.git] / include / windows.h
blobe0430aa25cf7a30e0ef3071e850c65a5ac015f87
1 /* Initial draft attempt of windows.h, by Peter MacDonald, pmacdona@sanjuan.uvic.ca */
3 #ifndef WINDOWS_H
4 #define WINDOWS_H
6 #include "wintypes.h"
8 #ifndef WINELIB
9 #pragma pack(1)
10 #endif
12 #ifdef WINELIB32
13 typedef struct { LONG x,y; } POINT;
14 typedef struct { SHORT x,y; } POINTS;
15 typedef struct { LONG cx,cy; } SIZE, *LPSIZE;
16 typedef struct { LONG left, top, right, bottom; } RECT;
17 #define MAKEPOINTS(l) (*((POINTS *)&(l)))
18 #else
19 typedef struct { INT x,y; } POINT;
20 typedef struct { INT cx,cy; } SIZE, *LPSIZE;
21 typedef struct { INT left, top, right, bottom; } RECT;
22 #define MAKEPOINT(l) (*((POINT *)&(l)))
23 #endif
24 typedef POINT *PPOINT;
25 typedef POINT *NPPOINT;
26 typedef POINT *LPPOINT;
27 typedef RECT *LPRECT;
28 typedef RECT *NPRECT;
29 typedef RECT *PRECT;
31 #ifdef WINELIB32
32 #define MAKEWPARAM(low, high) ((LONG)(((WORD)(low)) | \
33 (((DWORD)((WORD)(high))) << 16)))
34 #endif
36 #define MAKELPARAM(low, high) ((LONG)(((WORD)(low)) | \
37 (((DWORD)((WORD)(high))) << 16)))
39 typedef struct {
40 HDC hdc;
41 BOOL fErase;
42 RECT rcPaint;
43 BOOL fRestore, fIncUpdate;
44 BYTE rgbReserved[16];
45 } PAINTSTRUCT;
47 typedef PAINTSTRUCT *PPAINTSTRUCT;
48 typedef PAINTSTRUCT *NPPAINTSTRUCT;
49 typedef PAINTSTRUCT *LPPAINTSTRUCT;
52 /* Window classes */
54 typedef struct {
55 WORD style;
56 WNDPROC lpfnWndProc WINE_PACKED;
57 INT cbClsExtra, cbWndExtra;
58 HANDLE hInstance;
59 HICON hIcon;
60 HCURSOR hCursor;
61 HBRUSH hbrBackground;
62 SEGPTR lpszMenuName WINE_PACKED;
63 SEGPTR lpszClassName WINE_PACKED;
64 } WNDCLASS, *LPWNDCLASS;
66 #define CS_VREDRAW 0x0001
67 #define CS_HREDRAW 0x0002
68 #define CS_KEYCVTWINDOW 0x0004
69 #define CS_DBLCLKS 0x0008
70 #define CS_OWNDC 0x0020
71 #define CS_CLASSDC 0x0040
72 #define CS_PARENTDC 0x0080
73 #define CS_NOKEYCVT 0x0100
74 #define CS_NOCLOSE 0x0200
75 #define CS_SAVEBITS 0x0800
76 #define CS_BYTEALIGNCLIENT 0x1000
77 #define CS_BYTEALIGNWINDOW 0x2000
78 #define CS_GLOBALCLASS 0x4000
80 /* Offsets for GetClassLong() and GetClassWord() */
81 #define GCL_MENUNAME (-8)
82 #define GCW_HBRBACKGROUND (-10)
83 #define GCW_HCURSOR (-12)
84 #define GCW_HICON (-14)
85 #define GCW_HMODULE (-16)
86 #define GCW_CBWNDEXTRA (-18)
87 #define GCW_CBCLSEXTRA (-20)
88 #define GCL_WNDPROC (-24)
89 #define GCW_STYLE (-26)
90 #define GCW_ATOM (-32)
92 /* Windows */
94 typedef struct {
95 LPVOID lpCreateParams;
96 HINSTANCE hInstance;
97 HMENU hMenu;
98 HWND hwndParent;
99 INT cy;
100 INT cx;
101 INT y;
102 INT x;
103 LONG style WINE_PACKED;
104 SEGPTR lpszName WINE_PACKED;
105 SEGPTR lpszClass WINE_PACKED;
106 DWORD dwExStyle WINE_PACKED;
107 } CREATESTRUCT, *LPCREATESTRUCT;
109 typedef struct
111 HMENU hWindowMenu;
112 WORD idFirstChild;
113 } CLIENTCREATESTRUCT, *LPCLIENTCREATESTRUCT;
115 typedef struct
117 SEGPTR szClass;
118 SEGPTR szTitle;
119 HANDLE hOwner;
120 INT x;
121 INT y;
122 INT cx;
123 INT cy;
124 LONG style WINE_PACKED;
125 LONG lParam WINE_PACKED;
126 } MDICREATESTRUCT, *LPMDICREATESTRUCT;
128 /* Offsets for GetWindowLong() and GetWindowWord() */
129 #define GWL_EXSTYLE (-20)
130 #define GWL_STYLE (-16)
131 #define GWW_ID (-12)
132 #define GWW_HWNDPARENT (-8)
133 #define GWW_HINSTANCE (-6)
134 #define GWL_WNDPROC (-4)
135 #define DWL_MSGRESULT 0
136 #define DWL_DLGPROC 4
137 #define DWL_USER 8
139 /* GetWindow() constants */
140 #define GW_HWNDFIRST 0
141 #define GW_HWNDLAST 1
142 #define GW_HWNDNEXT 2
143 #define GW_HWNDPREV 3
144 #define GW_OWNER 4
145 #define GW_CHILD 5
147 /* WM_GETMINMAXINFO struct */
148 typedef struct
150 POINT ptReserved;
151 POINT ptMaxSize;
152 POINT ptMaxPosition;
153 POINT ptMinTrackSize;
154 POINT ptMaxTrackSize;
155 } MINMAXINFO;
157 /* RedrawWindow() flags */
158 #define RDW_INVALIDATE 0x0001
159 #define RDW_INTERNALPAINT 0x0002
160 #define RDW_ERASE 0x0004
161 #define RDW_VALIDATE 0x0008
162 #define RDW_NOINTERNALPAINT 0x0010
163 #define RDW_NOERASE 0x0020
164 #define RDW_NOCHILDREN 0x0040
165 #define RDW_ALLCHILDREN 0x0080
166 #define RDW_UPDATENOW 0x0100
167 #define RDW_ERASENOW 0x0200
168 #define RDW_FRAME 0x0400
169 #define RDW_NOFRAME 0x0800
171 /* WM_WINDOWPOSCHANGING/CHANGED struct */
172 typedef struct
174 HWND hwnd;
175 HWND hwndInsertAfter;
176 INT x;
177 INT y;
178 INT cx;
179 INT cy;
180 UINT flags;
181 } WINDOWPOS;
183 /* SetWindowPlacement() struct */
184 typedef struct
186 UINT length;
187 UINT flags;
188 UINT showCmd;
189 POINT ptMinPosition WINE_PACKED;
190 POINT ptMaxPosition WINE_PACKED;
191 RECT rcNormalPosition WINE_PACKED;
192 } WINDOWPLACEMENT, *LPWINDOWPLACEMENT;
194 /* WINDOWPLACEMENT flags */
195 #define WPF_SETMINPOSITION 0x0001
196 #define WPF_RESTORETOMAXIMIZED 0x0002
198 /* WM_MOUSEACTIVATE return values */
199 #define MA_ACTIVATE 1
200 #define MA_ACTIVATEANDEAT 2
201 #define MA_NOACTIVATE 3
202 #define MA_NOACTIVATEANDEAT 4
204 /* WM_ACTIVATE wParam values */
205 #define WA_INACTIVE 0
206 #define WA_ACTIVE 1
207 #define WA_CLICKACTIVE 2
209 /* WM_NCCALCSIZE parameter structure */
210 typedef struct
212 RECT rgrc[3];
213 WINDOWPOS FAR* lppos;
214 } NCCALCSIZE_PARAMS;
216 /* WM_NCCALCSIZE return flags */
217 #define WVR_ALIGNTOP 0x0010
218 #define WVR_ALIGNLEFT 0x0020
219 #define WVR_ALIGNBOTTOM 0x0040
220 #define WVR_ALIGNRIGHT 0x0080
221 #define WVR_HREDRAW 0x0100
222 #define WVR_VREDRAW 0x0200
223 #define WVR_REDRAW (WVR_HREDRAW | WVR_VREDRAW)
224 #define WVR_VALIDRECTS 0x0400
226 /* WM_NCHITTEST return codes */
227 #define HTERROR (-2)
228 #define HTTRANSPARENT (-1)
229 #define HTNOWHERE 0
230 #define HTCLIENT 1
231 #define HTCAPTION 2
232 #define HTSYSMENU 3
233 #define HTSIZE 4
234 #define HTMENU 5
235 #define HTHSCROLL 6
236 #define HTVSCROLL 7
237 #define HTMINBUTTON 8
238 #define HTMAXBUTTON 9
239 #define HTLEFT 10
240 #define HTRIGHT 11
241 #define HTTOP 12
242 #define HTTOPLEFT 13
243 #define HTTOPRIGHT 14
244 #define HTBOTTOM 15
245 #define HTBOTTOMLEFT 16
246 #define HTBOTTOMRIGHT 17
247 #define HTBORDER 18
248 #define HTGROWBOX HTSIZE
249 #define HTREDUCE HTMINBUTTON
250 #define HTZOOM HTMAXBUTTON
252 /* WM_SYSCOMMAND parameters */
253 #define SC_SIZE 0xf000
254 #define SC_MOVE 0xf010
255 #define SC_MINIMIZE 0xf020
256 #define SC_MAXIMIZE 0xf030
257 #define SC_NEXTWINDOW 0xf040
258 #define SC_PREVWINDOW 0xf050
259 #define SC_CLOSE 0xf060
260 #define SC_VSCROLL 0xf070
261 #define SC_HSCROLL 0xf080
262 #define SC_MOUSEMENU 0xf090
263 #define SC_KEYMENU 0xf100
264 #define SC_ARRANGE 0xf110
265 #define SC_RESTORE 0xf120
266 #define SC_TASKLIST 0xf130
267 #define SC_SCREENSAVE 0xf140
268 #define SC_HOTKEY 0xf150
270 /***** Window hooks *****/
272 /* Hook values */
273 #define WH_MSGFILTER (-1)
274 #define WH_JOURNALRECORD 0
275 #define WH_JOURNALPLAYBACK 1
276 #define WH_KEYBOARD 2
277 #define WH_GETMESSAGE 3
278 #define WH_CALLWNDPROC 4
279 #define WH_CBT 5
280 #define WH_SYSMSGFILTER 6
281 #define WH_MOUSE 7
282 #define WH_HARDWARE 8
283 #define WH_DEBUG 9
284 #define WH_SHELL 10
286 #define WH_FIRST_HOOK WH_MSGFILTER
287 #define WH_LAST_HOOK WH_SHELL
288 #define WH_NB_HOOKS (WH_LAST_HOOK-WH_FIRST_HOOK+1)
290 /* Hook action codes */
291 #define HC_ACTION 0
292 #define HC_GETNEXT 1
293 #define HC_SKIP 2
294 #define HC_NOREMOVE 3
295 #define HC_NOREM HC_NOREMOVE
296 #define HC_SYSMODALON 4
297 #define HC_SYSMODALOFF 5
299 /* CallMsgFilter() values */
300 #define MSGF_DIALOGBOX 0
301 #define MSGF_MENU 2
302 #define MSGF_MOVE 3
303 #define MSGF_SIZE 4
304 #define MSGF_SCROLLBAR 5
305 #define MSGF_NEXTWINDOW 6
306 #define MSGF_MAINLOOP 8
307 #define MSGF_USER 4096
309 /* Journalling hook structure */
310 typedef struct tagEVENTMSG
312 UINT message;
313 UINT paramL;
314 UINT paramH;
315 DWORD time WINE_PACKED;
316 } EVENTMSG, *LPEVENTMSG;
318 /* Mouse hook structure */
319 typedef struct tagMOUSEHOOKSTRUCT
321 POINT pt;
322 HWND hwnd;
323 WORD wHitTestCode;
324 DWORD dwExtraInfo;
325 } MOUSEHOOKSTRUCT, *LPMOUSEHOOKSTRUCT;
327 /* Hardware hook structure */
328 typedef struct tagHARDWAREHOOKSTRUCT
330 HWND hWnd;
331 UINT wMessage;
332 WPARAM wParam;
333 LPARAM lParam WINE_PACKED;
334 } HARDWAREHOOKSTRUCT;
336 /* CBT hook values */
337 #define HCBT_MOVESIZE 0
338 #define HCBT_MINMAX 1
339 #define HCBT_QS 2
340 #define HCBT_CREATEWND 3
341 #define HCBT_DESTROYWND 4
342 #define HCBT_ACTIVATE 5
343 #define HCBT_CLICKSKIPPED 6
344 #define HCBT_KEYSKIPPED 7
345 #define HCBT_SYSCOMMAND 8
346 #define HCBT_SETFOCUS 9
348 /* CBT hook structures */
349 typedef struct tagCBT_CREATEWND
351 CREATESTRUCT *lpcs;
352 HWND hwndInsertAfter;
353 } CBT_CREATEWND, *LPCBT_CREATEWND;
355 typedef struct tagCBTACTIVATESTRUCT
357 BOOL fMouse;
358 HWND hWndActive;
359 } CBTACTIVATESTRUCT;
361 /* Shell hook values */
362 #define HSHELL_WINDOWCREATED 1
363 #define HSHELL_WINDOWDESTROYED 2
364 #define HSHELL_ACTIVATESHELLWINDOW 3
366 /* Debug hook structure */
367 typedef struct tagDEBUGHOOKINFO
369 HANDLE hModuleHook;
370 LPARAM reserved WINE_PACKED;
371 LPARAM lParam WINE_PACKED;
372 WPARAM wParam;
373 short code;
374 } DEBUGHOOKINFO, *LPDEBUGHOOKINFO;
377 /***** Dialogs *****/
379 /* cbWndExtra bytes for dialog class */
380 #define DLGWINDOWEXTRA 30
382 /* Dialog styles */
383 #define DS_ABSALIGN 0x001
384 #define DS_SYSMODAL 0x002
385 #define DS_LOCALEDIT 0x020
386 #define DS_SETFONT 0x040
387 #define DS_MODALFRAME 0x080
388 #define DS_NOIDLEMSG 0x100
390 /* Dialog messages */
391 #define DM_GETDEFID (WM_USER+0)
392 #define DM_SETDEFID (WM_USER+1)
394 #define DC_HASDEFID 0x534b
396 /* WM_GETDLGCODE values */
397 #define DLGC_WANTARROWS 0x0001
398 #define DLGC_WANTTAB 0x0002
399 #define DLGC_WANTALLKEYS 0x0004
400 #define DLGC_WANTMESSAGE 0x0004
401 #define DLGC_HASSETSEL 0x0008
402 #define DLGC_DEFPUSHBUTTON 0x0010
403 #define DLGC_UNDEFPUSHBUTTON 0x0020
404 #define DLGC_RADIOBUTTON 0x0040
405 #define DLGC_WANTCHARS 0x0080
406 #define DLGC_STATIC 0x0100
407 #define DLGC_BUTTON 0x2000
409 /* Standard dialog button IDs */
410 #define IDOK 1
411 #define IDCANCEL 2
412 #define IDABORT 3
413 #define IDRETRY 4
414 #define IDIGNORE 5
415 #define IDYES 6
416 #define IDNO 7
419 typedef struct tagMSG
421 HWND hwnd;
422 UINT message;
423 WPARAM wParam;
424 LPARAM lParam WINE_PACKED;
425 DWORD time WINE_PACKED;
426 POINT pt WINE_PACKED;
427 } MSG, *LPMSG;
429 typedef WORD ATOM;
431 #define MAKEINTATOM(i) ((SEGPTR)MAKELONG((i),0))
433 /* Raster operations */
435 #define R2_BLACK 1
436 #define R2_NOTMERGEPEN 2
437 #define R2_MASKNOTPEN 3
438 #define R2_NOTCOPYPEN 4
439 #define R2_MASKPENNOT 5
440 #define R2_NOT 6
441 #define R2_XORPEN 7
442 #define R2_NOTMASKPEN 8
443 #define R2_MASKPEN 9
444 #define R2_NOTXORPEN 10
445 #define R2_NOP 11
446 #define R2_MERGENOTPEN 12
447 #define R2_COPYPEN 13
448 #define R2_MERGEPENNOT 14
449 #define R2_MERGEPEN 15
450 #define R2_WHITE 16
452 #define SRCCOPY 0xcc0020
453 #define SRCPAINT 0xee0086
454 #define SRCAND 0x8800c6
455 #define SRCINVERT 0x660046
456 #define SRCERASE 0x440328
457 #define NOTSRCCOPY 0x330008
458 #define NOTSRCERASE 0x1100a6
459 #define MERGECOPY 0xc000ca
460 #define MERGEPAINT 0xbb0226
461 #define PATCOPY 0xf00021
462 #define PATPAINT 0xfb0a09
463 #define PATINVERT 0x5a0049
464 #define DSTINVERT 0x550009
465 #define BLACKNESS 0x000042
466 #define WHITENESS 0xff0062
468 /* StretchBlt() modes */
469 #define BLACKONWHITE 1
470 #define WHITEONBLACK 2
471 #define COLORONCOLOR 3
473 #define STRETCH_ANDSCANS BLACKONWHITE
474 #define STRETCH_ORSCANS WHITEONBLACK
475 #define STRETCH_DELETESCANS COLORONCOLOR
478 /* Colors */
480 typedef DWORD COLORREF;
482 #define RGB(r,g,b) ((COLORREF)((r) | ((g) << 8) | ((b) << 16)))
483 #define PALETTERGB(r,g,b) (0x02000000 | RGB(r,g,b))
484 #define PALETTEINDEX(i) ((COLORREF)(0x01000000 | (WORD)(i)))
486 #define GetRValue(rgb) ((rgb) & 0xff)
487 #define GetGValue(rgb) (((rgb) >> 8) & 0xff)
488 #define GetBValue(rgb) (((rgb) >> 16) & 0xff)
490 #define COLOR_SCROLLBAR 0
491 #define COLOR_BACKGROUND 1
492 #define COLOR_ACTIVECAPTION 2
493 #define COLOR_INACTIVECAPTION 3
494 #define COLOR_MENU 4
495 #define COLOR_WINDOW 5
496 #define COLOR_WINDOWFRAME 6
497 #define COLOR_MENUTEXT 7
498 #define COLOR_WINDOWTEXT 8
499 #define COLOR_CAPTIONTEXT 9
500 #define COLOR_ACTIVEBORDER 10
501 #define COLOR_INACTIVEBORDER 11
502 #define COLOR_APPWORKSPACE 12
503 #define COLOR_HIGHLIGHT 13
504 #define COLOR_HIGHLIGHTTEXT 14
505 #define COLOR_BTNFACE 15
506 #define COLOR_BTNSHADOW 16
507 #define COLOR_GRAYTEXT 17
508 #define COLOR_BTNTEXT 18
509 #define COLOR_INACTIVECAPTIONTEXT 19
510 #define COLOR_BTNHIGHLIGHT 20
512 /* WM_CTLCOLOR values */
513 #define CTLCOLOR_MSGBOX 0
514 #define CTLCOLOR_EDIT 1
515 #define CTLCOLOR_LISTBOX 2
516 #define CTLCOLOR_BTN 3
517 #define CTLCOLOR_DLG 4
518 #define CTLCOLOR_SCROLLBAR 5
519 #define CTLCOLOR_STATIC 6
521 /* Bitmaps */
523 typedef struct tagBITMAP
525 INT bmType;
526 INT bmWidth;
527 INT bmHeight;
528 INT bmWidthBytes;
529 BYTE bmPlanes;
530 BYTE bmBitsPixel;
531 SEGPTR bmBits WINE_PACKED;
532 } BITMAP;
534 typedef BITMAP *PBITMAP;
535 typedef BITMAP *NPBITMAP;
536 typedef BITMAP *LPBITMAP;
538 /* Brushes */
540 typedef struct tagLOGBRUSH
542 WORD lbStyle;
543 COLORREF lbColor WINE_PACKED;
544 #ifdef WINELIB32
545 LONG lbHatch;
546 #else
547 INT lbHatch;
548 #endif
549 } LOGBRUSH, *PLOGBRUSH, *NPLOGBRUSH, *LPLOGBRUSH;
551 /* Brush styles */
552 #define BS_SOLID 0
553 #define BS_NULL 1
554 #define BS_HOLLOW 1
555 #define BS_HATCHED 2
556 #define BS_PATTERN 3
557 #define BS_INDEXED 4
558 #define BS_DIBPATTERN 5
560 /* Hatch styles */
561 #define HS_HORIZONTAL 0
562 #define HS_VERTICAL 1
563 #define HS_FDIAGONAL 2
564 #define HS_BDIAGONAL 3
565 #define HS_CROSS 4
566 #define HS_DIAGCROSS 5
568 /* Fonts */
570 #define LF_FACESIZE 32
571 #define LF_FULLFACESIZE 64
573 typedef struct tagLOGFONT
575 INT lfHeight, lfWidth, lfEscapement, lfOrientation, lfWeight;
576 BYTE lfItalic, lfUnderline, lfStrikeOut, lfCharSet;
577 BYTE lfOutPrecision, lfClipPrecision, lfQuality, lfPitchAndFamily;
578 BYTE lfFaceName[LF_FACESIZE] WINE_PACKED;
579 } LOGFONT, *PLOGFONT, *NPLOGFONT, *LPLOGFONT;
581 typedef struct tagENUMLOGFONT
583 LOGFONT elfLogFont;
584 BYTE elfFullName[LF_FULLFACESIZE] WINE_PACKED;
585 BYTE elfStyle[LF_FACESIZE] WINE_PACKED;
586 } ENUMLOGFONT,*PENUMLOGFONT,*NPENUMLOGFONT,*LPENUMLOGFONT;
588 /* lfWeight values */
589 #define FW_DONTCARE 0
590 #define FW_THIN 100
591 #define FW_EXTRALIGHT 200
592 #define FW_ULTRALIGHT 200
593 #define FW_LIGHT 300
594 #define FW_NORMAL 400
595 #define FW_REGULAR 400
596 #define FW_MEDIUM 500
597 #define FW_SEMIBOLD 600
598 #define FW_DEMIBOLD 600
599 #define FW_BOLD 700
600 #define FW_EXTRABOLD 800
601 #define FW_ULTRABOLD 800
602 #define FW_HEAVY 900
603 #define FW_BLACK 900
605 /* lfCharSet values */
606 #define ANSI_CHARSET 0
607 #define DEFAULT_CHARSET 1
608 #define SYMBOL_CHARSET 2
609 #define SHIFTJIS_CHARSET 128
610 #define OEM_CHARSET 255
612 /* lfOutPrecision values */
613 #define OUT_DEFAULT_PRECIS 0
614 #define OUT_STRING_PRECIS 1
615 #define OUT_CHARACTER_PRECIS 2
616 #define OUT_STROKE_PRECIS 3
617 #define OUT_TT_PRECIS 4
618 #define OUT_DEVICE_PRECIS 5
619 #define OUT_RASTER_PRECIS 6
620 #define OUT_TT_ONLY_PRECIS 7
622 /* lfClipPrecision values */
623 #define CLIP_DEFAULT_PRECIS 0x00
624 #define CLIP_CHARACTER_PRECIS 0x01
625 #define CLIP_STROKE_PRECIS 0x02
626 #define CLIP_MASK 0x0F
627 #define CLIP_LH_ANGLES 0x10
628 #define CLIP_TT_ALWAYS 0x20
629 #define CLIP_EMBEDDED 0x80
631 /* lfQuality values */
632 #define DEFAULT_QUALITY 0
633 #define DRAFT_QUALITY 1
634 #define PROOF_QUALITY 2
636 /* lfPitchAndFamily pitch values */
637 #define DEFAULT_PITCH 0x00
638 #define FIXED_PITCH 0x01
639 #define VARIABLE_PITCH 0x02
640 #define FF_DONTCARE 0x00
641 #define FF_ROMAN 0x10
642 #define FF_SWISS 0x20
643 #define FF_MODERN 0x30
644 #define FF_SCRIPT 0x40
645 #define FF_DECORATIVE 0x50
647 typedef struct tagTEXTMETRIC
649 INT tmHeight;
650 INT tmAscent;
651 INT tmDescent;
652 INT tmInternalLeading;
653 INT tmExternalLeading;
654 INT tmAveCharWidth;
655 INT tmMaxCharWidth;
656 INT tmWeight;
657 BYTE tmItalic;
658 BYTE tmUnderlined;
659 BYTE tmStruckOut;
660 BYTE tmFirstChar;
661 BYTE tmLastChar;
662 BYTE tmDefaultChar;
663 BYTE tmBreakChar;
664 BYTE tmPitchAndFamily;
665 BYTE tmCharSet;
666 INT tmOverhang WINE_PACKED;
667 INT tmDigitizedAspectX WINE_PACKED;
668 INT tmDigitizedAspectY WINE_PACKED;
669 } TEXTMETRIC, *PTEXTMETRIC, *NPTEXTMETRIC, *LPTEXTMETRIC;
671 /* tmPitchAndFamily values */
672 #define TMPF_FIXED_PITCH 1
673 #define TMPF_VECTOR 2
674 #define TMPF_TRUETYPE 4
675 #define TMPF_DEVICE 8
677 /* Text alignment */
678 #define TA_NOUPDATECP 0x00
679 #define TA_UPDATECP 0x01
680 #define TA_LEFT 0x00
681 #define TA_RIGHT 0x02
682 #define TA_CENTER 0x06
683 #define TA_TOP 0x00
684 #define TA_BOTTOM 0x08
685 #define TA_BASELINE 0x18
687 /* ExtTextOut() parameters */
688 #define ETO_GRAYED 0x01
689 #define ETO_OPAQUE 0x02
690 #define ETO_CLIPPED 0x04
692 /* Rasterizer status */
693 typedef struct
695 WORD nSize;
696 WORD wFlags;
697 WORD nLanguageID;
698 } RASTERIZER_STATUS, *LPRASTERIZER_STATUS;
700 #define TT_AVAILABLE 0x0001
701 #define TT_ENABLED 0x0002
703 /* Get/SetSystemPaletteUse() values */
704 #define SYSPAL_STATIC 1
705 #define SYSPAL_NOSTATIC 2
707 typedef struct tagPALETTEENTRY
709 BYTE peRed, peGreen, peBlue, peFlags;
710 } PALETTEENTRY, *LPPALETTEENTRY;
712 typedef struct tagLOGPALETTE
714 WORD palVersion;
715 WORD palNumEntries;
716 PALETTEENTRY palPalEntry[1] WINE_PACKED;
717 } LOGPALETTE, *PLOGPALETTE, *NPLOGPALETTE, *LPLOGPALETTE;
720 /* Pens */
722 typedef struct tagLOGPEN
724 WORD lopnStyle;
725 POINT lopnWidth WINE_PACKED;
726 COLORREF lopnColor WINE_PACKED;
727 } LOGPEN, *PLOGPEN, *NPLOGPEN, *LPLOGPEN;
729 #define PS_SOLID 0
730 #define PS_DASH 1
731 #define PS_DOT 2
732 #define PS_DASHDOT 3
733 #define PS_DASHDOTDOT 4
734 #define PS_NULL 5
735 #define PS_INSIDEFRAME 6
737 /* Regions */
739 #define ERROR 0
740 #define NULLREGION 1
741 #define SIMPLEREGION 2
742 #define COMPLEXREGION 3
744 #define RGN_AND 1
745 #define RGN_OR 2
746 #define RGN_XOR 3
747 #define RGN_DIFF 4
748 #define RGN_COPY 5
750 /* Device contexts */
752 /* GetDCEx flags */
753 #define DCX_WINDOW 0x00000001
754 #define DCX_CACHE 0x00000002
755 #define DCX_CLIPCHILDREN 0x00000008
756 #define DCX_CLIPSIBLINGS 0x00000010
757 #define DCX_PARENTCLIP 0x00000020
758 #define DCX_EXCLUDERGN 0x00000040
759 #define DCX_INTERSECTRGN 0x00000080
760 #define DCX_LOCKWINDOWUPDATE 0x00000400
761 #define DCX_USESTYLE 0x00010000
763 /* Polygon modes */
764 #define ALTERNATE 1
765 #define WINDING 2
767 /* Background modes */
768 #define TRANSPARENT 1
769 #define OPAQUE 2
771 /* Map modes */
772 #define MM_TEXT 1
773 #define MM_LOMETRIC 2
774 #define MM_HIMETRIC 3
775 #define MM_LOENGLISH 4
776 #define MM_HIENGLISH 5
777 #define MM_TWIPS 6
778 #define MM_ISOTROPIC 7
779 #define MM_ANISOTROPIC 8
781 /* Coordinate modes */
782 #define ABSOLUTE 1
783 #define RELATIVE 2
785 /* Flood fill modes */
786 #define FLOODFILLBORDER 0
787 #define FLOODFILLSURFACE 1
789 /* Device parameters for GetDeviceCaps() */
790 #define DRIVERVERSION 0
791 #define TECHNOLOGY 2
792 #define HORZSIZE 4
793 #define VERTSIZE 6
794 #define HORZRES 8
795 #define VERTRES 10
796 #define BITSPIXEL 12
797 #define PLANES 14
798 #define NUMBRUSHES 16
799 #define NUMPENS 18
800 #define NUMMARKERS 20
801 #define NUMFONTS 22
802 #define NUMCOLORS 24
803 #define PDEVICESIZE 26
804 #define CURVECAPS 28
805 #define LINECAPS 30
806 #define POLYGONALCAPS 32
807 #define TEXTCAPS 34
808 #define CLIPCAPS 36
809 #define RASTERCAPS 38
810 #define ASPECTX 40
811 #define ASPECTY 42
812 #define ASPECTXY 44
813 #define LOGPIXELSX 88
814 #define LOGPIXELSY 90
815 #define SIZEPALETTE 104
816 #define NUMRESERVED 106
817 #define COLORRES 108
819 /* TECHNOLOGY */
820 #define DT_PLOTTER 0
821 #define DT_RASDISPLAY 1
822 #define DT_RASPRINTER 2
823 #define DT_RASCAMERA 3
824 #define DT_CHARSTREAM 4
825 #define DT_METAFILE 5
826 #define DT_DISPFILE 6
828 /* CURVECAPS */
829 #define CC_NONE 0x0000
830 #define CC_CIRCLES 0x0001
831 #define CC_PIE 0x0002
832 #define CC_CHORD 0x0004
833 #define CC_ELLIPSES 0x0008
834 #define CC_WIDE 0x0010
835 #define CC_STYLED 0x0020
836 #define CC_WIDESTYLED 0x0040
837 #define CC_INTERIORS 0x0080
838 #define CC_ROUNDRECT 0x0100
840 /* LINECAPS */
841 #define LC_NONE 0x0000
842 #define LC_POLYLINE 0x0002
843 #define LC_MARKER 0x0004
844 #define LC_POLYMARKER 0x0008
845 #define LC_WIDE 0x0010
846 #define LC_STYLED 0x0020
847 #define LC_WIDESTYLED 0x0040
848 #define LC_INTERIORS 0x0080
850 /* POLYGONALCAPS */
851 #define PC_NONE 0x0000
852 #define PC_POLYGON 0x0001
853 #define PC_RECTANGLE 0x0002
854 #define PC_WINDPOLYGON 0x0004
855 #define PC_SCANLINE 0x0008
856 #define PC_WIDE 0x0010
857 #define PC_STYLED 0x0020
858 #define PC_WIDESTYLED 0x0040
859 #define PC_INTERIORS 0x0080
861 /* TEXTCAPS */
862 #define TC_OP_CHARACTER 0x0001
863 #define TC_OP_STROKE 0x0002
864 #define TC_CP_STROKE 0x0004
865 #define TC_CR_90 0x0008
866 #define TC_CR_ANY 0x0010
867 #define TC_SF_X_YINDEP 0x0020
868 #define TC_SA_DOUBLE 0x0040
869 #define TC_SA_INTEGER 0x0080
870 #define TC_SA_CONTIN 0x0100
871 #define TC_EA_DOUBLE 0x0200
872 #define TC_IA_ABLE 0x0400
873 #define TC_UA_ABLE 0x0800
874 #define TC_SO_ABLE 0x1000
875 #define TC_RA_ABLE 0x2000
876 #define TC_VA_ABLE 0x4000
877 #define TC_RESERVED 0x8000
879 /* CLIPCAPS */
880 #define CP_NONE 0x0000
881 #define CP_RECTANGLE 0x0001
882 #define CP_REGION 0x0002
884 /* RASTERCAPS */
885 #define RC_NONE 0x0000
886 #define RC_BITBLT 0x0001
887 #define RC_BANDING 0x0002
888 #define RC_SCALING 0x0004
889 #define RC_BITMAP64 0x0008
890 #define RC_GDI20_OUTPUT 0x0010
891 #define RC_GDI20_STATE 0x0020
892 #define RC_SAVEBITMAP 0x0040
893 #define RC_DI_BITMAP 0x0080
894 #define RC_PALETTE 0x0100
895 #define RC_DIBTODEV 0x0200
896 #define RC_BIGFONT 0x0400
897 #define RC_STRETCHBLT 0x0800
898 #define RC_FLOODFILL 0x1000
899 #define RC_STRETCHDIB 0x2000
900 #define RC_OP_DX_OUTPUT 0x4000
901 #define RC_DEVBITS 0x8000
903 /* GetSystemMetrics() codes */
904 #define SM_CXSCREEN 0
905 #define SM_CYSCREEN 1
906 #define SM_CXVSCROLL 2
907 #define SM_CYHSCROLL 3
908 #define SM_CYCAPTION 4
909 #define SM_CXBORDER 5
910 #define SM_CYBORDER 6
911 #define SM_CXDLGFRAME 7
912 #define SM_CYDLGFRAME 8
913 #define SM_CYVTHUMB 9
914 #define SM_CXHTHUMB 10
915 #define SM_CXICON 11
916 #define SM_CYICON 12
917 #define SM_CXCURSOR 13
918 #define SM_CYCURSOR 14
919 #define SM_CYMENU 15
920 #define SM_CXFULLSCREEN 16
921 #define SM_CYFULLSCREEN 17
922 #define SM_CYKANJIWINDOW 18
923 #define SM_MOUSEPRESENT 19
924 #define SM_CYVSCROLL 20
925 #define SM_CXHSCROLL 21
926 #define SM_DEBUG 22
927 #define SM_SWAPBUTTON 23
928 #define SM_RESERVED1 24
929 #define SM_RESERVED2 25
930 #define SM_RESERVED3 26
931 #define SM_RESERVED4 27
932 #define SM_CXMIN 28
933 #define SM_CYMIN 29
934 #define SM_CXSIZE 30
935 #define SM_CYSIZE 31
936 #define SM_CXFRAME 32
937 #define SM_CYFRAME 33
938 #define SM_CXMINTRACK 34
939 #define SM_CYMINTRACK 35
940 #define SM_CXDOUBLECLK 36
941 #define SM_CYDOUBLECLK 37
942 #define SM_CXICONSPACING 38
943 #define SM_CYICONSPACING 39
944 #define SM_MENUDROPALIGNMENT 40
945 #define SM_PENWINDOWS 41
946 #define SM_DBCSENABLED 42
948 #define SM_CMETRICS 43
950 /* Device-independent bitmaps */
952 typedef struct { BYTE rgbBlue, rgbGreen, rgbRed, rgbReserved; } RGBQUAD;
953 typedef struct { BYTE rgbtBlue, rgbtGreen, rgbtRed; } RGBTRIPLE;
955 typedef struct
957 UINT bfType;
958 DWORD bfSize WINE_PACKED;
959 UINT bfReserved1 WINE_PACKED;
960 UINT bfReserved2 WINE_PACKED;
961 DWORD bfOffBits WINE_PACKED;
962 } BITMAPFILEHEADER;
964 typedef struct tagBITMAPINFOHEADER
966 DWORD biSize;
967 DWORD biWidth;
968 DWORD biHeight;
969 WORD biPlanes;
970 WORD biBitCount;
971 DWORD biCompression;
972 DWORD biSizeImage;
973 DWORD biXPelsPerMeter;
974 DWORD biYPelsPerMeter;
975 DWORD biClrUsed;
976 DWORD biClrImportant;
977 } BITMAPINFOHEADER;
979 typedef BITMAPINFOHEADER * LPBITMAPINFOHEADER;
980 typedef BITMAPINFOHEADER * NPBITMAPINFOHEADER;
981 typedef BITMAPINFOHEADER * PBITMAPINFOHEADER;
983 /* biCompression */
984 #define BI_RGB 0
985 #define BI_RLE8 1
986 #define BI_RLE4 2
988 typedef struct {
989 BITMAPINFOHEADER bmiHeader;
990 RGBQUAD bmiColors[1];
991 } BITMAPINFO;
992 typedef BITMAPINFO *LPBITMAPINFO;
993 typedef BITMAPINFO *NPBITMAPINFO;
994 typedef BITMAPINFO *PBITMAPINFO;
996 typedef struct
998 DWORD bcSize;
999 UINT bcWidth;
1000 UINT bcHeight;
1001 UINT bcPlanes;
1002 UINT bcBitCount;
1003 } BITMAPCOREHEADER;
1005 typedef struct
1007 BITMAPCOREHEADER bmciHeader;
1008 RGBTRIPLE bmciColors[1];
1009 } BITMAPCOREINFO, *LPBITMAPCOREINFO;
1011 #define DIB_RGB_COLORS 0
1012 #define DIB_PAL_COLORS 1
1013 #define CBM_INIT 4
1016 /* Cursors / Icons */
1018 typedef struct
1020 POINT ptHotSpot;
1021 WORD nWidth;
1022 WORD nHeight;
1023 WORD nWidthBytes;
1024 BYTE bPlanes;
1025 BYTE bBitsPerPixel;
1026 } CURSORICONINFO;
1030 typedef struct {
1031 BYTE i; /* much more .... */
1032 } KANJISTRUCT;
1033 typedef KANJISTRUCT *LPKANJISTRUCT;
1034 typedef KANJISTRUCT *NPKANJISTRUCT;
1035 typedef KANJISTRUCT *PKANJISTRUCT;
1037 typedef struct {
1038 BYTE cBytes, fFixedDisk;
1039 WORD nErrCode;
1040 BYTE reserved[4], szPathName[128];
1041 } OFSTRUCT;
1042 typedef OFSTRUCT *POFSTRUCT;
1043 typedef OFSTRUCT *NPOFSTRUCT;
1044 typedef OFSTRUCT *LPOFSTRUCT;
1046 #define OF_READ 0x0000
1047 #define OF_WRITE 0x0001
1048 #define OF_READWRITE 0x0002
1049 #define OF_CANCEL 0x0800
1050 #define OF_CREATE 0x1000
1051 #define OF_DELETE 0x0200
1052 #define OF_EXIST 0x4000
1053 #define OF_PARSE 0x0100
1054 #define OF_PROMPT 0x2000
1055 #define OF_REOPEN 0x8000
1056 #define OF_SHARE_COMPAT 0x0000
1057 #define OF_SHARE_DENY_NONE 0x0040
1058 #define OF_SHARE_DENY_READ 0x0030
1059 #define OF_SHARE_DENY_WRITE 0x0020
1060 #define OF_SHARE_EXCLUSIVE 0x0010
1061 #define OF_VERIFY 0x0400
1063 #define DRIVE_CANNOTDETERMINE 0
1064 #define DRIVE_DOESNOTEXIST 1
1065 #define DRIVE_REMOVABLE 2
1066 #define DRIVE_FIXED 3
1067 #define DRIVE_REMOTE 4
1069 #define HFILE_ERROR -1
1071 #define DDL_READWRITE 0x0000
1072 #define DDL_READONLY 0x0001
1073 #define DDL_HIDDEN 0x0002
1074 #define DDL_SYSTEM 0x0004
1075 #define DDL_DIRECTORY 0x0010
1076 #define DDL_ARCHIVE 0x0020
1078 #define DDL_POSTMSGS 0x2000
1079 #define DDL_DRIVES 0x4000
1080 #define DDL_EXCLUSIVE 0x8000
1082 /* comm */
1084 #define CBR_110 0xFF10
1085 #define CBR_300 0xFF11
1086 #define CBR_600 0xFF12
1087 #define CBR_1200 0xFF13
1088 #define CBR_2400 0xFF14
1089 #define CBR_4800 0xFF15
1090 #define CBR_9600 0xFF16
1091 #define CBR_14400 0xFF17
1092 #define CBR_19200 0xFF18
1093 #define CBR_38400 0xFF1B
1094 #define CBR_56000 0xFF1F
1095 #define CBR_128000 0xFF23
1096 #define CBR_256000 0xFF27
1098 #define NOPARITY 0
1099 #define ODDPARITY 1
1100 #define EVENPARITY 2
1101 #define MARKPARITY 3
1102 #define SPACEPARITY 4
1103 #define ONESTOPBIT 0
1104 #define ONE5STOPBITS 1
1105 #define TWOSTOPBITS 2
1106 #define IGNORE 0
1107 #define INFINITE 0xFFFF
1109 #define CE_RXOVER 0x0001
1110 #define CE_OVERRUN 0x0002
1111 #define CE_RXPARITY 0x0004
1112 #define CE_FRAME 0x0008
1113 #define CE_BREAK 0x0010
1114 #define CE_CTSTO 0x0020
1115 #define CE_DSRTO 0x0040
1116 #define CE_RLSDTO 0x0080
1117 #define CE_TXFULL 0x0100
1118 #define CE_PTO 0x0200
1119 #define CE_IOE 0x0400
1120 #define CE_DNS 0x0800
1121 #define CE_OOP 0x1000
1122 #define CE_MODE 0x8000
1124 #define IE_BADID -1
1125 #define IE_OPEN -2
1126 #define IE_NOPEN -3
1127 #define IE_MEMORY -4
1128 #define IE_DEFAULT -5
1129 #define IE_HARDWARE -10
1130 #define IE_BYTESIZE -11
1131 #define IE_BAUDRATE -12
1133 #define EV_RXCHAR 0x0001
1134 #define EV_RXFLAG 0x0002
1135 #define EV_TXEMPTY 0x0004
1136 #define EV_CTS 0x0008
1137 #define EV_DSR 0x0010
1138 #define EV_RLSD 0x0020
1139 #define EV_BREAK 0x0040
1140 #define EV_ERR 0x0080
1141 #define EV_RING 0x0100
1142 #define EV_PERR 0x0200
1143 #define EV_CTSS 0x0400
1144 #define EV_DSRS 0x0800
1145 #define EV_RLSDS 0x1000
1146 #define EV_RINGTE 0x2000
1147 #define EV_RingTe EV_RINGTE
1149 #define SETXOFF 1
1150 #define SETXON 2
1151 #define SETRTS 3
1152 #define CLRRTS 4
1153 #define SETDTR 5
1154 #define CLRDTR 6
1155 #define RESETDEV 7
1156 #define GETMAXLPT 8
1157 #define GETMAXCOM 9
1158 #define GETBASEIRQ 10
1160 #define CN_RECEIVE 0x0001
1161 #define CN_TRANSMIT 0x0002
1162 #define CN_EVENT 0x0004
1164 typedef struct tagDCB
1166 BYTE Id;
1167 UINT BaudRate WINE_PACKED;
1168 BYTE ByteSize;
1169 BYTE Parity;
1170 BYTE StopBits;
1171 UINT RlsTimeout;
1172 UINT CtsTimeout;
1173 UINT DsrTimeout;
1175 UINT fBinary :1;
1176 UINT fRtsDisable :1;
1177 UINT fParity :1;
1178 UINT fOutxCtsFlow :1;
1179 UINT fOutxDsrFlow :1;
1180 UINT fDummy :2;
1181 UINT fDtrDisable :1;
1183 UINT fOutX :1;
1184 UINT fInX :1;
1185 UINT fPeChar :1;
1186 UINT fNull :1;
1187 UINT fChEvt :1;
1188 UINT fDtrflow :1;
1189 UINT fRtsflow :1;
1190 UINT fDummy2 :1;
1192 char XonChar;
1193 char XoffChar;
1194 UINT XonLim;
1195 UINT XoffLim;
1196 char PeChar;
1197 char EofChar;
1198 char EvtChar;
1199 UINT TxDelay WINE_PACKED;
1200 } DCB;
1201 typedef DCB FAR* LPDCB;
1203 typedef struct tagCOMSTAT
1205 BYTE status;
1206 UINT cbInQue WINE_PACKED;
1207 UINT cbOutQue WINE_PACKED;
1208 } COMSTAT;
1210 #define CSTF_CTSHOLD 0x01
1211 #define CSTF_DSRHOLD 0x02
1212 #define CSTF_RLSDHOLD 0x04
1213 #define CSTF_XOFFHOLD 0x08
1214 #define CSTF_XOFFSENT 0x10
1215 #define CSTF_EOF 0x20
1216 #define CSTF_TXIM 0x40
1218 /* SystemParametersInfo */
1220 #define SPI_GETBEEP 1
1221 #define SPI_SETBEEP 2
1222 #define SPI_GETMOUSE 3
1223 #define SPI_SETMOUSE 4
1224 #define SPI_GETBORDER 5
1225 #define SPI_SETBORDER 6
1226 #define SPI_GETKEYBOARDSPEED 10
1227 #define SPI_SETKEYBOARDSPEED 11
1228 #define SPI_LANGDRIVER 12
1229 #define SPI_ICONHORIZONTALSPACING 13
1230 #define SPI_GETSCREENSAVETIMEOUT 14
1231 #define SPI_SETSCREENSAVETIMEOUT 15
1232 #define SPI_GETSCREENSAVEACTIVE 16
1233 #define SPI_SETSCREENSAVEACTIVE 17
1234 #define SPI_GETGRIDGRANULARITY 18
1235 #define SPI_SETGRIDGRANULARITY 19
1236 #define SPI_SETDESKWALLPAPER 20
1237 #define SPI_SETDESKPATTERN 21
1238 #define SPI_GETKEYBOARDDELAY 22
1239 #define SPI_SETKEYBOARDDELAY 23
1240 #define SPI_ICONVERTICALSPACING 24
1241 #define SPI_GETICONTITLEWRAP 25
1242 #define SPI_SETICONTITLEWRAP 26
1243 #define SPI_GETMENUDROPALIGNMENT 27
1244 #define SPI_SETMENUDROPALIGNMENT 28
1245 #define SPI_SETDOUBLECLKWIDTH 29
1246 #define SPI_SETDOUBLECLKHEIGHT 30
1247 #define SPI_GETICONTITLELOGFONT 31
1248 #define SPI_SETDOUBLECLICKTIME 32
1249 #define SPI_SETMOUSEBUTTONSWAP 33
1250 #define SPI_SETICONTITLELOGFONT 34
1251 #define SPI_GETFASTTASKSWITCH 35
1252 #define SPI_SETFASTTASKSWITCH 36
1254 /* SystemParametersInfo flags */
1256 #define SPIF_UPDATEINIFILE 1
1257 #define SPIF_SENDWININICHANGE 2
1259 /* GetFreeSystemResources() parameters */
1261 #define GFSR_SYSTEMRESOURCES 0x0000
1262 #define GFSR_GDIRESOURCES 0x0001
1263 #define GFSR_USERRESOURCES 0x0002
1265 /* GetWinFlags */
1267 #define WF_PMODE 0x0001
1268 #define WF_CPU286 0x0002
1269 #define WF_CPU386 0x0004
1270 #define WF_CPU486 0x0008
1271 #define WF_STANDARD 0x0010
1272 #define WF_WIN286 0x0010
1273 #define WF_ENHANCED 0x0020
1274 #define WF_WIN386 0x0020
1275 #define WF_CPU086 0x0040
1276 #define WF_CPU186 0x0080
1277 #define WF_LARGEFRAME 0x0100
1278 #define WF_SMALLFRAME 0x0200
1279 #define WF_80x87 0x0400
1280 #define WF_PAGING 0x0800
1281 #define WF_WLO 0x8000
1283 #define MAKEINTRESOURCE(i) (SEGPTR)((DWORD)((WORD)(i)))
1285 /* Predefined resource types */
1286 #define RT_CURSOR MAKEINTRESOURCE(1)
1287 #define RT_BITMAP MAKEINTRESOURCE(2)
1288 #define RT_ICON MAKEINTRESOURCE(3)
1289 #define RT_MENU MAKEINTRESOURCE(4)
1290 #define RT_DIALOG MAKEINTRESOURCE(5)
1291 #define RT_STRING MAKEINTRESOURCE(6)
1292 #define RT_FONTDIR MAKEINTRESOURCE(7)
1293 #define RT_FONT MAKEINTRESOURCE(8)
1294 #define RT_ACCELERATOR MAKEINTRESOURCE(9)
1295 #define RT_RCDATA MAKEINTRESOURCE(10)
1296 #define RT_GROUP_CURSOR MAKEINTRESOURCE(12)
1297 #define RT_GROUP_ICON MAKEINTRESOURCE(14)
1299 /* Predefined resources */
1300 #define IDI_APPLICATION MAKEINTRESOURCE(32512)
1301 #define IDI_HAND MAKEINTRESOURCE(32513)
1302 #define IDI_QUESTION MAKEINTRESOURCE(32514)
1303 #define IDI_EXCLAMATION MAKEINTRESOURCE(32515)
1304 #define IDI_ASTERISK MAKEINTRESOURCE(32516)
1306 #define IDC_BUMMER MAKEINTRESOURCE(100)
1307 #define IDC_ARROW MAKEINTRESOURCE(32512)
1308 #define IDC_IBEAM MAKEINTRESOURCE(32513)
1309 #define IDC_WAIT MAKEINTRESOURCE(32514)
1310 #define IDC_CROSS MAKEINTRESOURCE(32515)
1311 #define IDC_UPARROW MAKEINTRESOURCE(32516)
1312 #define IDC_SIZE MAKEINTRESOURCE(32640)
1313 #define IDC_ICON MAKEINTRESOURCE(32641)
1314 #define IDC_SIZENWSE MAKEINTRESOURCE(32642)
1315 #define IDC_SIZENESW MAKEINTRESOURCE(32643)
1316 #define IDC_SIZEWE MAKEINTRESOURCE(32644)
1317 #define IDC_SIZENS MAKEINTRESOURCE(32645)
1319 /* OEM Resource Ordinal Numbers */
1320 #define OBM_CLOSE 32754
1321 #define OBM_UPARROW 32753
1322 #define OBM_DNARROW 32752
1323 #define OBM_RGARROW 32751
1324 #define OBM_LFARROW 32750
1325 #define OBM_REDUCE 32749
1326 #define OBM_ZOOM 32748
1327 #define OBM_RESTORE 32747
1328 #define OBM_REDUCED 32746
1329 #define OBM_ZOOMD 32745
1330 #define OBM_RESTORED 32744
1331 #define OBM_UPARROWD 32743
1332 #define OBM_DNARROWD 32742
1333 #define OBM_RGARROWD 32741
1334 #define OBM_LFARROWD 32740
1335 #define OBM_MNARROW 32739
1336 #define OBM_COMBO 32738
1337 #define OBM_UPARROWI 32737
1338 #define OBM_DNARROWI 32736
1339 #define OBM_RGARROWI 32735
1340 #define OBM_LFARROWI 32734
1342 #define OBM_FOLDER 32733
1343 #define OBM_FOLDER2 32732
1344 #define OBM_FLOPPY 32731
1345 #define OBM_HDISK 32730
1346 #define OBM_CDROM 32729
1348 #define OBM_OLD_CLOSE 32767
1349 #define OBM_SIZE 32766
1350 #define OBM_OLD_UPARROW 32765
1351 #define OBM_OLD_DNARROW 32764
1352 #define OBM_OLD_RGARROW 32763
1353 #define OBM_OLD_LFARROW 32762
1354 #define OBM_BTSIZE 32761
1355 #define OBM_CHECK 32760
1356 #define OBM_CHECKBOXES 32759
1357 #define OBM_BTNCORNERS 32758
1358 #define OBM_OLD_REDUCE 32757
1359 #define OBM_OLD_ZOOM 32756
1360 #define OBM_OLD_RESTORE 32755
1362 #define OCR_BUMMER 100
1363 #define OCR_DRAGOBJECT 101
1365 #define OCR_NORMAL 32512
1366 #define OCR_IBEAM 32513
1367 #define OCR_WAIT 32514
1368 #define OCR_CROSS 32515
1369 #define OCR_UP 32516
1370 #define OCR_SIZE 32640
1371 #define OCR_ICON 32641
1372 #define OCR_SIZENWSE 32642
1373 #define OCR_SIZENESW 32643
1374 #define OCR_SIZEWE 32644
1375 #define OCR_SIZENS 32645
1376 #define OCR_SIZEALL 32646
1377 #define OCR_ICOCUR 32647
1379 #define OIC_SAMPLE 32512
1380 #define OIC_HAND 32513
1381 #define OIC_QUES 32514
1382 #define OIC_BANG 32515
1383 #define OIC_NOTE 32516
1384 #define OIC_PORTRAIT 32517
1385 #define OIC_LANDSCAPE 32518
1386 #define OIC_WINEICON 32519
1388 /* Stock GDI objects for GetStockObject() */
1390 #define WHITE_BRUSH 0
1391 #define LTGRAY_BRUSH 1
1392 #define GRAY_BRUSH 2
1393 #define DKGRAY_BRUSH 3
1394 #define BLACK_BRUSH 4
1395 #define NULL_BRUSH 5
1396 #define HOLLOW_BRUSH 5
1397 #define WHITE_PEN 6
1398 #define BLACK_PEN 7
1399 #define NULL_PEN 8
1400 #define OEM_FIXED_FONT 10
1401 #define ANSI_FIXED_FONT 11
1402 #define ANSI_VAR_FONT 12
1403 #define SYSTEM_FONT 13
1404 #define DEVICE_DEFAULT_FONT 14
1405 #define DEFAULT_PALETTE 15
1406 #define SYSTEM_FIXED_FONT 16
1408 /* DragObject stuff */
1410 typedef struct tagDRAGINFO {
1411 HWND hWnd;
1412 HANDLE hScope;
1413 WORD wFlags;
1414 HANDLE hList;
1415 HANDLE hOfStruct;
1416 POINT pt WINE_PACKED;
1417 LONG l WINE_PACKED;
1418 } DRAGINFO, FAR* LPDRAGINFO;
1420 #define DRAGOBJ_PROGRAM 0x0001
1421 #define DRAGOBJ_DATA 0x0002
1422 #define DRAGOBJ_DIRECTORY 0x0004
1423 #define DRAGOBJ_MULTIPLE 0x0008
1424 #define DRAGOBJ_EXTERNAL 0x8000
1426 #define DRAG_PRINT 0x544E5250
1427 #define DRAG_FILE 0x454C4946
1429 /* Messages */
1431 #define WM_NULL 0x0000
1432 #define WM_CREATE 0x0001
1433 #define WM_DESTROY 0x0002
1434 #define WM_MOVE 0x0003
1435 #define WM_SIZEWAIT 0x0004
1436 #define WM_SIZE 0x0005
1437 #define WM_ACTIVATE 0x0006
1438 #define WM_SETFOCUS 0x0007
1439 #define WM_KILLFOCUS 0x0008
1440 #define WM_SETVISIBLE 0x0009
1441 #define WM_ENABLE 0x000a
1442 #define WM_SETREDRAW 0x000b
1443 #define WM_SETTEXT 0x000c
1444 #define WM_GETTEXT 0x000d
1445 #define WM_GETTEXTLENGTH 0x000e
1446 #define WM_PAINT 0x000f
1447 #define WM_CLOSE 0x0010
1448 #define WM_QUERYENDSESSION 0x0011
1449 #define WM_QUIT 0x0012
1450 #define WM_QUERYOPEN 0x0013
1451 #define WM_ERASEBKGND 0x0014
1452 #define WM_SYSCOLORCHANGE 0x0015
1453 #define WM_ENDSESSION 0x0016
1454 #define WM_SYSTEMERROR 0x0017
1455 #define WM_SHOWWINDOW 0x0018
1456 #define WM_CTLCOLOR 0x0019
1457 #define WM_WININICHANGE 0x001a
1458 #define WM_DEVMODECHANGE 0x001b
1459 #define WM_ACTIVATEAPP 0x001c
1460 #define WM_FONTCHANGE 0x001d
1461 #define WM_TIMECHANGE 0x001e
1462 #define WM_CANCELMODE 0x001f
1463 #define WM_SETCURSOR 0x0020
1464 #define WM_MOUSEACTIVATE 0x0021
1465 #define WM_CHILDACTIVATE 0x0022
1466 #define WM_QUEUESYNC 0x0023
1467 #define WM_GETMINMAXINFO 0x0024
1469 #define WM_PAINTICON 0x0026
1470 #define WM_ICONERASEBKGND 0x0027
1471 #define WM_NEXTDLGCTL 0x0028
1472 #define WM_ALTTABACTIVE 0x0029
1473 #define WM_SPOOLERSTATUS 0x002a
1474 #define WM_DRAWITEM 0x002b
1475 #define WM_MEASUREITEM 0x002c
1476 #define WM_DELETEITEM 0x002d
1477 #define WM_VKEYTOITEM 0x002e
1478 #define WM_CHARTOITEM 0x002f
1479 #define WM_SETFONT 0x0030
1480 #define WM_GETFONT 0x0031
1481 #define WM_SETHOTKEY 0x0032
1482 #define WM_GETHOTKEY 0x0033
1483 #define WM_FILESYSCHANGE 0x0034
1484 #define WM_ISACTIVEICON 0x0035
1485 #define WM_QUERYPARKICON 0x0036
1486 #define WM_QUERYDRAGICON 0x0037
1487 #define WM_QUERYSAVESTATE 0x0038
1488 #define WM_COMPAREITEM 0x0039
1489 #define WM_TESTING 0x003a
1491 #define WM_OTHERWINDOWCREATED 0x003c
1492 #define WM_OTHERWINDOWDESTROYED 0x003d
1493 #define WM_ACTIVATESHELLWINDOW 0x003e
1495 #define WM_COMPACTING 0x0041
1497 #define WM_COMMNOTIFY 0x0044
1498 #define WM_WINDOWPOSCHANGING 0x0046
1499 #define WM_WINDOWPOSCHANGED 0x0047
1500 #define WM_POWER 0x0048
1502 #define WM_NCCREATE 0x0081
1503 #define WM_NCDESTROY 0x0082
1504 #define WM_NCCALCSIZE 0x0083
1505 #define WM_NCHITTEST 0x0084
1506 #define WM_NCPAINT 0x0085
1507 #define WM_NCACTIVATE 0x0086
1509 #define WM_GETDLGCODE 0x0087
1510 #define WM_SYNCPAINT 0x0088
1511 #define WM_SYNCTASK 0x0089
1513 /* Non-client mouse messages */
1514 #define WM_NCMOUSEMOVE 0x00a0
1515 #define WM_NCLBUTTONDOWN 0x00a1
1516 #define WM_NCLBUTTONUP 0x00a2
1517 #define WM_NCLBUTTONDBLCLK 0x00a3
1518 #define WM_NCRBUTTONDOWN 0x00a4
1519 #define WM_NCRBUTTONUP 0x00a5
1520 #define WM_NCRBUTTONDBLCLK 0x00a6
1521 #define WM_NCMBUTTONDOWN 0x00a7
1522 #define WM_NCMBUTTONUP 0x00a8
1523 #define WM_NCMBUTTONDBLCLK 0x00a9
1525 /* Keyboard messages */
1526 #define WM_KEYDOWN 0x0100
1527 #define WM_KEYUP 0x0101
1528 #define WM_CHAR 0x0102
1529 #define WM_DEADCHAR 0x0103
1530 #define WM_SYSKEYDOWN 0x0104
1531 #define WM_SYSKEYUP 0x0105
1532 #define WM_SYSCHAR 0x0106
1533 #define WM_SYSDEADCHAR 0x0107
1534 #define WM_KEYFIRST WM_KEYDOWN
1535 #define WM_KEYLAST 0x0108
1537 #define WM_INITDIALOG 0x0110
1538 #define WM_COMMAND 0x0111
1539 #define WM_SYSCOMMAND 0x0112
1540 #define WM_TIMER 0x0113
1541 #define WM_SYSTIMER 0x0118
1543 /* scroll messages */
1544 #define WM_HSCROLL 0x0114
1545 #define WM_VSCROLL 0x0115
1547 /* Menu messages */
1548 #define WM_INITMENU 0x0116
1549 #define WM_INITMENUPOPUP 0x0117
1551 #define WM_MENUSELECT 0x011F
1552 #define WM_MENUCHAR 0x0120
1553 #define WM_ENTERIDLE 0x0121
1555 #define WM_LBTRACKPOINT 0x0131
1557 /* Win32 CTLCOLOR messages */
1558 #define WM_CTLCOLORMSGBOX 0x0132
1559 #define WM_CTLCOLOREDIT 0x0133
1560 #define WM_CTLCOLORLISTBOX 0x0134
1561 #define WM_CTLCOLORBTN 0x0135
1562 #define WM_CTLCOLORDLG 0x0136
1563 #define WM_CTLCOLORSCROLLBAR 0x0137
1564 #define WM_CTLCOLORSTATIC 0x0138
1566 /* Mouse messages */
1567 #define WM_MOUSEMOVE 0x0200
1568 #define WM_LBUTTONDOWN 0x0201
1569 #define WM_LBUTTONUP 0x0202
1570 #define WM_LBUTTONDBLCLK 0x0203
1571 #define WM_RBUTTONDOWN 0x0204
1572 #define WM_RBUTTONUP 0x0205
1573 #define WM_RBUTTONDBLCLK 0x0206
1574 #define WM_MBUTTONDOWN 0x0207
1575 #define WM_MBUTTONUP 0x0208
1576 #define WM_MBUTTONDBLCLK 0x0209
1577 #define WM_MOUSEFIRST WM_MOUSEMOVE
1578 #define WM_MOUSELAST WM_MBUTTONDBLCLK
1580 #define WM_PARENTNOTIFY 0x0210
1581 #define WM_ENTERMENULOOP 0x0211
1582 #define WM_EXITMENULOOP 0x0212
1583 #define WM_NEXTMENU 0x0213
1585 #define WM_MDICREATE 0x0220
1586 #define WM_MDIDESTROY 0x0221
1587 #define WM_MDIACTIVATE 0x0222
1588 #define WM_MDIRESTORE 0x0223
1589 #define WM_MDINEXT 0x0224
1590 #define WM_MDIMAXIMIZE 0x0225
1591 #define WM_MDITILE 0x0226
1592 #define WM_MDICASCADE 0x0227
1593 #define WM_MDIICONARRANGE 0x0228
1594 #define WM_MDIGETACTIVE 0x0229
1595 #define WM_DROPOBJECT 0x022A
1596 #define WM_QUERYDROPOBJECT 0x022B
1597 #define WM_BEGINDRAG 0x022C
1598 #define WM_DRAGLOOP 0x022D
1599 #define WM_DRAGSELECT 0x022E
1600 #define WM_DRAGMOVE 0x022F
1601 #define WM_MDISETMENU 0x0230
1603 #define WM_ENTERSIZEMOVE 0x0231
1604 #define WM_EXITSIZEMOVE 0x0232
1605 #define WM_DROPFILES 0x0233
1607 #define WM_CUT 0x0300
1608 #define WM_COPY 0x0301
1609 #define WM_PASTE 0x0302
1610 #define WM_CLEAR 0x0303
1611 #define WM_UNDO 0x0304
1612 #define WM_RENDERFORMAT 0x0305
1613 #define WM_RENDERALLFORMATS 0x0306
1614 #define WM_DESTROYCLIPBOARD 0x0307
1615 #define WM_DRAWCLIPBOARD 0x0308
1616 #define WM_PAINTCLIPBOARD 0x0309
1617 #define WM_VSCROLLCLIPBOARD 0x030A
1618 #define WM_SIZECLIPBOARD 0x030B
1619 #define WM_ASKCBFORMATNAME 0x030C
1620 #define WM_CHANGECBCHAIN 0x030D
1621 #define WM_HSCROLLCLIPBOARD 0x030E
1622 #define WM_QUERYNEWPALETTE 0x030F
1623 #define WM_PALETTEISCHANGING 0x0310
1624 #define WM_PALETTECHANGED 0x0311
1626 #define WM_COALESCE_FIRST 0x0390
1627 #define WM_COALESCE_LAST 0x039F
1629 /* misc messages */
1630 #define WM_NULL 0x0000
1631 #define WM_USER 0x0400
1632 #define WM_CPL_LAUNCH (WM_USER + 1000)
1633 #define WM_CPL_LAUNCHED (WM_USER + 1001)
1635 /* Key status flags for mouse events */
1636 #define MK_LBUTTON 0x0001
1637 #define MK_RBUTTON 0x0002
1638 #define MK_SHIFT 0x0004
1639 #define MK_CONTROL 0x0008
1640 #define MK_MBUTTON 0x0010
1642 /* Mouse_Event flags */
1643 #define ME_MOVE 0x01
1644 #define ME_LDOWN 0x02
1645 #define ME_LUP 0x04
1646 #define ME_RDOWN 0x08
1647 #define ME_RUP 0x10
1649 /* Queue status flags */
1650 #define QS_KEY 0x0001
1651 #define QS_MOUSEMOVE 0x0002
1652 #define QS_MOUSEBUTTON 0x0004
1653 #define QS_MOUSE (QS_MOUSEMOVE | QS_MOUSEBUTTON)
1654 #define QS_POSTMESSAGE 0x0008
1655 #define QS_TIMER 0x0010
1656 #define QS_PAINT 0x0020
1657 #define QS_SENDMESSAGE 0x0040
1658 #define QS_ALLINPUT 0x007f
1660 /* PeekMessage() options */
1661 #define PM_NOREMOVE 0x0000
1662 #define PM_REMOVE 0x0001
1663 #define PM_NOYIELD 0x0002
1665 #define WM_SHOWWINDOW 0x0018
1667 /* WM_SHOWWINDOW wParam codes */
1668 #define SW_PARENTCLOSING 1
1669 #define SW_OTHERMAXIMIZED 2
1670 #define SW_PARENTOPENING 3
1671 #define SW_OTHERRESTORED 4
1673 /* ShowWindow() codes */
1674 #define SW_HIDE 0
1675 #define SW_SHOWNORMAL 1
1676 #define SW_NORMAL 1
1677 #define SW_SHOWMINIMIZED 2
1678 #define SW_SHOWMAXIMIZED 3
1679 #define SW_MAXIMIZE 3
1680 #define SW_SHOWNOACTIVATE 4
1681 #define SW_SHOW 5
1682 #define SW_MINIMIZE 6
1683 #define SW_SHOWMINNOACTIVE 7
1684 #define SW_SHOWNA 8
1685 #define SW_RESTORE 9
1687 /* WM_SIZE message wParam values */
1688 #define SIZE_RESTORED 0
1689 #define SIZE_MINIMIZED 1
1690 #define SIZE_MAXIMIZED 2
1691 #define SIZE_MAXSHOW 3
1692 #define SIZE_MAXHIDE 4
1694 /* SetWindowPos() and WINDOWPOS flags */
1695 #define SWP_NOSIZE 0x0001
1696 #define SWP_NOMOVE 0x0002
1697 #define SWP_NOZORDER 0x0004
1698 #define SWP_NOREDRAW 0x0008
1699 #define SWP_NOACTIVATE 0x0010
1700 #define SWP_FRAMECHANGED 0x0020 /* The frame changed: send WM_NCCALCSIZE */
1701 #define SWP_SHOWWINDOW 0x0040
1702 #define SWP_HIDEWINDOW 0x0080
1703 #define SWP_NOCOPYBITS 0x0100
1704 #define SWP_NOOWNERZORDER 0x0200 /* Don't do owner Z ordering */
1706 #define SWP_DRAWFRAME SWP_FRAMECHANGED
1707 #define SWP_NOREPOSITION SWP_NOOWNERZORDER
1709 #define SWP_NOSENDCHANGING 0x0400
1710 #define SWP_DEFERERASE 0x2000
1712 /* SetWindowPos() hwndInsertAfter field values */
1713 #define HWND_TOP ((HWND)0)
1714 #define HWND_BOTTOM ((HWND)1)
1715 #define HWND_TOPMOST ((HWND)-1)
1716 #define HWND_NOTOPMOST ((HWND)-2)
1718 /* Flags for TrackPopupMenu */
1719 #define TPM_LEFTBUTTON 0x0000
1720 #define TPM_RIGHTBUTTON 0x0002
1721 #define TPM_LEFTALIGN 0x0000
1722 #define TPM_CENTERALIGN 0x0004
1723 #define TPM_RIGHTALIGN 0x0008
1725 #define MF_INSERT 0
1726 #define MF_CHANGE 0x0080
1727 #define MF_APPEND 0x0100
1728 #define MF_DELETE 0x0200
1729 #define MF_REMOVE 0x1000
1730 #define MF_BYCOMMAND 0
1731 #define MF_BYPOSITION 0x0400
1732 #define MF_SEPARATOR 0x0800
1733 #define MF_ENABLED 0
1734 #define MF_GRAYED 0x0001
1735 #define MF_DISABLED 0x0002
1736 #define MF_UNCHECKED 0
1737 #define MF_CHECKED 0x0008
1738 #define MF_USECHECKBITMAPS 0x0200
1739 #define MF_STRING 0
1740 #define MF_BITMAP 0x0004
1741 #define MF_OWNERDRAW 0x0100
1742 #define MF_POPUP 0x0010
1743 #define MF_MENUBARBREAK 0x0020
1744 #define MF_MENUBREAK 0x0040
1745 #define MF_UNHILITE 0
1746 #define MF_HILITE 0x0080
1747 #define MF_SYSMENU 0x2000
1748 #define MF_HELP 0x4000
1749 #define MF_MOUSESELECT 0x8000
1750 #define MF_END 0x0080
1752 #ifndef NOWINOFFSETS
1753 #define GCW_HBRBACKGROUND (-10)
1754 #endif
1756 #define MB_OK 0x0000
1757 #define MB_OKCANCEL 0x0001
1758 #define MB_ABORTRETRYIGNORE 0x0002
1759 #define MB_YESNOCANCEL 0x0003
1760 #define MB_YESNO 0x0004
1761 #define MB_RETRYCANCEL 0x0005
1762 #define MB_TYPEMASK 0x000F
1764 #define MB_ICONHAND 0x0010
1765 #define MB_ICONQUESTION 0x0020
1766 #define MB_ICONEXCLAMATION 0x0030
1767 #define MB_ICONASTERISK 0x0040
1768 #define MB_ICONMASK 0x00F0
1770 #define MB_ICONINFORMATION MB_ICONASTERISK
1771 #define MB_ICONSTOP MB_ICONHAND
1773 #define MB_DEFBUTTON1 0x0000
1774 #define MB_DEFBUTTON2 0x0100
1775 #define MB_DEFBUTTON3 0x0200
1776 #define MB_DEFMASK 0x0F00
1778 #define MB_APPLMODAL 0x0000
1779 #define MB_SYSTEMMODAL 0x1000
1780 #define MB_TASKMODAL 0x2000
1782 #define MB_NOFOCUS 0x8000
1785 #define DT_TOP 0
1786 #define DT_LEFT 0
1787 #define DT_CENTER 1
1788 #define DT_RIGHT 2
1789 #define DT_VCENTER 4
1790 #define DT_BOTTOM 8
1791 #define DT_WORDBREAK 16
1792 #define DT_SINGLELINE 32
1793 #define DT_EXPANDTABS 64
1794 #define DT_TABSTOP 128
1795 #define DT_NOCLIP 256
1796 #define DT_EXTERNALLEADING 512
1797 #define DT_CALCRECT 1024
1798 #define DT_NOPREFIX 2048
1799 #define DT_INTERNAL 4096
1801 /* Window Styles */
1802 #define WS_OVERLAPPED 0x00000000L
1803 #define WS_POPUP 0x80000000L
1804 #define WS_CHILD 0x40000000L
1805 #define WS_MINIMIZE 0x20000000L
1806 #define WS_VISIBLE 0x10000000L
1807 #define WS_DISABLED 0x08000000L
1808 #define WS_CLIPSIBLINGS 0x04000000L
1809 #define WS_CLIPCHILDREN 0x02000000L
1810 #define WS_MAXIMIZE 0x01000000L
1811 #define WS_CAPTION 0x00C00000L
1812 #define WS_BORDER 0x00800000L
1813 #define WS_DLGFRAME 0x00400000L
1814 #define WS_VSCROLL 0x00200000L
1815 #define WS_HSCROLL 0x00100000L
1816 #define WS_SYSMENU 0x00080000L
1817 #define WS_THICKFRAME 0x00040000L
1818 #define WS_GROUP 0x00020000L
1819 #define WS_TABSTOP 0x00010000L
1820 #define WS_MINIMIZEBOX 0x00020000L
1821 #define WS_MAXIMIZEBOX 0x00010000L
1822 #define WS_TILED WS_OVERLAPPED
1823 #define WS_ICONIC WS_MINIMIZE
1824 #define WS_SIZEBOX WS_THICKFRAME
1825 #define WS_OVERLAPPEDWINDOW (WS_OVERLAPPED | WS_CAPTION | WS_SYSMENU | WS_THICKFRAME| WS_MINIMIZEBOX | WS_MAXIMIZEBOX)
1826 #define WS_POPUPWINDOW (WS_POPUP | WS_BORDER | WS_SYSMENU)
1827 #define WS_CHILDWINDOW (WS_CHILD)
1828 #define WS_TILEDWINDOW (WS_OVERLAPPEDWINDOW)
1830 /* Window extended styles */
1831 #define WS_EX_DLGMODALFRAME 0x00000001L
1832 #define WS_EX_DRAGDETECT 0x00000002L
1833 #define WS_EX_NOPARENTNOTIFY 0x00000004L
1834 #define WS_EX_TOPMOST 0x00000008L
1835 #define WS_EX_ACCEPTFILES 0x00000010L
1836 #define WS_EX_TRANSPARENT 0x00000020L
1838 /* Window scrolling */
1839 #define SW_SCROLLCHILDREN 0x0001
1840 #define SW_INVALIDATE 0x0002
1841 #define SW_ERASE 0x0003
1843 /* Button control styles */
1844 #define BS_PUSHBUTTON 0x00000000L
1845 #define BS_DEFPUSHBUTTON 0x00000001L
1846 #define BS_CHECKBOX 0x00000002L
1847 #define BS_AUTOCHECKBOX 0x00000003L
1848 #define BS_RADIOBUTTON 0x00000004L
1849 #define BS_3STATE 0x00000005L
1850 #define BS_AUTO3STATE 0x00000006L
1851 #define BS_GROUPBOX 0x00000007L
1852 #define BS_USERBUTTON 0x00000008L
1853 #define BS_AUTORADIOBUTTON 0x00000009L
1854 #define BS_OWNERDRAW 0x0000000BL
1855 #define BS_LEFTTEXT 0x00000020L
1857 /* Button control messages */
1858 #define BM_GETCHECK (WM_USER+0)
1859 #define BM_SETCHECK (WM_USER+1)
1860 #define BM_GETSTATE (WM_USER+2)
1861 #define BM_SETSTATE (WM_USER+3)
1862 #define BM_SETSTYLE (WM_USER+4)
1864 /* Button notification codes */
1865 #define BN_CLICKED 0
1866 #define BN_PAINT 1
1867 #define BN_HILITE 2
1868 #define BN_UNHILITE 3
1869 #define BN_DISABLE 4
1870 #define BN_DOUBLECLICKED 5
1872 /* Static Control Styles */
1873 #define SS_LEFT 0x00000000L
1874 #define SS_CENTER 0x00000001L
1875 #define SS_RIGHT 0x00000002L
1876 #define SS_ICON 0x00000003L
1877 #define SS_BLACKRECT 0x00000004L
1878 #define SS_GRAYRECT 0x00000005L
1879 #define SS_WHITERECT 0x00000006L
1880 #define SS_BLACKFRAME 0x00000007L
1881 #define SS_GRAYFRAME 0x00000008L
1882 #define SS_WHITEFRAME 0x00000009L
1883 #define SS_SIMPLE 0x0000000BL
1884 #define SS_LEFTNOWORDWRAP 0x0000000CL
1885 #define SS_NOPREFIX 0x00000080L
1887 /* Static Control Mesages */
1888 #define STM_SETICON (WM_USER+0)
1889 #define STM_GETICON (WM_USER+1)
1891 /* WM_H/VSCROLL commands */
1892 #define SB_LINEUP 0
1893 #define SB_LINELEFT 0
1894 #define SB_LINEDOWN 1
1895 #define SB_LINERIGHT 1
1896 #define SB_PAGEUP 2
1897 #define SB_PAGELEFT 2
1898 #define SB_PAGEDOWN 3
1899 #define SB_PAGERIGHT 3
1900 #define SB_THUMBPOSITION 4
1901 #define SB_THUMBTRACK 5
1902 #define SB_TOP 6
1903 #define SB_LEFT 6
1904 #define SB_BOTTOM 7
1905 #define SB_RIGHT 7
1906 #define SB_ENDSCROLL 8
1908 /* Scroll bar selection constants */
1909 #define SB_HORZ 0
1910 #define SB_VERT 1
1911 #define SB_CTL 2
1912 #define SB_BOTH 3
1914 /* Scrollbar styles */
1915 #define SBS_HORZ 0x0000L
1916 #define SBS_VERT 0x0001L
1917 #define SBS_TOPALIGN 0x0002L
1918 #define SBS_LEFTALIGN 0x0002L
1919 #define SBS_BOTTOMALIGN 0x0004L
1920 #define SBS_RIGHTALIGN 0x0004L
1921 #define SBS_SIZEBOXTOPLEFTALIGN 0x0002L
1922 #define SBS_SIZEBOXBOTTOMRIGHTALIGN 0x0004L
1923 #define SBS_SIZEBOX 0x0008L
1925 /* EnableScrollBar() flags */
1926 #define ESB_ENABLE_BOTH 0x0000
1927 #define ESB_DISABLE_BOTH 0x0003
1929 #define ESB_DISABLE_LEFT 0x0001
1930 #define ESB_DISABLE_RIGHT 0x0002
1932 #define ESB_DISABLE_UP 0x0001
1933 #define ESB_DISABLE_DOWN 0x0002
1935 #define ESB_DISABLE_LTUP ESB_DISABLE_LEFT
1936 #define ESB_DISABLE_RTDN ESB_DISABLE_RIGHT
1938 /* Listbox styles */
1939 #define LBS_NOTIFY 0x0001L
1940 #define LBS_SORT 0x0002L
1941 #define LBS_NOREDRAW 0x0004L
1942 #define LBS_MULTIPLESEL 0x0008L
1943 #define LBS_OWNERDRAWFIXED 0x0010L
1944 #define LBS_OWNERDRAWVARIABLE 0x0020L
1945 #define LBS_HASSTRINGS 0x0040L
1946 #define LBS_USETABSTOPS 0x0080L
1947 #define LBS_NOINTEGRALHEIGHT 0x0100L
1948 #define LBS_MULTICOLUMN 0x0200L
1949 #define LBS_WANTKEYBOARDINPUT 0x0400L
1950 #define LBS_EXTENDEDSEL 0x0800L
1951 #define LBS_DISABLENOSCROLL 0x1000L
1952 #define LBS_STANDARD (LBS_NOTIFY | LBS_SORT | WS_VSCROLL | WS_BORDER)
1954 /* Listbox messages */
1955 #define LB_ADDSTRING (WM_USER+1)
1956 #define LB_INSERTSTRING (WM_USER+2)
1957 #define LB_DELETESTRING (WM_USER+3)
1958 #define LB_RESETCONTENT (WM_USER+5)
1959 #define LB_SETSEL (WM_USER+6)
1960 #define LB_SETCURSEL (WM_USER+7)
1961 #define LB_GETSEL (WM_USER+8)
1962 #define LB_GETCURSEL (WM_USER+9)
1963 #define LB_GETTEXT (WM_USER+10)
1964 #define LB_GETTEXTLEN (WM_USER+11)
1965 #define LB_GETCOUNT (WM_USER+12)
1966 #define LB_SELECTSTRING (WM_USER+13)
1967 #define LB_DIR (WM_USER+14)
1968 #define LB_GETTOPINDEX (WM_USER+15)
1969 #define LB_FINDSTRING (WM_USER+16)
1970 #define LB_GETSELCOUNT (WM_USER+17)
1971 #define LB_GETSELITEMS (WM_USER+18)
1972 #define LB_SETTABSTOPS (WM_USER+19)
1973 #define LB_GETHORIZONTALEXTENT (WM_USER+20)
1974 #define LB_SETHORIZONTALEXTENT (WM_USER+21)
1975 #define LB_SETCOLUMNWIDTH (WM_USER+22)
1976 #define LB_SETTOPINDEX (WM_USER+24)
1977 #define LB_GETITEMRECT (WM_USER+25)
1978 #define LB_GETITEMDATA (WM_USER+26)
1979 #define LB_SETITEMDATA (WM_USER+27)
1980 #define LB_SELITEMRANGE (WM_USER+28)
1981 #define LB_SETCARETINDEX (WM_USER+31)
1982 #define LB_GETCARETINDEX (WM_USER+32)
1983 #define LB_SETITEMHEIGHT (WM_USER+33)
1984 #define LB_GETITEMHEIGHT (WM_USER+34)
1985 #define LB_FINDSTRINGEXACT (WM_USER+35)
1987 /* Listbox notification codes */
1988 #define LBN_ERRSPACE (-2)
1989 #define LBN_SELCHANGE 1
1990 #define LBN_DBLCLK 2
1991 #define LBN_SELCANCEL 3
1992 #define LBN_SETFOCUS 4
1993 #define LBN_KILLFOCUS 5
1995 /* Listbox message return values */
1996 #define LB_OKAY 0
1997 #define LB_ERR (-1)
1998 #define LB_ERRSPACE (-2)
2000 #define LB_CTLCODE 0L
2002 /* Combo box styles */
2003 #define CBS_SIMPLE 0x0001L
2004 #define CBS_DROPDOWN 0x0002L
2005 #define CBS_DROPDOWNLIST 0x0003L
2006 #define CBS_OWNERDRAWFIXED 0x0010L
2007 #define CBS_OWNERDRAWVARIABLE 0x0020L
2008 #define CBS_AUTOHSCROLL 0x0040L
2009 #define CBS_OEMCONVERT 0x0080L
2010 #define CBS_SORT 0x0100L
2011 #define CBS_HASSTRINGS 0x0200L
2012 #define CBS_NOINTEGRALHEIGHT 0x0400L
2013 #define CBS_DISABLENOSCROLL 0x0800L
2015 /* Combo box messages */
2016 #define CB_GETEDITSEL (WM_USER+0)
2017 #define CB_LIMITTEXT (WM_USER+1)
2018 #define CB_SETEDITSEL (WM_USER+2)
2019 #define CB_ADDSTRING (WM_USER+3)
2020 #define CB_DELETESTRING (WM_USER+4)
2021 #define CB_DIR (WM_USER+5)
2022 #define CB_GETCOUNT (WM_USER+6)
2023 #define CB_GETCURSEL (WM_USER+7)
2024 #define CB_GETLBTEXT (WM_USER+8)
2025 #define CB_GETLBTEXTLEN (WM_USER+9)
2026 #define CB_INSERTSTRING (WM_USER+10)
2027 #define CB_RESETCONTENT (WM_USER+11)
2028 #define CB_FINDSTRING (WM_USER+12)
2029 #define CB_SELECTSTRING (WM_USER+13)
2030 #define CB_SETCURSEL (WM_USER+14)
2031 #define CB_SHOWDROPDOWN (WM_USER+15)
2032 #define CB_GETITEMDATA (WM_USER+16)
2033 #define CB_SETITEMDATA (WM_USER+17)
2034 #define CB_GETDROPPEDCONTROLRECT (WM_USER+18)
2035 #define CB_SETITEMHEIGHT (WM_USER+19)
2036 #define CB_GETITEMHEIGHT (WM_USER+20)
2037 #define CB_SETEXTENDEDUI (WM_USER+21)
2038 #define CB_GETEXTENDEDUI (WM_USER+22)
2039 #define CB_GETDROPPEDSTATE (WM_USER+23)
2040 #define CB_FINDSTRINGEXACT (WM_USER+24)
2042 /* Combo box notification codes */
2043 #define CBN_ERRSPACE (-1)
2044 #define CBN_SELCHANGE 1
2045 #define CBN_DBLCLK 2
2046 #define CBN_SETFOCUS 3
2047 #define CBN_KILLFOCUS 4
2048 #define CBN_EDITCHANGE 5
2049 #define CBN_EDITUPDATE 6
2050 #define CBN_DROPDOWN 7
2051 #define CBN_CLOSEUP 8
2052 #define CBN_SELENDOK 9
2053 #define CBN_SELENDCANCEL 10
2055 /* Combo box message return values */
2056 #define CB_OKAY 0
2057 #define CB_ERR (-1)
2058 #define CB_ERRSPACE (-2)
2061 /* Owner draw control types */
2062 #define ODT_MENU 1
2063 #define ODT_LISTBOX 2
2064 #define ODT_COMBOBOX 3
2065 #define ODT_BUTTON 4
2067 /* Owner draw actions */
2068 #define ODA_DRAWENTIRE 0x0001
2069 #define ODA_SELECT 0x0002
2070 #define ODA_FOCUS 0x0004
2072 /* Owner draw state */
2073 #define ODS_SELECTED 0x0001
2074 #define ODS_GRAYED 0x0002
2075 #define ODS_DISABLED 0x0004
2076 #define ODS_CHECKED 0x0008
2077 #define ODS_FOCUS 0x0010
2079 /* Edit control styles */
2080 #define ES_LEFT 0x00000000L
2081 #define ES_CENTER 0x00000001L
2082 #define ES_RIGHT 0x00000002L
2083 #define ES_MULTILINE 0x00000004L
2084 #define ES_UPPERCASE 0x00000008L
2085 #define ES_LOWERCASE 0x00000010L
2086 #define ES_PASSWORD 0x00000020L
2087 #define ES_AUTOVSCROLL 0x00000040L
2088 #define ES_AUTOHSCROLL 0x00000080L
2089 #define ES_NOHISESEL 0x00000100L
2090 #define ES_OEMCONVERT 0x00000400L
2091 #define ES_READONLY 0x00000800L
2092 #define ES_WANTRETURN 0x00001000L
2094 /* Edit control messages */
2095 #define EM_GETSEL (WM_USER+0)
2096 #define EM_SETSEL (WM_USER+1)
2097 #define EM_GETRECT (WM_USER+2)
2098 #define EM_SETRECT (WM_USER+3)
2099 #define EM_SETRECTNP (WM_USER+4)
2100 #define EM_LINESCROLL (WM_USER+6)
2101 #define EM_GETMODIFY (WM_USER+8)
2102 #define EM_SETMODIFY (WM_USER+9)
2103 #define EM_GETLINECOUNT (WM_USER+10)
2104 #define EM_LINEINDEX (WM_USER+11)
2105 #define EM_SETHANDLE (WM_USER+12)
2106 #define EM_GETHANDLE (WM_USER+13)
2107 #define EM_LINELENGTH (WM_USER+17)
2108 #define EM_REPLACESEL (WM_USER+18)
2109 #define EM_GETLINE (WM_USER+20)
2110 #define EM_LIMITTEXT (WM_USER+21)
2111 #define EM_CANUNDO (WM_USER+22)
2112 #define EM_UNDO (WM_USER+23)
2113 #define EM_FMTLINES (WM_USER+24)
2114 #define EM_LINEFROMCHAR (WM_USER+25)
2115 #define EM_SETTABSTOPS (WM_USER+27)
2116 #define EM_SETPASSWORDCHAR (WM_USER+28)
2117 #define EM_EMPTYUNDOBUFFER (WM_USER+29)
2118 #define EM_GETFIRSTVISIBLELINE (WM_USER+30)
2119 #define EM_SETREADONLY (WM_USER+31)
2120 #define EM_SETWORDBREAKPROC (WM_USER+32)
2121 #define EM_GETWORDBREAKPROC (WM_USER+33)
2122 #define EM_GETPASSWORDCHAR (WM_USER+34)
2124 typedef int (CALLBACK *EDITWORDBREAKPROC)(LPSTR lpch, int ichCurrent,
2125 int cch, int code);
2127 /* EDITWORDBREAKPROC code values */
2128 #define WB_LEFT 0
2129 #define WB_RIGHT 1
2130 #define WB_ISDELIMITER 2
2132 /* Edit control notification codes */
2133 #define EN_SETFOCUS 0x0100
2134 #define EN_KILLFOCUS 0x0200
2135 #define EN_CHANGE 0x0300
2136 #define EN_UPDATE 0x0400
2137 #define EN_ERRSPACE 0x0500
2138 #define EN_MAXTEXT 0x0501
2139 #define EN_HSCROLL 0x0601
2140 #define EN_VSCROLL 0x0602
2143 typedef struct
2145 UINT CtlType;
2146 UINT CtlID;
2147 UINT itemID;
2148 UINT itemAction;
2149 UINT itemState;
2150 HWND hwndItem;
2151 HDC hDC;
2152 RECT rcItem WINE_PACKED;
2153 DWORD itemData WINE_PACKED;
2154 } DRAWITEMSTRUCT;
2155 typedef DRAWITEMSTRUCT NEAR* PDRAWITEMSTRUCT;
2156 typedef DRAWITEMSTRUCT FAR* LPDRAWITEMSTRUCT;
2158 typedef struct
2160 UINT CtlType;
2161 UINT CtlID;
2162 UINT itemID;
2163 UINT itemWidth;
2164 UINT itemHeight;
2165 DWORD itemData WINE_PACKED;
2166 } MEASUREITEMSTRUCT;
2167 typedef MEASUREITEMSTRUCT NEAR* PMEASUREITEMSTRUCT;
2168 typedef MEASUREITEMSTRUCT FAR* LPMEASUREITEMSTRUCT;
2170 typedef struct
2172 UINT CtlType;
2173 UINT CtlID;
2174 UINT itemID;
2175 HWND hwndItem;
2176 DWORD itemData;
2177 } DELETEITEMSTRUCT;
2178 typedef DELETEITEMSTRUCT NEAR* PDELETEITEMSTRUCT;
2179 typedef DELETEITEMSTRUCT FAR* LPDELETEITEMSTRUCT;
2181 typedef struct
2183 UINT CtlType;
2184 UINT CtlID;
2185 HWND hwndItem;
2186 UINT itemID1;
2187 DWORD itemData1;
2188 UINT itemID2;
2189 DWORD itemData2 WINE_PACKED;
2190 } COMPAREITEMSTRUCT;
2191 typedef COMPAREITEMSTRUCT NEAR* PCOMPAREITEMSTRUCT;
2192 typedef COMPAREITEMSTRUCT FAR* LPCOMPAREITEMSTRUCT;
2194 /* Virtual key codes */
2195 #define VK_LBUTTON 0x01
2196 #define VK_RBUTTON 0x02
2197 #define VK_CANCEL 0x03
2198 #define VK_MBUTTON 0x04
2199 #define VK_BACK 0x08
2200 #define VK_TAB 0x09
2201 #define VK_CLEAR 0x0C
2202 #define VK_RETURN 0x0D
2203 #define VK_SHIFT 0x10
2204 #define VK_CONTROL 0x11
2205 #define VK_MENU 0x12
2206 #define VK_PAUSE 0x13
2207 #define VK_CAPITAL 0x14
2208 #define VK_ESCAPE 0x1B
2209 #define VK_SPACE 0x20
2210 #define VK_PRIOR 0x21
2211 #define VK_NEXT 0x22
2212 #define VK_END 0x23
2213 #define VK_HOME 0x24
2214 #define VK_LEFT 0x25
2215 #define VK_UP 0x26
2216 #define VK_RIGHT 0x27
2217 #define VK_DOWN 0x28
2218 #define VK_SELECT 0x29
2219 #define VK_PRINT 0x2A
2220 #define VK_EXECUTE 0x2B
2221 #define VK_SNAPSHOT 0x2C
2222 #define VK_INSERT 0x2D
2223 #define VK_DELETE 0x2E
2224 #define VK_HELP 0x2F
2225 #define VK_NUMPAD0 0x60
2226 #define VK_NUMPAD1 0x61
2227 #define VK_NUMPAD2 0x62
2228 #define VK_NUMPAD3 0x63
2229 #define VK_NUMPAD4 0x64
2230 #define VK_NUMPAD5 0x65
2231 #define VK_NUMPAD6 0x66
2232 #define VK_NUMPAD7 0x67
2233 #define VK_NUMPAD8 0x68
2234 #define VK_NUMPAD9 0x69
2235 #define VK_MULTIPLY 0x6A
2236 #define VK_ADD 0x6B
2237 #define VK_SEPARATOR 0x6C
2238 #define VK_SUBTRACT 0x6D
2239 #define VK_DECIMAL 0x6E
2240 #define VK_DIVIDE 0x6F
2241 #define VK_F1 0x70
2242 #define VK_F2 0x71
2243 #define VK_F3 0x72
2244 #define VK_F4 0x73
2245 #define VK_F5 0x74
2246 #define VK_F6 0x75
2247 #define VK_F7 0x76
2248 #define VK_F8 0x77
2249 #define VK_F9 0x78
2250 #define VK_F10 0x79
2251 #define VK_F11 0x7A
2252 #define VK_F12 0x7B
2253 #define VK_F13 0x7C
2254 #define VK_F14 0x7D
2255 #define VK_F15 0x7E
2256 #define VK_F16 0x7F
2257 #define VK_F17 0x80
2258 #define VK_F18 0x81
2259 #define VK_F19 0x82
2260 #define VK_F20 0x83
2261 #define VK_F21 0x84
2262 #define VK_F22 0x85
2263 #define VK_F23 0x86
2264 #define VK_F24 0x87
2265 #define VK_NUMLOCK 0x90
2266 #define VK_SCROLL 0x91
2269 #define LMEM_FIXED 0
2270 #define LMEM_MOVEABLE 0x0002
2271 #define LMEM_NOCOMPACT 0x0010
2272 #define LMEM_NODISCARD 0x0020
2273 #define LMEM_ZEROINIT 0x0040
2274 #define LMEM_MODIFY 0x0080
2275 #define LMEM_DISCARDABLE 0x0F00
2276 #define LMEM_WINE_ALIGN 0x1000
2278 #define GMEM_FIXED 0x0000
2279 #define GMEM_MOVEABLE 0x0002
2280 #define GMEM_NOCOMPACT 0x0010
2281 #define GMEM_NODISCARD 0x0020
2282 #define GMEM_ZEROINIT 0x0040
2283 #define GMEM_MODIFY 0x0080
2284 #define GMEM_DISCARDABLE 0x0100
2285 #define GMEM_NOT_BANKED 0x1000
2286 #define GMEM_SHARE 0x2000
2287 #define GMEM_DDESHARE 0x2000
2288 #define GMEM_NOTIFY 0x4000
2289 #define GMEM_LOWER GMEM_NOT_BANKED
2290 #define GMEM_DISCARDED 0x4000
2291 #define GMEM_LOCKCOUNT 0x00ff
2293 #define GHND (GMEM_MOVEABLE | GMEM_ZEROINIT)
2294 #define GPTR (GMEM_FIXED | GMEM_ZEROINIT)
2297 /* Predefined Clipboard Formats */
2298 #define CF_TEXT 1
2299 #define CF_BITMAP 2
2300 #define CF_METAFILEPICT 3
2301 #define CF_SYLK 4
2302 #define CF_DIF 5
2303 #define CF_TIFF 6
2304 #define CF_OEMTEXT 7
2305 #define CF_DIB 8
2306 #define CF_PALETTE 9
2307 #define CF_PENDATA 10
2308 #define CF_RIFF 11
2309 #define CF_WAVE 12
2311 #define CF_OWNERDISPLAY 0x0080
2312 #define CF_DSPTEXT 0x0081
2313 #define CF_DSPBITMAP 0x0082
2314 #define CF_DSPMETAFILEPICT 0x0083
2316 /* "Private" formats don't get GlobalFree()'d */
2317 #define CF_PRIVATEFIRST 0x0200
2318 #define CF_PRIVATELAST 0x02FF
2320 /* "GDIOBJ" formats do get DeleteObject()'d */
2321 #define CF_GDIOBJFIRST 0x0300
2322 #define CF_GDIOBJLAST 0x03FF
2324 /* Clipboard command messages */
2325 #define WM_CUT 0x0300
2326 #define WM_COPY 0x0301
2327 #define WM_PASTE 0x0302
2328 #define WM_CLEAR 0x0303
2329 #define WM_UNDO 0x0304
2331 /* Clipboard owner messages */
2332 #define WM_RENDERFORMAT 0x0305
2333 #define WM_RENDERALLFORMATS 0x0306
2334 #define WM_DESTROYCLIPBOARD 0x0307
2336 /* Clipboard viewer messages */
2337 #define WM_DRAWCLIPBOARD 0x0308
2338 #define WM_PAINTCLIPBOARD 0x0309
2339 #define WM_SIZECLIPBOARD 0x030B
2340 #define WM_VSCROLLCLIPBOARD 0x030A
2341 #define WM_HSCROLLCLIPBOARD 0x030E
2342 #define WM_ASKCBFORMATNAME 0x030C
2343 #define WM_CHANGECBCHAIN 0x030D
2345 /* Metafile header structure */
2346 typedef struct
2348 WORD mtType;
2349 WORD mtHeaderSize;
2350 WORD mtVersion;
2351 DWORD mtSize WINE_PACKED;
2352 WORD mtNoObjects;
2353 DWORD mtMaxRecord WINE_PACKED;
2354 WORD mtNoParameters;
2355 } METAHEADER;
2357 /* Metafile typical record structure */
2358 typedef struct
2360 DWORD rdSize;
2361 WORD rdFunction;
2362 WORD rdParam[1];
2363 } METARECORD;
2364 typedef METARECORD *PMETARECORD;
2365 typedef METARECORD *LPMETARECORD;
2367 /* Handle table structure */
2368 typedef struct
2370 HANDLE objectHandle[1];
2371 } HANDLETABLE;
2372 typedef HANDLETABLE *PHANDLETABLE;
2373 typedef HANDLETABLE *LPHANDLETABLE;
2375 /* Clipboard metafile picture structure */
2376 typedef struct
2378 INT mm;
2379 INT xExt;
2380 INT yExt;
2381 HMETAFILE hMF;
2382 } METAFILEPICT;
2383 typedef METAFILEPICT *LPMETAFILEPICT;
2385 /* Metafile functions */
2386 #define META_SETBKCOLOR 0x0201
2387 #define META_SETBKMODE 0x0102
2388 #define META_SETMAPMODE 0x0103
2389 #define META_SETROP2 0x0104
2390 #define META_SETRELABS 0x0105
2391 #define META_SETPOLYFILLMODE 0x0106
2392 #define META_SETSTRETCHBLTMODE 0x0107
2393 #define META_SETTEXTCHAREXTRA 0x0108
2394 #define META_SETTEXTCOLOR 0x0209
2395 #define META_SETTEXTJUSTIFICATION 0x020A
2396 #define META_SETWINDOWORG 0x020B
2397 #define META_SETWINDOWEXT 0x020C
2398 #define META_SETVIEWPORTORG 0x020D
2399 #define META_SETVIEWPORTEXT 0x020E
2400 #define META_OFFSETWINDOWORG 0x020F
2401 #define META_SCALEWINDOWEXT 0x0410
2402 #define META_OFFSETVIEWPORTORG 0x0211
2403 #define META_SCALEVIEWPORTEXT 0x0412
2404 #define META_LINETO 0x0213
2405 #define META_MOVETO 0x0214
2406 #define META_EXCLUDECLIPRECT 0x0415
2407 #define META_INTERSECTCLIPRECT 0x0416
2408 #define META_ARC 0x0817
2409 #define META_ELLIPSE 0x0418
2410 #define META_FLOODFILL 0x0419
2411 #define META_PIE 0x081A
2412 #define META_RECTANGLE 0x041B
2413 #define META_ROUNDRECT 0x061C
2414 #define META_PATBLT 0x061D
2415 #define META_SAVEDC 0x001E
2416 #define META_SETPIXEL 0x041F
2417 #define META_OFFSETCLIPRGN 0x0220
2418 #define META_TEXTOUT 0x0521
2419 #define META_BITBLT 0x0922
2420 #define META_STRETCHBLT 0x0B23
2421 #define META_POLYGON 0x0324
2422 #define META_POLYLINE 0x0325
2423 #define META_ESCAPE 0x0626
2424 #define META_RESTOREDC 0x0127
2425 #define META_FILLREGION 0x0228
2426 #define META_FRAMEREGION 0x0429
2427 #define META_INVERTREGION 0x012A
2428 #define META_PAINTREGION 0x012B
2429 #define META_SELECTCLIPREGION 0x012C
2430 #define META_SELECTOBJECT 0x012D
2431 #define META_SETTEXTALIGN 0x012E
2432 #define META_DRAWTEXT 0x062F
2433 #define META_CHORD 0x0830
2434 #define META_SETMAPPERFLAGS 0x0231
2435 #define META_EXTTEXTOUT 0x0A32
2436 #define META_SETDIBTODEV 0x0D33
2437 #define META_SELECTPALETTE 0x0234
2438 #define META_REALIZEPALETTE 0x0035
2439 #define META_ANIMATEPALETTE 0x0436
2440 #define META_SETPALENTRIES 0x0037
2441 #define META_POLYPOLYGON 0x0538
2442 #define META_RESIZEPALETTE 0x0139
2443 #define META_DIBBITBLT 0x0940
2444 #define META_DIBSTRETCHBLT 0x0B41
2445 #define META_DIBCREATEPATTERNBRUSH 0x0142
2446 #define META_STRETCHDIB 0x0F43
2447 #define META_EXTFLOODFILL 0x0548
2448 #define META_RESETDC 0x014C
2449 #define META_STARTDOC 0x014D
2450 #define META_STARTPAGE 0x004F
2451 #define META_ENDPAGE 0x0050
2452 #define META_ABORTDOC 0x0052
2453 #define META_ENDDOC 0x005E
2454 #define META_DELETEOBJECT 0x01F0
2455 #define META_CREATEPALETTE 0x00F7
2456 #define META_CREATEBRUSH 0x00F8
2457 #define META_CREATEPATTERNBRUSH 0x01F9
2458 #define META_CREATEPENINDIRECT 0x02FA
2459 #define META_CREATEFONTINDIRECT 0x02FB
2460 #define META_CREATEBRUSHINDIRECT 0x02FC
2461 #define META_CREATEBITMAPINDIRECT 0x02FD
2462 #define META_CREATEBITMAP 0x06FE
2463 #define META_CREATEREGION 0x06FF
2465 /* Debugging support (DEBUG SYSTEM ONLY) */
2466 typedef struct
2468 UINT flags;
2469 DWORD dwOptions WINE_PACKED;
2470 DWORD dwFilter WINE_PACKED;
2471 char achAllocModule[8] WINE_PACKED;
2472 DWORD dwAllocBreak WINE_PACKED;
2473 DWORD dwAllocCount WINE_PACKED;
2474 } WINDEBUGINFO, *LPWINDEBUGINFO;
2476 /* WINDEBUGINFO flags values */
2477 #define WDI_OPTIONS 0x0001
2478 #define WDI_FILTER 0x0002
2479 #define WDI_ALLOCBREAK 0x0004
2481 /* dwOptions values */
2482 #define DBO_CHECKHEAP 0x0001
2483 #define DBO_BUFFERFILL 0x0004
2484 #define DBO_DISABLEGPTRAPPING 0x0010
2485 #define DBO_CHECKFREE 0x0020
2487 #define DBO_SILENT 0x8000
2489 #define DBO_TRACEBREAK 0x2000
2490 #define DBO_WARNINGBREAK 0x1000
2491 #define DBO_NOERRORBREAK 0x0800
2492 #define DBO_NOFATALBREAK 0x0400
2493 #define DBO_INT3BREAK 0x0100
2495 /* DebugOutput flags values */
2496 #define DBF_TRACE 0x0000
2497 #define DBF_WARNING 0x4000
2498 #define DBF_ERROR 0x8000
2499 #define DBF_FATAL 0xc000
2501 /* dwFilter values */
2502 #define DBF_KERNEL 0x1000
2503 #define DBF_KRN_MEMMAN 0x0001
2504 #define DBF_KRN_LOADMODULE 0x0002
2505 #define DBF_KRN_SEGMENTLOAD 0x0004
2506 #define DBF_USER 0x0800
2507 #define DBF_GDI 0x0400
2508 #define DBF_MMSYSTEM 0x0040
2509 #define DBF_PENWIN 0x0020
2510 #define DBF_APPLICATION 0x0008
2511 #define DBF_DRIVER 0x0010
2514 #ifndef WINELIB
2515 #pragma pack(4)
2516 #endif
2518 INT AccessResource(HINSTANCE,HRSRC);
2519 ATOM AddAtom(SEGPTR);
2520 INT AddFontResource(LPCSTR);
2521 void AdjustWindowRect(LPRECT,DWORD,BOOL);
2522 void AdjustWindowRectEx(LPRECT,DWORD,BOOL,DWORD);
2523 WORD AllocCStoDSAlias(WORD);
2524 WORD AllocDStoCSAlias(WORD);
2525 HGLOBAL AllocResource(HINSTANCE,HRSRC,DWORD);
2526 WORD AllocSelector(WORD);
2527 WORD AllocSelectorArray(WORD);
2528 void AnimatePalette(HPALETTE,UINT,UINT,LPPALETTEENTRY);
2529 LPSTR AnsiLower(LPSTR);
2530 UINT AnsiLowerBuff(LPSTR,UINT);
2531 SEGPTR AnsiNext(SEGPTR);
2532 SEGPTR AnsiPrev(SEGPTR,SEGPTR);
2533 INT AnsiToOem(LPSTR,LPSTR);
2534 void AnsiToOemBuff(LPSTR,LPSTR,INT);
2535 LPSTR AnsiUpper(LPSTR);
2536 UINT AnsiUpperBuff(LPSTR,UINT);
2537 BOOL AnyPopup(void);
2538 BOOL AppendMenu(HMENU,UINT,UINT,LPSTR);
2539 BOOL Arc(HDC,INT,INT,INT,INT,INT,INT,INT,INT);
2540 WORD ArrangeIconicWindows(HWND);
2541 HDWP BeginDeferWindowPos(INT);
2542 HDC BeginPaint(HWND,LPPAINTSTRUCT);
2543 BOOL BitBlt(HDC,INT,INT,INT,INT,HDC,INT,INT,DWORD);
2544 BOOL BringWindowToTop(HWND);
2545 int BuildCommDCB(LPSTR,DCB*);
2546 void CalcChildScroll(HWND,WORD);
2547 BOOL CallMsgFilter(SEGPTR,short);
2548 DWORD CallNextHookEx(HHOOK,short,WPARAM,LPARAM);
2549 LONG CallWindowProc(WNDPROC,HWND,UINT,WPARAM,LPARAM);
2550 int Catch(LPCATCHBUF);
2551 BOOL ChangeClipboardChain(HWND,HWND);
2552 BOOL ChangeMenu(HMENU,UINT,LPSTR,UINT,UINT);
2553 WORD ChangeSelector(WORD,WORD);
2554 void CheckDlgButton(HWND,WORD,WORD);
2555 BOOL CheckMenuItem(HMENU,UINT,UINT);
2556 void CheckRadioButton(HWND,WORD,WORD,WORD);
2557 HWND ChildWindowFromPoint(HWND,POINT);
2558 BOOL Chord(HDC,INT,INT,INT,INT,INT,INT,INT,INT);
2559 int ClearCommBreak(int);
2560 void ClientToScreen(HWND,LPPOINT);
2561 void ClipCursor(LPRECT);
2562 BOOL CloseClipboard(void);
2563 int CloseComm(int);
2564 HMETAFILE CloseMetaFile(HANDLE);
2565 void CloseSound(void);
2566 void CloseWindow(HWND);
2567 int CombineRgn(HRGN,HRGN,HRGN,short);
2568 int ConvertRequest(HWND,LPKANJISTRUCT);
2569 HANDLE CopyMetaFile(HANDLE,LPSTR);
2570 void CopyRect(LPRECT,LPRECT);
2571 int CountClipboardFormats(void);
2572 int CountVoiceNotes(int);
2573 HBITMAP CreateBitmap(short,short,BYTE,BYTE,LPSTR);
2574 HBITMAP CreateBitmapIndirect(BITMAP*);
2575 HBRUSH CreateBrushIndirect(LOGBRUSH*);
2576 void CreateCaret(HWND,HBITMAP,short,short);
2577 HBITMAP CreateCompatibleBitmap(HDC,short,short);
2578 HDC CreateCompatibleDC(HDC);
2579 HCURSOR CreateCursor(HANDLE,INT,INT,INT,INT,LPSTR,LPSTR);
2580 HANDLE CreateCursorIconIndirect(HANDLE,CURSORICONINFO*,LPSTR,LPSTR);
2581 HDC CreateDC(LPSTR,LPSTR,LPSTR,LPSTR);
2582 HBRUSH CreateDIBPatternBrush(HANDLE,WORD);
2583 HBITMAP CreateDIBitmap(HDC,LPBITMAPINFOHEADER,DWORD,LPSTR,LPBITMAPINFO,WORD);
2584 HWND CreateDialog(HANDLE,SEGPTR,HWND,WNDPROC);
2585 HWND CreateDialogIndirect(HANDLE,SEGPTR,HWND,WNDPROC);
2586 HWND CreateDialogIndirectParam(HANDLE,SEGPTR,HWND,WNDPROC,LPARAM);
2587 HWND CreateDialogParam(HANDLE,SEGPTR,HWND,WNDPROC,LPARAM);
2588 HBITMAP CreateDiscardableBitmap(HDC,short,short);
2589 HRGN CreateEllipticRgn(short,short,short,short);
2590 HRGN CreateEllipticRgnIndirect(LPRECT);
2591 HFONT CreateFont(int,int,int,int,int,BYTE,BYTE,BYTE,BYTE,BYTE,BYTE,BYTE,BYTE,LPSTR);
2592 HFONT CreateFontIndirect(LOGFONT*);
2593 HBRUSH CreateHatchBrush(short,COLORREF);
2594 HDC CreateIC(LPSTR,LPSTR,LPSTR,LPSTR);
2595 HICON CreateIcon(HANDLE,INT,INT,BYTE,BYTE,LPSTR,LPSTR);
2596 HMENU CreateMenu(void);
2597 HANDLE CreateMetaFile(LPSTR);
2598 HPALETTE CreatePalette(LPLOGPALETTE);
2599 HBRUSH CreatePatternBrush(HBITMAP);
2600 HPEN CreatePen(short,short,COLORREF);
2601 HPEN CreatePenIndirect(LOGPEN*);
2602 HRGN CreatePolyPolygonRgn(LPPOINT,LPINT,INT,INT);
2603 HRGN CreatePolygonRgn(LPPOINT,INT,INT);
2604 HMENU CreatePopupMenu(void);
2605 HRGN CreateRectRgn(short,short,short,short);
2606 HRGN CreateRectRgnIndirect(LPRECT);
2607 HRGN CreateRoundRectRgn(short,short,short,short,short,short);
2608 HBRUSH CreateSolidBrush(DWORD);
2609 HWND CreateWindow(SEGPTR,SEGPTR,DWORD,INT,INT,INT,INT,HWND,HMENU,HINSTANCE,SEGPTR);
2610 HWND CreateWindowEx(DWORD,SEGPTR,SEGPTR,DWORD,INT,INT,INT,INT,HWND,HMENU,HINSTANCE,SEGPTR);
2611 BOOL DPtoLP(HDC,LPPOINT,int);
2612 void DebugBreak(void);
2613 LONG DefDlgProc(HWND,UINT,WPARAM,LPARAM);
2614 LONG DefFrameProc(HWND,HWND,UINT,WPARAM,LPARAM);
2615 DWORD DefHookProc(short,WORD,DWORD,HHOOK*);
2616 LONG DefMDIChildProc(HWND,UINT,WPARAM,LPARAM);
2617 LRESULT DefWindowProc(HWND,UINT,WPARAM,LPARAM);
2618 HDWP DeferWindowPos(HDWP,HWND,HWND,INT,INT,INT,INT,WORD);
2619 ATOM DeleteAtom(ATOM);
2620 BOOL DeleteDC(HDC);
2621 BOOL DeleteMenu(HMENU,UINT,UINT);
2622 BOOL DeleteMetaFile(HMETAFILE);
2623 BOOL DeleteObject(HANDLE);
2624 void DestroyCaret(void);
2625 BOOL DestroyCursor(HCURSOR);
2626 BOOL DestroyIcon(HICON);
2627 BOOL DestroyMenu(HMENU);
2628 BOOL DestroyWindow(HWND);
2629 int DialogBox(HINSTANCE,SEGPTR,HWND,WNDPROC);
2630 int DialogBoxIndirect(HANDLE,HANDLE,HWND,WNDPROC);
2631 int DialogBoxIndirectParam(HANDLE,HANDLE,HWND,WNDPROC,LONG);
2632 int DialogBoxParam(HANDLE,SEGPTR,HWND,WNDPROC,LONG);
2633 HANDLE DirectResAlloc(HANDLE,WORD,WORD);
2634 void DirectedYield(HTASK);
2635 LONG DispatchMessage(LPMSG);
2636 int DlgDirList(HWND,LPSTR,int,int,WORD);
2637 int DlgDirListComboBox(HWND,SEGPTR,int,int,WORD);
2638 BOOL DlgDirSelect(HWND,LPSTR,int);
2639 BOOL DlgDirSelectComboBox(HWND,LPSTR,int);
2640 BOOL DragDetect(HWND,POINT);
2641 DWORD DragObject(HWND, HWND, WORD, HANDLE, WORD, HCURSOR);
2642 void DrawFocusRect(HDC,LPRECT);
2643 BOOL DrawIcon(HDC,short,short,HICON);
2644 void DrawMenuBar(HWND);
2645 int DrawText(HDC,LPSTR,int,LPRECT,WORD);
2646 DWORD DumpIcon(SEGPTR,WORD*,SEGPTR*,SEGPTR*);
2647 BOOL Ellipse(HDC,INT,INT,INT,INT);
2648 BOOL EmptyClipboard(void);
2649 BOOL EnableHardwareInput(BOOL);
2650 BOOL EnableMenuItem(HMENU,UINT,UINT);
2651 BOOL EnableScrollBar(HWND,INT,UINT);
2652 BOOL EnableWindow(HWND,BOOL);
2653 BOOL EndDeferWindowPos(HDWP);
2654 void EndDialog(HWND,short);
2655 void EndPaint(HWND,LPPAINTSTRUCT);
2656 BOOL EnumChildWindows(HWND,FARPROC,LONG);
2657 WORD EnumClipboardFormats(WORD);
2658 int EnumFonts(HDC,LPSTR,FARPROC,LPSTR);
2659 BOOL EnumMetaFile(HDC,LOCALHANDLE,FARPROC,BYTE*);
2660 int EnumObjects(HDC,int,FARPROC,LPSTR);
2661 int EnumProps(HWND,FARPROC);
2662 BOOL EnumTaskWindows(HANDLE,FARPROC,LONG);
2663 BOOL EnumWindows(FARPROC,LONG);
2664 BOOL EqualRect(LPRECT,LPRECT);
2665 BOOL EqualRgn(HRGN,HRGN);
2666 int Escape(HDC,int,int,LPSTR,LPSTR);
2667 LONG EscapeCommFunction(int,int);
2668 int ExcludeClipRect(HDC,short,short,short,short);
2669 int ExcludeUpdateRgn(HDC,HWND);
2670 int ExcludeVisRect(HDC,short,short,short,short);
2671 BOOL ExitWindows(DWORD,WORD);
2672 BOOL ExtFloodFill(HDC,INT,INT,COLORREF,WORD);
2673 BOOL ExtTextOut(HDC,short,short,WORD,LPRECT,LPSTR,WORD,LPINT);
2674 WORD FarGetOwner(HANDLE);
2675 void FarSetOwner(HANDLE,WORD);
2676 void FatalExit(int);
2677 int FillRect(HDC,LPRECT,HBRUSH);
2678 BOOL FillRgn(HDC,HRGN,HBRUSH);
2679 void FillWindow(HWND,HWND,HDC,HBRUSH);
2680 ATOM FindAtom(SEGPTR);
2681 HRSRC FindResource(HINSTANCE,SEGPTR,SEGPTR);
2682 HWND FindWindow(SEGPTR,LPSTR);
2683 BOOL FlashWindow(HWND,BOOL);
2684 BOOL FloodFill(HDC,INT,INT,COLORREF);
2685 int FlushComm(int,int);
2686 int FrameRect(HDC,LPRECT,HBRUSH);
2687 BOOL FrameRgn(HDC,HRGN,HBRUSH,int,int);
2688 void FreeLibrary(HANDLE);
2689 BOOL FreeModule(HANDLE);
2690 void FreeProcInstance(FARPROC);
2691 BOOL FreeResource(HGLOBAL);
2692 WORD FreeSelector(WORD);
2693 UINT GDIRealizePalette(HDC);
2694 HPALETTE GDISelectPalette(HDC,HPALETTE);
2695 HWND GetActiveWindow(void);
2696 DWORD GetAspectRatioFilter(HDC);
2697 int GetAsyncKeyState(int);
2698 HANDLE GetAtomHandle(ATOM);
2699 WORD GetAtomName(ATOM,LPSTR,short);
2700 LONG GetBitmapBits(HBITMAP,LONG,LPSTR);
2701 DWORD GetBitmapDimension(HBITMAP);
2702 BOOL GetBitmapDimensionEx(HBITMAP,LPSIZE);
2703 COLORREF GetBkColor(HDC);
2704 WORD GetBkMode(HDC);
2705 DWORD GetBrushOrg(HDC);
2706 BOOL GetBrushOrgEx(HDC,LPPOINT);
2707 HWND GetCapture(void);
2708 WORD GetCaretBlinkTime(void);
2709 void GetCaretPos(LPPOINT);
2710 BOOL GetCharWidth(HDC,WORD,WORD,LPINT);
2711 BOOL GetClassInfo(HANDLE,SEGPTR,LPWNDCLASS);
2712 LONG GetClassLong(HWND,short);
2713 int GetClassName(HWND,LPSTR,short);
2714 WORD GetClassWord(HWND,short);
2715 void GetClientRect(HWND,LPRECT);
2716 int GetClipBox(HDC,LPRECT);
2717 HRGN GetClipRgn(HDC);
2718 HANDLE GetClipboardData(WORD);
2719 int GetClipboardFormatName(WORD,LPSTR,short);
2720 HWND GetClipboardOwner(void);
2721 HWND GetClipboardViewer(void);
2722 HANDLE GetCodeHandle(FARPROC);
2723 void GetCodeInfo(FARPROC,LPVOID);
2724 int GetCommError(int,COMSTAT*);
2725 UINT GetCommEventMask(int,int);
2726 int GetCommState(int,DCB*);
2727 HBRUSH GetControlBrush(HWND,HDC,WORD);
2728 HANDLE GetCurrentPDB(void);
2729 DWORD GetCurrentPosition(HDC);
2730 BOOL GetCurrentPositionEx(HDC,LPPOINT);
2731 HANDLE GetCurrentTask(void);
2732 DWORD GetCurrentTime(void);
2733 HCURSOR GetCursor(void);
2734 void GetCursorPos(LPPOINT);
2735 HDC GetDC(HWND);
2736 HDC GetDCEx(HWND,HRGN,DWORD);
2737 DWORD GetDCOrg(HDC);
2738 HDC GetDCState(HDC);
2739 int GetDIBits(HDC,HANDLE,WORD,WORD,LPSTR,LPBITMAPINFO,WORD);
2740 SEGPTR GetDOSEnvironment(void);
2741 HWND GetDesktopHwnd(void);
2742 HWND GetDesktopWindow(void);
2743 int GetDeviceCaps(HDC,WORD);
2744 DWORD GetDialogBaseUnits(void);
2745 int GetDlgCtrlID(HWND);
2746 HWND GetDlgItem(HWND,WORD);
2747 WORD GetDlgItemInt(HWND,WORD,BOOL*,BOOL);
2748 int GetDlgItemText(HWND,WORD,SEGPTR,WORD);
2749 WORD GetDoubleClickTime(void);
2750 WORD GetDriveType(INT);
2751 int GetEnvironment(LPSTR,LPSTR,WORD);
2752 HMODULE GetExePtr(HANDLE);
2753 HWND GetFocus(void);
2754 DWORD GetFreeSpace(WORD);
2755 DWORD GetHeapSpaces(HMODULE);
2756 BOOL GetInputState(void);
2757 int GetInstanceData(HANDLE,WORD,int);
2758 WORD GetInternalWindowPos(HWND,LPRECT,LPPOINT);
2759 int GetKBCodePage(void);
2760 int GetKeyNameText(LONG,LPSTR,int);
2761 int GetKeyState(int);
2762 void GetKeyboardState(BYTE*);
2763 int GetKeyboardType(int);
2764 HWND GetLastActivePopup(HWND);
2765 WORD GetMapMode(HDC);
2766 HMENU GetMenu(HWND);
2767 DWORD GetMenuCheckMarkDimensions(void);
2768 WORD GetMenuItemCount(HMENU);
2769 UINT GetMenuItemID(HMENU,int);
2770 UINT GetMenuState(HMENU,UINT,UINT);
2771 int GetMenuString(HMENU,UINT,LPSTR,short,UINT);
2772 BOOL GetMessage(SEGPTR,HWND,UINT,UINT);
2773 LONG GetMessageExtraInfo(void);
2774 DWORD GetMessagePos(void);
2775 LONG GetMessageTime(void);
2776 HANDLE GetMetaFile(LPSTR);
2777 HANDLE GetMetaFileBits(HANDLE);
2778 int GetModuleFileName(HANDLE,LPSTR,short);
2779 HANDLE GetModuleHandle(LPCSTR);
2780 int GetModuleUsage(HANDLE);
2781 FARPROC GetMouseEventProc(void);
2782 DWORD GetNearestColor(HDC,DWORD);
2783 WORD GetNearestPaletteIndex(HPALETTE,DWORD);
2784 HWND GetNextDlgGroupItem(HWND,HWND,BOOL);
2785 HWND GetNextDlgTabItem(HWND,HWND,BOOL);
2786 HWND GetNextWindow(HWND,WORD);
2787 WORD GetNumTasks(void);
2788 int GetObject(HANDLE,int,LPSTR);
2789 HWND GetOpenClipboardWindow(void);
2790 WORD GetPaletteEntries(HPALETTE,WORD,WORD,LPPALETTEENTRY);
2791 HWND GetParent(HWND);
2792 DWORD GetPixel(HDC,short,short);
2793 WORD GetPolyFillMode(HDC);
2794 int GetPriorityClipboardFormat(WORD*,short);
2795 WORD GetPrivateProfileInt(LPSTR,LPSTR,short,LPSTR);
2796 short GetPrivateProfileString(LPSTR,LPSTR,LPSTR,LPSTR,short,LPSTR);
2797 FARPROC GetProcAddress(HANDLE,SEGPTR);
2798 WORD GetProfileInt(LPSTR,LPSTR,int);
2799 int GetProfileString(LPSTR,LPSTR,LPSTR,LPSTR,int);
2800 HANDLE GetProp(HWND,SEGPTR);
2801 WORD GetROP2(HDC);
2802 WORD GetRelAbs(HDC);
2803 int GetRgnBox(HRGN,LPRECT);
2804 int GetScrollPos(HWND,int);
2805 void GetScrollRange(HWND,int,LPINT,LPINT);
2806 DWORD GetSelectorBase(WORD);
2807 DWORD GetSelectorLimit(WORD);
2808 HANDLE GetStockObject(int);
2809 WORD GetStretchBltMode(HDC);
2810 HMENU GetSubMenu(HMENU,short);
2811 COLORREF GetSysColor(short);
2812 HWND GetSysModalWindow(void);
2813 UINT GetSystemDirectory(LPSTR,UINT);
2814 HMENU GetSystemMenu(HWND,BOOL);
2815 int GetSystemMetrics(WORD);
2816 WORD GetSystemPaletteEntries(HDC,WORD,WORD,LPPALETTEENTRY);
2817 WORD GetSystemPaletteUse(HDC);
2818 DWORD GetTabbedTextExtent(HDC,LPSTR,int,int,LPINT);
2819 HINSTANCE GetTaskDS(void);
2820 HGLOBAL GetTaskQueue(HTASK);
2821 BYTE GetTempDrive(BYTE);
2822 INT GetTempFileName(BYTE,LPCSTR,UINT,LPSTR);
2823 WORD GetTextAlign(HDC);
2824 short GetTextCharacterExtra(HDC);
2825 COLORREF GetTextColor(HDC);
2826 DWORD GetTextExtent(HDC,LPSTR,short);
2827 BOOL GetTextExtentPoint(HDC,LPSTR,short,LPSIZE);
2828 INT GetTextFace(HDC,INT,LPSTR);
2829 BOOL GetTextMetrics(HDC,LPTEXTMETRIC);
2830 LPINT GetThresholdEvent(void);
2831 int GetThresholdStatus(void);
2832 DWORD GetTickCount(void);
2833 HWND GetTopWindow(HWND);
2834 BOOL GetUpdateRect(HWND,LPRECT,BOOL);
2835 int GetUpdateRgn(HWND,HRGN,BOOL);
2836 LONG GetVersion(void);
2837 DWORD GetViewportExt(HDC);
2838 BOOL GetViewportExtEx(HDC,LPPOINT);
2839 DWORD GetViewportOrg(HDC);
2840 BOOL GetViewportOrgEx(HDC,LPPOINT);
2841 BOOL GetWinDebugInfo(LPWINDEBUGINFO,UINT);
2842 LONG GetWinFlags(void);
2843 HWND GetWindow(HWND,WORD);
2844 HDC GetWindowDC(HWND);
2845 DWORD GetWindowExt(HDC);
2846 BOOL GetWindowExtEx(HDC,LPPOINT);
2847 LONG GetWindowLong(HWND,short);
2848 DWORD GetWindowOrg(HDC);
2849 BOOL GetWindowOrgEx(HDC,LPPOINT);
2850 BOOL GetWindowPlacement(HWND,LPWINDOWPLACEMENT);
2851 void GetWindowRect(HWND,LPRECT);
2852 HANDLE GetWindowTask(HWND);
2853 int GetWindowText(HWND,LPSTR,int);
2854 int GetWindowTextLength(HWND);
2855 WORD GetWindowWord(HWND,short);
2856 UINT GetWindowsDirectory(LPSTR,UINT);
2857 ATOM GlobalAddAtom(SEGPTR);
2858 HGLOBAL GlobalAlloc(WORD,DWORD);
2859 #ifndef WINELIB32 /* Obsolete in Win32 */
2860 DWORD GlobalCompact(DWORD);
2861 #endif
2862 DWORD GlobalDOSAlloc(DWORD);
2863 WORD GlobalDOSFree(WORD);
2864 ATOM GlobalDeleteAtom(ATOM);
2865 ATOM GlobalFindAtom(SEGPTR);
2866 void GlobalFix(HGLOBAL);
2867 WORD GlobalFlags(HGLOBAL);
2868 HGLOBAL GlobalFree(HGLOBAL);
2869 void GlobalFreeAll(HANDLE);
2870 WORD GlobalGetAtomName(ATOM,LPSTR,short);
2871 #ifdef WINELIB32
2872 HGLOBAL GlobalHandle(LPCVOID);
2873 #else
2874 DWORD GlobalHandle(UINT);
2875 #endif
2876 HGLOBAL GlobalLRUNewest(HGLOBAL);
2877 HGLOBAL GlobalLRUOldest(HGLOBAL);
2878 LPVOID GlobalLock(HGLOBAL);
2879 void GlobalNotify(FARPROC);
2880 WORD GlobalPageLock(HGLOBAL);
2881 WORD GlobalPageUnlock(HGLOBAL);
2882 HGLOBAL GlobalReAlloc(HGLOBAL,DWORD,WORD);
2883 DWORD GlobalSize(HGLOBAL);
2884 BOOL GlobalUnWire(HGLOBAL);
2885 void GlobalUnfix(HGLOBAL);
2886 BOOL GlobalUnlock(HGLOBAL);
2887 SEGPTR GlobalWire(HGLOBAL);
2888 BOOL GrayString(HDC,HBRUSH,FARPROC,LPARAM,INT,INT,INT,INT,INT);
2889 void HideCaret(HWND);
2890 BOOL HiliteMenuItem(HWND,HMENU,UINT,UINT);
2891 BOOL InSendMessage(void);
2892 void InflateRect(LPRECT,short,short);
2893 WORD InitAtomTable(WORD);
2894 HRGN InquireVisRgn(HDC);
2895 BOOL InsertMenu(HMENU,UINT,UINT,UINT,LPSTR);
2896 int IntersectClipRect(HDC,short,short,short,short);
2897 BOOL IntersectRect(LPRECT,LPRECT,LPRECT);
2898 int IntersectVisRect(HDC,short,short,short,short);
2899 void InvalidateRect(HWND,LPRECT,BOOL);
2900 void InvalidateRgn(HWND,HRGN,BOOL);
2901 void InvertRect(HDC,LPRECT);
2902 BOOL InvertRgn(HDC,HRGN);
2903 BOOL IsBadCodePtr(SEGPTR);
2904 BOOL IsBadHugeReadPtr(SEGPTR,DWORD);
2905 BOOL IsBadHugeWritePtr(SEGPTR,DWORD);
2906 BOOL IsBadReadPtr(SEGPTR,WORD);
2907 BOOL IsBadStringPtr(SEGPTR,WORD);
2908 BOOL IsBadWritePtr(SEGPTR,WORD);
2909 BOOL IsCharAlpha(char);
2910 BOOL IsCharAlphaNumeric(char);
2911 BOOL IsCharLower(char);
2912 BOOL IsCharUpper(char);
2913 BOOL IsChild(HWND,HWND);
2914 BOOL IsClipboardFormatAvailable(WORD);
2915 BOOL IsDialogMessage(HWND,LPMSG);
2916 WORD IsDlgButtonChecked(HWND,WORD);
2917 BOOL IsIconic(HWND);
2918 BOOL IsRectEmpty(LPRECT);
2919 BOOL IsTwoByteCharPrefix(char);
2920 BOOL IsWindow(HWND);
2921 BOOL IsWindowEnabled(HWND);
2922 BOOL IsWindowVisible(HWND);
2923 BOOL IsZoomed(HWND);
2924 BOOL KillSystemTimer(HWND,WORD);
2925 BOOL KillTimer(HWND,WORD);
2926 BOOL LPtoDP(HDC,LPPOINT,int);
2927 void LimitEmsPages(DWORD);
2928 void LineDDA(short,short,short,short,FARPROC,long);
2929 BOOL LineTo(HDC,short,short);
2930 HANDLE LoadAccelerators(HANDLE,SEGPTR);
2931 HBITMAP LoadBitmap(HANDLE,SEGPTR);
2932 HCURSOR LoadCursor(HANDLE,SEGPTR);
2933 HICON LoadIcon(HANDLE,SEGPTR);
2934 HANDLE LoadLibrary(LPCSTR);
2935 HMENU LoadMenu(HANDLE,SEGPTR);
2936 HMENU LoadMenuIndirect(LPSTR);
2937 HANDLE LoadModule(LPCSTR,LPVOID);
2938 HGLOBAL LoadResource(HINSTANCE,HRSRC);
2939 int LoadString(HANDLE,WORD,LPSTR,int);
2940 HANDLE LocalAlloc(WORD,WORD);
2941 #ifndef WINELIB32 /* Obsolete in Win32 */
2942 UINT LocalCompact(WORD);
2943 #endif
2944 UINT LocalFlags(HLOCAL);
2945 HANDLE LocalFree(HANDLE);
2946 HANDLE LocalHandle(WORD);
2947 BOOL LocalInit(HANDLE,WORD,WORD);
2948 NPVOID LocalLock(HLOCAL);
2949 FARPROC LocalNotify(FARPROC);
2950 HANDLE LocalReAlloc(HANDLE,WORD,WORD);
2951 #ifndef WINELIB32 /* Obsolete in Win32 */
2952 UINT LocalShrink(HANDLE,WORD);
2953 #endif
2954 UINT LocalSize(HLOCAL);
2955 BOOL LocalUnlock(HANDLE);
2956 LPVOID LockResource(HGLOBAL);
2957 HGLOBAL LockSegment(HGLOBAL);
2958 HMENU LookupMenuHandle(HMENU,INT);
2959 FARPROC MakeProcInstance(FARPROC,HANDLE);
2960 void MapDialogRect(HWND,LPRECT);
2961 WORD MapVirtualKey(WORD,WORD);
2962 void MapWindowPoints(HWND,HWND,LPPOINT,WORD);
2963 void MessageBeep(WORD);
2964 int MessageBox(HWND,LPSTR,LPSTR,WORD);
2965 BOOL ModifyMenu(HMENU,UINT,UINT,UINT,LPSTR);
2966 DWORD MoveTo(HDC,short,short);
2967 BOOL MoveToEx(HDC,short,short,LPPOINT);
2968 BOOL MoveWindow(HWND,short,short,short,short,BOOL);
2969 int MulDiv(int,int,int);
2970 DWORD OemKeyScan(WORD);
2971 BOOL OemToAnsi(LPSTR,LPSTR);
2972 void OemToAnsiBuff(LPSTR,LPSTR,INT);
2973 int OffsetClipRgn(HDC,short,short);
2974 void OffsetRect(LPRECT,short,short);
2975 int OffsetRgn(HRGN,short,short);
2976 DWORD OffsetViewportOrg(HDC,short,short);
2977 BOOL OffsetViewportOrgEx(HDC,short,short,LPPOINT);
2978 DWORD OffsetWindowOrg(HDC,short,short);
2979 BOOL OffsetWindowOrgEx(HDC,short,short,LPPOINT);
2980 BOOL OpenClipboard(HWND);
2981 int OpenComm(LPSTR,UINT,UINT);
2982 INT OpenFile(LPCSTR,LPOFSTRUCT,UINT);
2983 BOOL OpenIcon(HWND);
2984 int OpenSound(void);
2985 void OutputDebugString(LPSTR);
2986 void PaintRect(HWND,HWND,HDC,HBRUSH,LPRECT);
2987 BOOL PaintRgn(HDC,HRGN);
2988 BOOL PatBlt(HDC,short,short,short,short,DWORD);
2989 BOOL PeekMessage(LPMSG,HWND,WORD,WORD,WORD);
2990 BOOL Pie(HDC,INT,INT,INT,INT,INT,INT,INT,INT);
2991 BOOL PlayMetaFile(HDC,HANDLE);
2992 void PlayMetaFileRecord(HDC,LPHANDLETABLE,LPMETARECORD,WORD);
2993 BOOL PolyPolygon(HDC,LPPOINT,LPINT,WORD);
2994 BOOL Polygon(HDC,LPPOINT,int);
2995 BOOL Polyline(HDC,LPPOINT,int);
2996 BOOL PostAppMessage(HANDLE,WORD,WORD,LONG);
2997 BOOL PostMessage(HWND,WORD,WORD,LONG);
2998 void PostQuitMessage(int);
2999 WORD PrestoChangoSelector(WORD,WORD);
3000 void ProfClear(void);
3001 void ProfFinish(void);
3002 void ProfFlush(void);
3003 int ProfInsChk(void);
3004 void ProfSampRate(int,int);
3005 void ProfSetup(int,int);
3006 void ProfStart(void);
3007 void ProfStop(void);
3008 BOOL PtInRect(LPRECT,POINT);
3009 BOOL PtInRegion(HRGN,short,short);
3010 BOOL PtVisible(HDC,short,short);
3011 int ReadComm(int,LPSTR,int);
3012 WORD RealizeDefaultPalette(HDC);
3013 UINT RealizePalette(HDC);
3014 BOOL RectInRegion(HRGN,LPRECT);
3015 BOOL RectVisible(HDC,LPRECT);
3016 BOOL Rectangle(HDC,INT,INT,INT,INT);
3017 BOOL RedrawWindow(HWND,LPRECT,HRGN,UINT);
3018 ATOM RegisterClass(LPWNDCLASS);
3019 WORD RegisterClipboardFormat(LPCSTR);
3020 WORD RegisterWindowMessage(SEGPTR);
3021 void ReleaseCapture(void);
3022 int ReleaseDC(HWND,HDC);
3023 BOOL RemoveFontResource(LPSTR);
3024 BOOL RemoveMenu(HMENU,UINT,UINT);
3025 HANDLE RemoveProp(HWND,SEGPTR);
3026 void ReplyMessage(LONG);
3027 BOOL ResizePalette(HPALETTE,UINT);
3028 BOOL RestoreDC(HDC,short);
3029 int RestoreVisRgn(HDC);
3030 BOOL RoundRect(HDC,INT,INT,INT,INT,INT,INT);
3031 int SaveDC(HDC);
3032 HRGN SaveVisRgn(HDC);
3033 DWORD ScaleViewportExt(HDC,short,short,short,short);
3034 BOOL ScaleViewportExtEx(HDC,short,short,short,short,LPSIZE);
3035 DWORD ScaleWindowExt(HDC,short,short,short,short);
3036 BOOL ScaleWindowExtEx(HDC,short,short,short,short,LPSIZE);
3037 void ScreenToClient(HWND,LPPOINT);
3038 void ScrollChildren(HWND,UINT,WPARAM,LPARAM);
3039 BOOL ScrollDC(HDC,short,short,LPRECT,LPRECT,HRGN,LPRECT);
3040 void ScrollWindow(HWND,short,short,LPRECT,LPRECT);
3041 int ScrollWindowEx(HWND,short,short,LPRECT,LPRECT,HRGN,LPRECT,WORD);
3042 int SelectClipRgn(HDC,HRGN);
3043 HANDLE SelectObject(HDC,HANDLE);
3044 HPALETTE SelectPalette(HDC,HPALETTE,BOOL);
3045 int SelectVisRgn(HDC,HRGN);
3046 WORD SelectorAccessRights(WORD,WORD,WORD);
3047 LONG SendDlgItemMessage(HWND,INT,UINT,WPARAM,LPARAM);
3048 LRESULT SendMessage(HWND,UINT,WPARAM,LPARAM);
3049 HWND SetActiveWindow(HWND);
3050 LONG SetBitmapBits(HBITMAP,LONG,LPSTR);
3051 DWORD SetBitmapDimension(HBITMAP,short,short);
3052 BOOL SetBitmapDimensionEx(HBITMAP,short,short,LPSIZE);
3053 DWORD SetBkColor(HDC,COLORREF);
3054 WORD SetBkMode(HDC,WORD);
3055 DWORD SetBrushOrg(HDC,short,short);
3056 HWND SetCapture(HWND);
3057 void SetCaretBlinkTime(WORD);
3058 void SetCaretPos(short,short);
3059 LONG SetClassLong(HWND,short,LONG);
3060 WORD SetClassWord(HWND,short,WORD);
3061 HANDLE SetClipboardData(WORD,HANDLE);
3062 HWND SetClipboardViewer(HWND);
3063 int SetCommBreak(int);
3064 UINT* SetCommEventMask(int,UINT);
3065 int SetCommState(DCB*);
3066 void SetConvertHook(BOOL);
3067 BOOL SetConvertParams(int,int);
3068 HCURSOR SetCursor(HCURSOR);
3069 void SetCursorPos(short,short);
3070 void SetDCState(HDC,HDC);
3071 int SetDIBits(HDC,HANDLE,WORD,WORD,LPSTR,LPBITMAPINFO,WORD);
3072 int SetDIBitsToDevice(HDC,short,short,WORD,WORD,WORD,WORD,WORD,WORD,LPSTR,LPBITMAPINFO,WORD);
3073 BOOL SetDeskPattern(void);
3074 BOOL SetDeskWallPaper(LPSTR);
3075 void SetDlgItemInt(HWND,WORD,WORD,BOOL);
3076 void SetDlgItemText(HWND,WORD,SEGPTR);
3077 void SetDoubleClickTime(WORD);
3078 int SetEnvironment(LPSTR,LPSTR,WORD);
3079 BOOL SetErrorMode(WORD);
3080 HWND SetFocus(HWND);
3081 WORD SetHandleCount(WORD);
3082 void SetInternalWindowPos(HWND,WORD,LPRECT,LPPOINT);
3083 void SetKeyboardState(BYTE*);
3084 WORD SetMapMode(HDC,WORD);
3085 DWORD SetMapperFlags(HDC,DWORD);
3086 BOOL SetMenu(HWND,HMENU);
3087 BOOL SetMenuItemBitmaps(HMENU,UINT,UINT,HBITMAP,HBITMAP);
3088 BOOL SetMessageQueue(int);
3089 HANDLE SetMetaFileBits(HANDLE);
3090 WORD SetPaletteEntries(HPALETTE,WORD,WORD,LPPALETTEENTRY);
3091 HWND SetParent(HWND,HWND);
3092 COLORREF SetPixel(HDC,short,short,COLORREF);
3093 WORD SetPolyFillMode(HDC,WORD);
3094 BOOL SetProp(HWND,SEGPTR,HANDLE);
3095 WORD SetROP2(HDC,WORD);
3096 void SetRect(LPRECT,short,short,short,short);
3097 void SetRectEmpty(LPRECT);
3098 void SetRectRgn(HRGN,short,short,short,short);
3099 WORD SetRelAbs(HDC,WORD);
3100 FARPROC SetResourceHandler(HANDLE,LPSTR,FARPROC);
3101 int SetScrollPos(HWND,int,int,BOOL);
3102 void SetScrollRange(HWND,int,int,int,BOOL);
3103 WORD SetSelectorBase(WORD,DWORD);
3104 WORD SetSelectorLimit(WORD,DWORD);
3105 int SetSoundNoise(int,int);
3106 WORD SetStretchBltMode(HDC,WORD);
3107 LONG SetSwapAreaSize(WORD);
3108 void SetSysColors(int,LPINT,COLORREF*);
3109 HWND SetSysModalWindow(HWND);
3110 WORD SetSystemPaletteUse(HDC,WORD);
3111 WORD SetSystemTimer(HWND,WORD,WORD,FARPROC);
3112 HGLOBAL SetTaskQueue(HTASK,HGLOBAL);
3113 WORD SetTextAlign(HDC,WORD);
3114 short SetTextCharacterExtra(HDC,short);
3115 DWORD SetTextColor(HDC,DWORD);
3116 short SetTextJustification(HDC,short,short);
3117 WORD SetTimer(HWND,WORD,WORD,FARPROC);
3118 DWORD SetViewportExt(HDC,short,short);
3119 BOOL SetViewportExtEx(HDC,short,short,LPSIZE);
3120 DWORD SetViewportOrg(HDC,short,short);
3121 BOOL SetViewportOrgEx(HDC,short,short,LPPOINT);
3122 int SetVoiceAccent(int,int,int,int,int);
3123 int SetVoiceEnvelope(int,int,int);
3124 int SetVoiceNote(int,int,int,int);
3125 int SetVoiceQueueSize(int,int);
3126 int SetVoiceSound(int,LONG,int);
3127 int SetVoiceThreshold(int,int);
3128 BOOL SetWinDebugInfo(LPWINDEBUGINFO);
3129 DWORD SetWindowExt(HDC,short,short);
3130 BOOL SetWindowExtEx(HDC,short,short,LPSIZE);
3131 LONG SetWindowLong(HWND,short,LONG);
3132 DWORD SetWindowOrg(HDC,short,short);
3133 BOOL SetWindowOrgEx(HDC,short,short,LPPOINT);
3134 BOOL SetWindowPlacement(HWND,LPWINDOWPLACEMENT);
3135 BOOL SetWindowPos(HWND,HWND,INT,INT,INT,INT,WORD);
3136 void SetWindowText(HWND,LPSTR);
3137 WORD SetWindowWord(HWND,short,WORD);
3138 FARPROC SetWindowsHook(short,FARPROC);
3139 HHOOK SetWindowsHookEx(short,HOOKPROC,HINSTANCE,HTASK);
3140 void ShowCaret(HWND);
3141 int ShowCursor(BOOL);
3142 void ShowOwnedPopups(HWND,BOOL);
3143 void ShowScrollBar(HWND,WORD,BOOL);
3144 BOOL ShowWindow(HWND,int);
3145 DWORD SizeofResource(HINSTANCE,HRSRC);
3146 int StartSound(void);
3147 int StopSound(void);
3148 BOOL StretchBlt(HDC,short,short,short,short,HDC,short,short,short,short,DWORD);
3149 int StretchDIBits(HDC,WORD,WORD,WORD,WORD,WORD,WORD,WORD,WORD,LPSTR,LPBITMAPINFO,WORD,DWORD);
3150 BOOL SubtractRect(LPRECT,LPRECT,LPRECT);
3151 BOOL SwapMouseButton(BOOL);
3152 void SwapRecording(WORD);
3153 void SwitchStackBack(void);
3154 void SwitchStackTo(WORD,WORD,WORD);
3155 int SyncAllVoices(void);
3156 LONG TabbedTextOut(HDC,short,short,LPSTR,short,short,LPINT,short);
3157 BOOL TextOut(HDC,short,short,LPSTR,short);
3158 int Throw(LPCATCHBUF,int);
3159 int ToAscii(WORD,WORD,LPSTR,LPVOID,WORD);
3160 BOOL TrackPopupMenu(HMENU,UINT,short,short,short,HWND,LPRECT);
3161 int TranslateAccelerator(HWND,HANDLE,LPMSG);
3162 BOOL TranslateMDISysAccel(HWND,LPMSG);
3163 BOOL TranslateMessage(LPMSG);
3164 int TransmitCommChar(int,char);
3165 int UngetCommChar(int,char);
3166 BOOL UnhookWindowsHook(short,FARPROC);
3167 BOOL UnhookWindowsHookEx(HHOOK);
3168 BOOL UnionRect(LPRECT,LPRECT,LPRECT);
3169 void UnlockSegment(HGLOBAL);
3170 BOOL UnrealizeObject(HBRUSH);
3171 BOOL UnregisterClass(SEGPTR,HANDLE);
3172 int UpdateColors(HDC);
3173 void UpdateWindow(HWND);
3174 void ValidateCodeSegments(void);
3175 LPSTR ValidateFreeSpaces(void);
3176 void ValidateRect(HWND,LPRECT);
3177 void ValidateRgn(HWND,HRGN);
3178 WORD VkKeyScan(WORD);
3179 SEGPTR WIN16_GlobalLock(HGLOBAL);
3180 SEGPTR WIN16_LockResource(HANDLE);
3181 SEGPTR WIN16_lstrcpyn(SEGPTR,SEGPTR,WORD);
3182 void WaitMessage(void);
3183 int WaitSoundState(int);
3184 HANDLE WinExec(LPSTR,WORD);
3185 BOOL WinHelp(HWND,LPSTR,WORD,DWORD);
3186 HWND WindowFromPoint(POINT);
3187 int WriteComm(int,LPSTR,int);
3188 BOOL WritePrivateProfileString(LPSTR,LPSTR,LPSTR,LPSTR);
3189 BOOL WriteProfileString(LPSTR,LPSTR,LPSTR);
3190 void Yield(void);
3191 LONG _hread(INT,LPSTR,LONG);
3192 LONG _hwrite(INT,LPCSTR,LONG);
3193 INT _lclose(INT);
3194 INT _lcreat(LPSTR,INT);
3195 LONG _llseek(INT,LONG,INT);
3196 INT _lopen(LPSTR,INT);
3197 INT _lread(INT,LPSTR,WORD);
3198 INT _lwrite(INT,LPCSTR,WORD);
3199 SEGPTR lstrcat(SEGPTR,SEGPTR);
3200 INT lstrcmp(LPCSTR,LPCSTR);
3201 INT lstrcmpi(LPCSTR,LPCSTR);
3202 SEGPTR lstrcpy(SEGPTR,SEGPTR);
3203 char * lstrcpyn(char *,char *,int);
3204 INT lstrlen(LPCSTR);
3205 int wvsprintf(LPSTR,LPSTR,LPSTR);
3207 #ifdef WINELIB
3208 #define WINELIB_UNIMP(x) fprintf (stderr, "WineLib: Unimplemented %s\n", x)
3209 #endif
3210 #endif /* WINDOWS_H */