Release 951124
[wine/multimedia.git] / include / windows.h
blob02542d091df278a29c549610cca970f0065d6b0f
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 enum { WM_NULL, WM_CREATE, WM_DESTROY, WM_MOVE, WM_UNUSED0, WM_SIZE, WM_ACTIVATE,
1432 WM_SETFOCUS, WM_KILLFOCUS, WM_SETVISIBLE, WM_ENABLE, WM_SETREDRAW,
1433 WM_SETTEXT, WM_GETTEXT, WM_GETTEXTLENGTH, WM_PAINT, WM_CLOSE,
1434 WM_QUERYENDSESSION, WM_QUIT, WM_QUERYOPEN, WM_ERASEBKGND,
1435 WM_SYSCOLORCHANGE, WM_ENDSESSION, WM_SYSTEMERROR,
1436 WM_SHOWWINDOW, WM_CTLCOLOR, WM_WININICHANGE, WM_DEVMODECHANGE,
1437 WM_ACTIVATEAPP, WM_FONTCHANGE, WM_TIMECHANGE, WM_CANCELMODE, WM_SETCURSOR,
1438 WM_MOUSEACTIVATE, WM_CHILDACTIVATE, WM_QUEUESYNC, WM_GETMINMAXINFO,
1439 WM_UNUSED3, WM_PAINTICON, WM_ICONERASEBKGND, WM_NEXTDLGCTL,
1440 WM_UNUSED4, WM_SPOOLERSTATUS, WM_DRAWITEM, WM_MEASUREITEM,
1441 WM_DELETEITEM, WM_VKEYTOITEM,
1442 WM_CHARTOITEM, WM_SETFONT, WM_GETFONT };
1444 #define WM_QUERYDRAGICON 0x0037
1446 #define WM_COMPAREITEM 0x0039
1448 #define WM_COMPACTING 0x0041
1450 #define WM_COMMNOTIFY 0x0044
1451 #define WM_WINDOWPOSCHANGING 0x0046
1452 #define WM_WINDOWPOSCHANGED 0x0047
1453 #define WM_POWER 0x0048
1455 #define WM_NCCREATE 0x0081
1456 #define WM_NCDESTROY 0x0082
1457 #define WM_NCCALCSIZE 0x0083
1458 #define WM_NCHITTEST 0x0084
1459 #define WM_NCPAINT 0x0085
1460 #define WM_NCACTIVATE 0x0086
1462 #define WM_GETDLGCODE 0x0087
1463 #define WM_SYNCPAINT 0x0088
1465 /* Non-client mouse messages */
1466 #define WM_NCMOUSEMOVE 0x00a0
1467 #define WM_NCLBUTTONDOWN 0x00a1
1468 #define WM_NCLBUTTONUP 0x00a2
1469 #define WM_NCLBUTTONDBLCLK 0x00a3
1470 #define WM_NCRBUTTONDOWN 0x00a4
1471 #define WM_NCRBUTTONUP 0x00a5
1472 #define WM_NCRBUTTONDBLCLK 0x00a6
1473 #define WM_NCMBUTTONDOWN 0x00a7
1474 #define WM_NCMBUTTONUP 0x00a8
1475 #define WM_NCMBUTTONDBLCLK 0x00a9
1477 /* Keyboard messages */
1478 #define WM_KEYDOWN 0x0100
1479 #define WM_KEYUP 0x0101
1480 #define WM_CHAR 0x0102
1481 #define WM_DEADCHAR 0x0103
1482 #define WM_SYSKEYDOWN 0x0104
1483 #define WM_SYSKEYUP 0x0105
1484 #define WM_SYSCHAR 0x0106
1485 #define WM_SYSDEADCHAR 0x0107
1486 #define WM_KEYFIRST WM_KEYDOWN
1487 #define WM_KEYLAST 0x0108
1489 #define WM_INITDIALOG 0x0110
1490 #define WM_COMMAND 0x0111
1491 #define WM_SYSCOMMAND 0x0112
1492 #define WM_TIMER 0x0113
1493 #define WM_SYSTIMER 0x0118
1495 /* scroll messages */
1496 #define WM_HSCROLL 0x0114
1497 #define WM_VSCROLL 0x0115
1499 /* Menu messages */
1500 #define WM_INITMENU 0x0116
1501 #define WM_INITMENUPOPUP 0x0117
1503 #define WM_MENUSELECT 0x011F
1504 #define WM_MENUCHAR 0x0120
1505 #define WM_ENTERIDLE 0x0121
1507 #define WM_LBTRACKPOINT 0x0131
1509 /* Win32 CTLCOLOR messages */
1510 #define WM_CTLCOLORMSGBOX 0x0132
1511 #define WM_CTLCOLOREDIT 0x0133
1512 #define WM_CTLCOLORLISTBOX 0x0134
1513 #define WM_CTLCOLORBTN 0x0135
1514 #define WM_CTLCOLORDLG 0x0136
1515 #define WM_CTLCOLORSCROLLBAR 0x0137
1516 #define WM_CTLCOLORSTATIC 0x0138
1518 /* Mouse messages */
1519 #define WM_MOUSEMOVE 0x0200
1520 #define WM_LBUTTONDOWN 0x0201
1521 #define WM_LBUTTONUP 0x0202
1522 #define WM_LBUTTONDBLCLK 0x0203
1523 #define WM_RBUTTONDOWN 0x0204
1524 #define WM_RBUTTONUP 0x0205
1525 #define WM_RBUTTONDBLCLK 0x0206
1526 #define WM_MBUTTONDOWN 0x0207
1527 #define WM_MBUTTONUP 0x0208
1528 #define WM_MBUTTONDBLCLK 0x0209
1529 #define WM_MOUSEFIRST WM_MOUSEMOVE
1530 #define WM_MOUSELAST WM_MBUTTONDBLCLK
1532 #define WM_PARENTNOTIFY 0x0210
1533 #define WM_ENTERMENULOOP 0x0211
1534 #define WM_EXITMENULOOP 0x0212
1536 #define WM_MDICREATE 0x0220
1537 #define WM_MDIDESTROY 0x0221
1538 #define WM_MDIACTIVATE 0x0222
1539 #define WM_MDIRESTORE 0x0223
1540 #define WM_MDINEXT 0x0224
1541 #define WM_MDIMAXIMIZE 0x0225
1542 #define WM_MDITILE 0x0226
1543 #define WM_MDICASCADE 0x0227
1544 #define WM_MDIICONARRANGE 0x0228
1545 #define WM_MDIGETACTIVE 0x0229
1546 #define WM_DROPOBJECT 0x022A
1547 #define WM_QUERYDROPOBJECT 0x022B
1548 #define WM_BEGINDRAG 0x022C
1549 #define WM_DRAGLOOP 0x022D
1550 #define WM_DRAGSELECT 0x022E
1551 #define WM_DRAGMOVE 0x022F
1552 #define WM_MDISETMENU 0x0230
1554 #define WM_ENTERSIZEMOVE 0x0231
1555 #define WM_EXITSIZEMOVE 0x0232
1556 #define WM_DROPFILES 0x0233
1558 #define WM_CUT 0x0300
1559 #define WM_COPY 0x0301
1560 #define WM_PASTE 0x0302
1561 #define WM_CLEAR 0x0303
1562 #define WM_UNDO 0x0304
1563 #define WM_RENDERFORMAT 0x0305
1564 #define WM_RENDERALLFORMATS 0x0306
1565 #define WM_DESTROYCLIPBOARD 0x0307
1566 #define WM_DRAWCLIPBOARD 0x0308
1567 #define WM_PAINTCLIPBOARD 0x0309
1568 #define WM_VSCROLLCLIPBOARD 0x030A
1569 #define WM_SIZECLIPBOARD 0x030B
1570 #define WM_ASKCBFORMATNAME 0x030C
1571 #define WM_CHANGECBCHAIN 0x030D
1572 #define WM_HSCROLLCLIPBOARD 0x030E
1573 #define WM_QUERYNEWPALETTE 0x030F
1574 #define WM_PALETTEISCHANGING 0x0310
1575 #define WM_PALETTECHANGED 0x0311
1577 #define WM_COALESCE_FIRST 0x0390
1578 #define WM_COALESCE_LAST 0x039F
1580 /* misc messages */
1581 #define WM_NULL 0x0000
1582 #define WM_USER 0x0400
1583 #define WM_CPL_LAUNCH (WM_USER + 1000)
1584 #define WM_CPL_LAUNCHED (WM_USER + 1001)
1586 /* Key status flags for mouse events */
1587 #define MK_LBUTTON 0x0001
1588 #define MK_RBUTTON 0x0002
1589 #define MK_SHIFT 0x0004
1590 #define MK_CONTROL 0x0008
1591 #define MK_MBUTTON 0x0010
1593 /* Mouse_Event flags */
1594 #define ME_MOVE 0x01
1595 #define ME_LDOWN 0x02
1596 #define ME_LUP 0x04
1597 #define ME_RDOWN 0x08
1598 #define ME_RUP 0x10
1600 /* Queue status flags */
1601 #define QS_KEY 0x0001
1602 #define QS_MOUSEMOVE 0x0002
1603 #define QS_MOUSEBUTTON 0x0004
1604 #define QS_MOUSE (QS_MOUSEMOVE | QS_MOUSEBUTTON)
1605 #define QS_POSTMESSAGE 0x0008
1606 #define QS_TIMER 0x0010
1607 #define QS_PAINT 0x0020
1608 #define QS_SENDMESSAGE 0x0040
1609 #define QS_ALLINPUT 0x007f
1611 /* PeekMessage() options */
1612 #define PM_NOREMOVE 0x0000
1613 #define PM_REMOVE 0x0001
1614 #define PM_NOYIELD 0x0002
1616 #define WM_SHOWWINDOW 0x0018
1618 /* WM_SHOWWINDOW wParam codes */
1619 #define SW_PARENTCLOSING 1
1620 #define SW_OTHERMAXIMIZED 2
1621 #define SW_PARENTOPENING 3
1622 #define SW_OTHERRESTORED 4
1624 /* ShowWindow() codes */
1625 #define SW_HIDE 0
1626 #define SW_SHOWNORMAL 1
1627 #define SW_NORMAL 1
1628 #define SW_SHOWMINIMIZED 2
1629 #define SW_SHOWMAXIMIZED 3
1630 #define SW_MAXIMIZE 3
1631 #define SW_SHOWNOACTIVATE 4
1632 #define SW_SHOW 5
1633 #define SW_MINIMIZE 6
1634 #define SW_SHOWMINNOACTIVE 7
1635 #define SW_SHOWNA 8
1636 #define SW_RESTORE 9
1638 /* WM_SIZE message wParam values */
1639 #define SIZE_RESTORED 0
1640 #define SIZE_MINIMIZED 1
1641 #define SIZE_MAXIMIZED 2
1642 #define SIZE_MAXSHOW 3
1643 #define SIZE_MAXHIDE 4
1645 /* SetWindowPos() and WINDOWPOS flags */
1646 #define SWP_NOSIZE 0x0001
1647 #define SWP_NOMOVE 0x0002
1648 #define SWP_NOZORDER 0x0004
1649 #define SWP_NOREDRAW 0x0008
1650 #define SWP_NOACTIVATE 0x0010
1651 #define SWP_FRAMECHANGED 0x0020 /* The frame changed: send WM_NCCALCSIZE */
1652 #define SWP_SHOWWINDOW 0x0040
1653 #define SWP_HIDEWINDOW 0x0080
1654 #define SWP_NOCOPYBITS 0x0100
1655 #define SWP_NOOWNERZORDER 0x0200 /* Don't do owner Z ordering */
1657 #define SWP_DRAWFRAME SWP_FRAMECHANGED
1658 #define SWP_NOREPOSITION SWP_NOOWNERZORDER
1660 #define SWP_NOSENDCHANGING 0x0400
1661 #define SWP_DEFERERASE 0x2000
1663 /* SetWindowPos() hwndInsertAfter field values */
1664 #define HWND_TOP ((HWND)0)
1665 #define HWND_BOTTOM ((HWND)1)
1666 #define HWND_TOPMOST ((HWND)-1)
1667 #define HWND_NOTOPMOST ((HWND)-2)
1669 /* Flags for TrackPopupMenu */
1670 #define TPM_LEFTBUTTON 0x0000
1671 #define TPM_RIGHTBUTTON 0x0002
1672 #define TPM_LEFTALIGN 0x0000
1673 #define TPM_CENTERALIGN 0x0004
1674 #define TPM_RIGHTALIGN 0x0008
1676 #define MF_INSERT 0
1677 #define MF_CHANGE 0x0080
1678 #define MF_APPEND 0x0100
1679 #define MF_DELETE 0x0200
1680 #define MF_REMOVE 0x1000
1681 #define MF_BYCOMMAND 0
1682 #define MF_BYPOSITION 0x0400
1683 #define MF_SEPARATOR 0x0800
1684 #define MF_ENABLED 0
1685 #define MF_GRAYED 0x0001
1686 #define MF_DISABLED 0x0002
1687 #define MF_UNCHECKED 0
1688 #define MF_CHECKED 0x0008
1689 #define MF_USECHECKBITMAPS 0x0200
1690 #define MF_STRING 0
1691 #define MF_BITMAP 0x0004
1692 #define MF_OWNERDRAW 0x0100
1693 #define MF_POPUP 0x0010
1694 #define MF_MENUBARBREAK 0x0020
1695 #define MF_MENUBREAK 0x0040
1696 #define MF_UNHILITE 0
1697 #define MF_HILITE 0x0080
1698 #define MF_SYSMENU 0x2000
1699 #define MF_HELP 0x4000
1700 #define MF_MOUSESELECT 0x8000
1701 #define MF_END 0x0080
1703 #ifndef NOWINOFFSETS
1704 #define GCW_HBRBACKGROUND (-10)
1705 #endif
1707 #define MB_OK 0x0000
1708 #define MB_OKCANCEL 0x0001
1709 #define MB_ABORTRETRYIGNORE 0x0002
1710 #define MB_YESNOCANCEL 0x0003
1711 #define MB_YESNO 0x0004
1712 #define MB_RETRYCANCEL 0x0005
1713 #define MB_TYPEMASK 0x000F
1715 #define MB_ICONHAND 0x0010
1716 #define MB_ICONQUESTION 0x0020
1717 #define MB_ICONEXCLAMATION 0x0030
1718 #define MB_ICONASTERISK 0x0040
1719 #define MB_ICONMASK 0x00F0
1721 #define MB_ICONINFORMATION MB_ICONASTERISK
1722 #define MB_ICONSTOP MB_ICONHAND
1724 #define MB_DEFBUTTON1 0x0000
1725 #define MB_DEFBUTTON2 0x0100
1726 #define MB_DEFBUTTON3 0x0200
1727 #define MB_DEFMASK 0x0F00
1729 #define MB_APPLMODAL 0x0000
1730 #define MB_SYSTEMMODAL 0x1000
1731 #define MB_TASKMODAL 0x2000
1733 #define MB_NOFOCUS 0x8000
1736 #define DT_TOP 0
1737 #define DT_LEFT 0
1738 #define DT_CENTER 1
1739 #define DT_RIGHT 2
1740 #define DT_VCENTER 4
1741 #define DT_BOTTOM 8
1742 #define DT_WORDBREAK 16
1743 #define DT_SINGLELINE 32
1744 #define DT_EXPANDTABS 64
1745 #define DT_TABSTOP 128
1746 #define DT_NOCLIP 256
1747 #define DT_EXTERNALLEADING 512
1748 #define DT_CALCRECT 1024
1749 #define DT_NOPREFIX 2048
1750 #define DT_INTERNAL 4096
1752 /* Window Styles */
1753 #define WS_OVERLAPPED 0x00000000L
1754 #define WS_POPUP 0x80000000L
1755 #define WS_CHILD 0x40000000L
1756 #define WS_MINIMIZE 0x20000000L
1757 #define WS_VISIBLE 0x10000000L
1758 #define WS_DISABLED 0x08000000L
1759 #define WS_CLIPSIBLINGS 0x04000000L
1760 #define WS_CLIPCHILDREN 0x02000000L
1761 #define WS_MAXIMIZE 0x01000000L
1762 #define WS_CAPTION 0x00C00000L
1763 #define WS_BORDER 0x00800000L
1764 #define WS_DLGFRAME 0x00400000L
1765 #define WS_VSCROLL 0x00200000L
1766 #define WS_HSCROLL 0x00100000L
1767 #define WS_SYSMENU 0x00080000L
1768 #define WS_THICKFRAME 0x00040000L
1769 #define WS_GROUP 0x00020000L
1770 #define WS_TABSTOP 0x00010000L
1771 #define WS_MINIMIZEBOX 0x00020000L
1772 #define WS_MAXIMIZEBOX 0x00010000L
1773 #define WS_TILED WS_OVERLAPPED
1774 #define WS_ICONIC WS_MINIMIZE
1775 #define WS_SIZEBOX WS_THICKFRAME
1776 #define WS_OVERLAPPEDWINDOW (WS_OVERLAPPED | WS_CAPTION | WS_SYSMENU | WS_THICKFRAME| WS_MINIMIZEBOX | WS_MAXIMIZEBOX)
1777 #define WS_POPUPWINDOW (WS_POPUP | WS_BORDER | WS_SYSMENU)
1778 #define WS_CHILDWINDOW (WS_CHILD)
1779 #define WS_TILEDWINDOW (WS_OVERLAPPEDWINDOW)
1781 /* Window extended styles */
1782 #define WS_EX_DLGMODALFRAME 0x00000001L
1783 #define WS_EX_DRAGDETECT 0x00000002L
1784 #define WS_EX_NOPARENTNOTIFY 0x00000004L
1785 #define WS_EX_TOPMOST 0x00000008L
1786 #define WS_EX_ACCEPTFILES 0x00000010L
1787 #define WS_EX_TRANSPARENT 0x00000020L
1789 /* Window scrolling */
1790 #define SW_SCROLLCHILDREN 0x0001
1791 #define SW_INVALIDATE 0x0002
1792 #define SW_ERASE 0x0003
1794 /* Button control styles */
1795 #define BS_PUSHBUTTON 0x00000000L
1796 #define BS_DEFPUSHBUTTON 0x00000001L
1797 #define BS_CHECKBOX 0x00000002L
1798 #define BS_AUTOCHECKBOX 0x00000003L
1799 #define BS_RADIOBUTTON 0x00000004L
1800 #define BS_3STATE 0x00000005L
1801 #define BS_AUTO3STATE 0x00000006L
1802 #define BS_GROUPBOX 0x00000007L
1803 #define BS_USERBUTTON 0x00000008L
1804 #define BS_AUTORADIOBUTTON 0x00000009L
1805 #define BS_OWNERDRAW 0x0000000BL
1806 #define BS_LEFTTEXT 0x00000020L
1808 /* Button control messages */
1809 #define BM_GETCHECK (WM_USER+0)
1810 #define BM_SETCHECK (WM_USER+1)
1811 #define BM_GETSTATE (WM_USER+2)
1812 #define BM_SETSTATE (WM_USER+3)
1813 #define BM_SETSTYLE (WM_USER+4)
1815 /* Button notification codes */
1816 #define BN_CLICKED 0
1817 #define BN_PAINT 1
1818 #define BN_HILITE 2
1819 #define BN_UNHILITE 3
1820 #define BN_DISABLE 4
1821 #define BN_DOUBLECLICKED 5
1823 /* Static Control Styles */
1824 #define SS_LEFT 0x00000000L
1825 #define SS_CENTER 0x00000001L
1826 #define SS_RIGHT 0x00000002L
1827 #define SS_ICON 0x00000003L
1828 #define SS_BLACKRECT 0x00000004L
1829 #define SS_GRAYRECT 0x00000005L
1830 #define SS_WHITERECT 0x00000006L
1831 #define SS_BLACKFRAME 0x00000007L
1832 #define SS_GRAYFRAME 0x00000008L
1833 #define SS_WHITEFRAME 0x00000009L
1834 #define SS_SIMPLE 0x0000000BL
1835 #define SS_LEFTNOWORDWRAP 0x0000000CL
1836 #define SS_NOPREFIX 0x00000080L
1838 /* Static Control Mesages */
1839 #define STM_SETICON (WM_USER+0)
1840 #define STM_GETICON (WM_USER+1)
1842 /* WM_H/VSCROLL commands */
1843 #define SB_LINEUP 0
1844 #define SB_LINELEFT 0
1845 #define SB_LINEDOWN 1
1846 #define SB_LINERIGHT 1
1847 #define SB_PAGEUP 2
1848 #define SB_PAGELEFT 2
1849 #define SB_PAGEDOWN 3
1850 #define SB_PAGERIGHT 3
1851 #define SB_THUMBPOSITION 4
1852 #define SB_THUMBTRACK 5
1853 #define SB_TOP 6
1854 #define SB_LEFT 6
1855 #define SB_BOTTOM 7
1856 #define SB_RIGHT 7
1857 #define SB_ENDSCROLL 8
1859 /* Scroll bar selection constants */
1860 #define SB_HORZ 0
1861 #define SB_VERT 1
1862 #define SB_CTL 2
1863 #define SB_BOTH 3
1865 /* Scrollbar styles */
1866 #define SBS_HORZ 0x0000L
1867 #define SBS_VERT 0x0001L
1868 #define SBS_TOPALIGN 0x0002L
1869 #define SBS_LEFTALIGN 0x0002L
1870 #define SBS_BOTTOMALIGN 0x0004L
1871 #define SBS_RIGHTALIGN 0x0004L
1872 #define SBS_SIZEBOXTOPLEFTALIGN 0x0002L
1873 #define SBS_SIZEBOXBOTTOMRIGHTALIGN 0x0004L
1874 #define SBS_SIZEBOX 0x0008L
1876 /* EnableScrollBar() flags */
1877 #define ESB_ENABLE_BOTH 0x0000
1878 #define ESB_DISABLE_BOTH 0x0003
1880 #define ESB_DISABLE_LEFT 0x0001
1881 #define ESB_DISABLE_RIGHT 0x0002
1883 #define ESB_DISABLE_UP 0x0001
1884 #define ESB_DISABLE_DOWN 0x0002
1886 #define ESB_DISABLE_LTUP ESB_DISABLE_LEFT
1887 #define ESB_DISABLE_RTDN ESB_DISABLE_RIGHT
1889 /* Listbox styles */
1890 #define LBS_NOTIFY 0x0001L
1891 #define LBS_SORT 0x0002L
1892 #define LBS_NOREDRAW 0x0004L
1893 #define LBS_MULTIPLESEL 0x0008L
1894 #define LBS_OWNERDRAWFIXED 0x0010L
1895 #define LBS_OWNERDRAWVARIABLE 0x0020L
1896 #define LBS_HASSTRINGS 0x0040L
1897 #define LBS_USETABSTOPS 0x0080L
1898 #define LBS_NOINTEGRALHEIGHT 0x0100L
1899 #define LBS_MULTICOLUMN 0x0200L
1900 #define LBS_WANTKEYBOARDINPUT 0x0400L
1901 #define LBS_EXTENDEDSEL 0x0800L
1902 #define LBS_DISABLENOSCROLL 0x1000L
1903 #define LBS_STANDARD (LBS_NOTIFY | LBS_SORT | WS_VSCROLL | WS_BORDER)
1905 /* Listbox messages */
1906 #define LB_ADDSTRING (WM_USER+1)
1907 #define LB_INSERTSTRING (WM_USER+2)
1908 #define LB_DELETESTRING (WM_USER+3)
1909 #define LB_RESETCONTENT (WM_USER+5)
1910 #define LB_SETSEL (WM_USER+6)
1911 #define LB_SETCURSEL (WM_USER+7)
1912 #define LB_GETSEL (WM_USER+8)
1913 #define LB_GETCURSEL (WM_USER+9)
1914 #define LB_GETTEXT (WM_USER+10)
1915 #define LB_GETTEXTLEN (WM_USER+11)
1916 #define LB_GETCOUNT (WM_USER+12)
1917 #define LB_SELECTSTRING (WM_USER+13)
1918 #define LB_DIR (WM_USER+14)
1919 #define LB_GETTOPINDEX (WM_USER+15)
1920 #define LB_FINDSTRING (WM_USER+16)
1921 #define LB_GETSELCOUNT (WM_USER+17)
1922 #define LB_GETSELITEMS (WM_USER+18)
1923 #define LB_SETTABSTOPS (WM_USER+19)
1924 #define LB_GETHORIZONTALEXTENT (WM_USER+20)
1925 #define LB_SETHORIZONTALEXTENT (WM_USER+21)
1926 #define LB_SETCOLUMNWIDTH (WM_USER+22)
1927 #define LB_SETTOPINDEX (WM_USER+24)
1928 #define LB_GETITEMRECT (WM_USER+25)
1929 #define LB_GETITEMDATA (WM_USER+26)
1930 #define LB_SETITEMDATA (WM_USER+27)
1931 #define LB_SELITEMRANGE (WM_USER+28)
1932 #define LB_SETCARETINDEX (WM_USER+31)
1933 #define LB_GETCARETINDEX (WM_USER+32)
1934 #define LB_SETITEMHEIGHT (WM_USER+33)
1935 #define LB_GETITEMHEIGHT (WM_USER+34)
1936 #define LB_FINDSTRINGEXACT (WM_USER+35)
1938 /* Listbox notification codes */
1939 #define LBN_ERRSPACE (-2)
1940 #define LBN_SELCHANGE 1
1941 #define LBN_DBLCLK 2
1942 #define LBN_SELCANCEL 3
1943 #define LBN_SETFOCUS 4
1944 #define LBN_KILLFOCUS 5
1946 /* Listbox notification messages */
1947 #define WM_VKEYTOITEM 0x002E
1948 #define WM_CHARTOITEM 0x002F
1950 /* Listbox message return values */
1951 #define LB_OKAY 0
1952 #define LB_ERR (-1)
1953 #define LB_ERRSPACE (-2)
1955 #define LB_CTLCODE 0L
1957 /* Combo box styles */
1958 #define CBS_SIMPLE 0x0001L
1959 #define CBS_DROPDOWN 0x0002L
1960 #define CBS_DROPDOWNLIST 0x0003L
1961 #define CBS_OWNERDRAWFIXED 0x0010L
1962 #define CBS_OWNERDRAWVARIABLE 0x0020L
1963 #define CBS_AUTOHSCROLL 0x0040L
1964 #define CBS_OEMCONVERT 0x0080L
1965 #define CBS_SORT 0x0100L
1966 #define CBS_HASSTRINGS 0x0200L
1967 #define CBS_NOINTEGRALHEIGHT 0x0400L
1968 #define CBS_DISABLENOSCROLL 0x0800L
1970 /* Combo box messages */
1971 #define CB_GETEDITSEL (WM_USER+0)
1972 #define CB_LIMITTEXT (WM_USER+1)
1973 #define CB_SETEDITSEL (WM_USER+2)
1974 #define CB_ADDSTRING (WM_USER+3)
1975 #define CB_DELETESTRING (WM_USER+4)
1976 #define CB_DIR (WM_USER+5)
1977 #define CB_GETCOUNT (WM_USER+6)
1978 #define CB_GETCURSEL (WM_USER+7)
1979 #define CB_GETLBTEXT (WM_USER+8)
1980 #define CB_GETLBTEXTLEN (WM_USER+9)
1981 #define CB_INSERTSTRING (WM_USER+10)
1982 #define CB_RESETCONTENT (WM_USER+11)
1983 #define CB_FINDSTRING (WM_USER+12)
1984 #define CB_SELECTSTRING (WM_USER+13)
1985 #define CB_SETCURSEL (WM_USER+14)
1986 #define CB_SHOWDROPDOWN (WM_USER+15)
1987 #define CB_GETITEMDATA (WM_USER+16)
1988 #define CB_SETITEMDATA (WM_USER+17)
1989 #define CB_GETDROPPEDCONTROLRECT (WM_USER+18)
1990 #define CB_SETITEMHEIGHT (WM_USER+19)
1991 #define CB_GETITEMHEIGHT (WM_USER+20)
1992 #define CB_SETEXTENDEDUI (WM_USER+21)
1993 #define CB_GETEXTENDEDUI (WM_USER+22)
1994 #define CB_GETDROPPEDSTATE (WM_USER+23)
1995 #define CB_FINDSTRINGEXACT (WM_USER+24)
1997 /* Combo box notification codes */
1998 #define CBN_ERRSPACE (-1)
1999 #define CBN_SELCHANGE 1
2000 #define CBN_DBLCLK 2
2001 #define CBN_SETFOCUS 3
2002 #define CBN_KILLFOCUS 4
2003 #define CBN_EDITCHANGE 5
2004 #define CBN_EDITUPDATE 6
2005 #define CBN_DROPDOWN 7
2006 #define CBN_CLOSEUP 8
2007 #define CBN_SELENDOK 9
2008 #define CBN_SELENDCANCEL 10
2010 /* Combo box message return values */
2011 #define CB_OKAY 0
2012 #define CB_ERR (-1)
2013 #define CB_ERRSPACE (-2)
2016 /* Owner draw control types */
2017 #define ODT_MENU 1
2018 #define ODT_LISTBOX 2
2019 #define ODT_COMBOBOX 3
2020 #define ODT_BUTTON 4
2022 /* Owner draw actions */
2023 #define ODA_DRAWENTIRE 0x0001
2024 #define ODA_SELECT 0x0002
2025 #define ODA_FOCUS 0x0004
2027 /* Owner draw state */
2028 #define ODS_SELECTED 0x0001
2029 #define ODS_GRAYED 0x0002
2030 #define ODS_DISABLED 0x0004
2031 #define ODS_CHECKED 0x0008
2032 #define ODS_FOCUS 0x0010
2034 /* Edit control styles */
2035 #define ES_LEFT 0x00000000L
2036 #define ES_CENTER 0x00000001L
2037 #define ES_RIGHT 0x00000002L
2038 #define ES_MULTILINE 0x00000004L
2039 #define ES_UPPERCASE 0x00000008L
2040 #define ES_LOWERCASE 0x00000010L
2041 #define ES_PASSWORD 0x00000020L
2042 #define ES_AUTOVSCROLL 0x00000040L
2043 #define ES_AUTOHSCROLL 0x00000080L
2044 #define ES_NOHISESEL 0x00000100L
2045 #define ES_OEMCONVERT 0x00000400L
2046 #define ES_READONLY 0x00000800L
2047 #define ES_WANTRETURN 0x00001000L
2049 /* Edit control messages */
2050 #define EM_GETSEL (WM_USER+0)
2051 #define EM_SETSEL (WM_USER+1)
2052 #define EM_GETRECT (WM_USER+2)
2053 #define EM_SETRECT (WM_USER+3)
2054 #define EM_SETRECTNP (WM_USER+4)
2055 #define EM_LINESCROLL (WM_USER+6)
2056 #define EM_GETMODIFY (WM_USER+8)
2057 #define EM_SETMODIFY (WM_USER+9)
2058 #define EM_GETLINECOUNT (WM_USER+10)
2059 #define EM_LINEINDEX (WM_USER+11)
2060 #define EM_SETHANDLE (WM_USER+12)
2061 #define EM_GETHANDLE (WM_USER+13)
2062 #define EM_LINELENGTH (WM_USER+17)
2063 #define EM_REPLACESEL (WM_USER+18)
2064 #define EM_GETLINE (WM_USER+20)
2065 #define EM_LIMITTEXT (WM_USER+21)
2066 #define EM_CANUNDO (WM_USER+22)
2067 #define EM_UNDO (WM_USER+23)
2068 #define EM_FMTLINES (WM_USER+24)
2069 #define EM_LINEFROMCHAR (WM_USER+25)
2070 #define EM_SETTABSTOPS (WM_USER+27)
2071 #define EM_SETPASSWORDCHAR (WM_USER+28)
2072 #define EM_EMPTYUNDOBUFFER (WM_USER+29)
2073 #define EM_GETFIRSTVISIBLELINE (WM_USER+30)
2074 #define EM_SETREADONLY (WM_USER+31)
2075 #define EM_SETWORDBREAKPROC (WM_USER+32)
2076 #define EM_GETWORDBREAKPROC (WM_USER+33)
2077 #define EM_GETPASSWORDCHAR (WM_USER+34)
2079 typedef int (CALLBACK *EDITWORDBREAKPROC)(LPSTR lpch, int ichCurrent,
2080 int cch, int code);
2082 /* EDITWORDBREAKPROC code values */
2083 #define WB_LEFT 0
2084 #define WB_RIGHT 1
2085 #define WB_ISDELIMITER 2
2087 /* Edit control notification codes */
2088 #define EN_SETFOCUS 0x0100
2089 #define EN_KILLFOCUS 0x0200
2090 #define EN_CHANGE 0x0300
2091 #define EN_UPDATE 0x0400
2092 #define EN_ERRSPACE 0x0500
2093 #define EN_MAXTEXT 0x0501
2094 #define EN_HSCROLL 0x0601
2095 #define EN_VSCROLL 0x0602
2098 #define WM_DRAWITEM 0x002B
2100 typedef struct
2102 UINT CtlType;
2103 UINT CtlID;
2104 UINT itemID;
2105 UINT itemAction;
2106 UINT itemState;
2107 HWND hwndItem;
2108 HDC hDC;
2109 RECT rcItem WINE_PACKED;
2110 DWORD itemData WINE_PACKED;
2111 } DRAWITEMSTRUCT;
2112 typedef DRAWITEMSTRUCT NEAR* PDRAWITEMSTRUCT;
2113 typedef DRAWITEMSTRUCT FAR* LPDRAWITEMSTRUCT;
2115 #define WM_MEASUREITEM 0x002C
2117 typedef struct
2119 UINT CtlType;
2120 UINT CtlID;
2121 UINT itemID;
2122 UINT itemWidth;
2123 UINT itemHeight;
2124 DWORD itemData WINE_PACKED;
2125 } MEASUREITEMSTRUCT;
2126 typedef MEASUREITEMSTRUCT NEAR* PMEASUREITEMSTRUCT;
2127 typedef MEASUREITEMSTRUCT FAR* LPMEASUREITEMSTRUCT;
2129 #define WM_DELETEITEM 0x002D
2131 typedef struct
2133 UINT CtlType;
2134 UINT CtlID;
2135 UINT itemID;
2136 HWND hwndItem;
2137 DWORD itemData;
2138 } DELETEITEMSTRUCT;
2139 typedef DELETEITEMSTRUCT NEAR* PDELETEITEMSTRUCT;
2140 typedef DELETEITEMSTRUCT FAR* LPDELETEITEMSTRUCT;
2142 #define WM_COMPAREITEM 0x0039
2144 typedef struct
2146 UINT CtlType;
2147 UINT CtlID;
2148 HWND hwndItem;
2149 UINT itemID1;
2150 DWORD itemData1;
2151 UINT itemID2;
2152 DWORD itemData2 WINE_PACKED;
2153 } COMPAREITEMSTRUCT;
2154 typedef COMPAREITEMSTRUCT NEAR* PCOMPAREITEMSTRUCT;
2155 typedef COMPAREITEMSTRUCT FAR* LPCOMPAREITEMSTRUCT;
2157 /* Virtual key codes */
2158 #define VK_LBUTTON 0x01
2159 #define VK_RBUTTON 0x02
2160 #define VK_CANCEL 0x03
2161 #define VK_MBUTTON 0x04
2162 #define VK_BACK 0x08
2163 #define VK_TAB 0x09
2164 #define VK_CLEAR 0x0C
2165 #define VK_RETURN 0x0D
2166 #define VK_SHIFT 0x10
2167 #define VK_CONTROL 0x11
2168 #define VK_MENU 0x12
2169 #define VK_PAUSE 0x13
2170 #define VK_CAPITAL 0x14
2171 #define VK_ESCAPE 0x1B
2172 #define VK_SPACE 0x20
2173 #define VK_PRIOR 0x21
2174 #define VK_NEXT 0x22
2175 #define VK_END 0x23
2176 #define VK_HOME 0x24
2177 #define VK_LEFT 0x25
2178 #define VK_UP 0x26
2179 #define VK_RIGHT 0x27
2180 #define VK_DOWN 0x28
2181 #define VK_SELECT 0x29
2182 #define VK_PRINT 0x2A
2183 #define VK_EXECUTE 0x2B
2184 #define VK_SNAPSHOT 0x2C
2185 #define VK_INSERT 0x2D
2186 #define VK_DELETE 0x2E
2187 #define VK_HELP 0x2F
2188 #define VK_NUMPAD0 0x60
2189 #define VK_NUMPAD1 0x61
2190 #define VK_NUMPAD2 0x62
2191 #define VK_NUMPAD3 0x63
2192 #define VK_NUMPAD4 0x64
2193 #define VK_NUMPAD5 0x65
2194 #define VK_NUMPAD6 0x66
2195 #define VK_NUMPAD7 0x67
2196 #define VK_NUMPAD8 0x68
2197 #define VK_NUMPAD9 0x69
2198 #define VK_MULTIPLY 0x6A
2199 #define VK_ADD 0x6B
2200 #define VK_SEPARATOR 0x6C
2201 #define VK_SUBTRACT 0x6D
2202 #define VK_DECIMAL 0x6E
2203 #define VK_DIVIDE 0x6F
2204 #define VK_F1 0x70
2205 #define VK_F2 0x71
2206 #define VK_F3 0x72
2207 #define VK_F4 0x73
2208 #define VK_F5 0x74
2209 #define VK_F6 0x75
2210 #define VK_F7 0x76
2211 #define VK_F8 0x77
2212 #define VK_F9 0x78
2213 #define VK_F10 0x79
2214 #define VK_F11 0x7A
2215 #define VK_F12 0x7B
2216 #define VK_F13 0x7C
2217 #define VK_F14 0x7D
2218 #define VK_F15 0x7E
2219 #define VK_F16 0x7F
2220 #define VK_F17 0x80
2221 #define VK_F18 0x81
2222 #define VK_F19 0x82
2223 #define VK_F20 0x83
2224 #define VK_F21 0x84
2225 #define VK_F22 0x85
2226 #define VK_F23 0x86
2227 #define VK_F24 0x87
2228 #define VK_NUMLOCK 0x90
2229 #define VK_SCROLL 0x91
2232 #define LMEM_FIXED 0
2233 #define LMEM_MOVEABLE 0x0002
2234 #define LMEM_NOCOMPACT 0x0010
2235 #define LMEM_NODISCARD 0x0020
2236 #define LMEM_ZEROINIT 0x0040
2237 #define LMEM_MODIFY 0x0080
2238 #define LMEM_DISCARDABLE 0x0F00
2239 #define LMEM_WINE_ALIGN 0x1000
2241 #define GMEM_FIXED 0x0000
2242 #define GMEM_MOVEABLE 0x0002
2243 #define GMEM_NOCOMPACT 0x0010
2244 #define GMEM_NODISCARD 0x0020
2245 #define GMEM_ZEROINIT 0x0040
2246 #define GMEM_MODIFY 0x0080
2247 #define GMEM_DISCARDABLE 0x0100
2248 #define GMEM_NOT_BANKED 0x1000
2249 #define GMEM_SHARE 0x2000
2250 #define GMEM_DDESHARE 0x2000
2251 #define GMEM_NOTIFY 0x4000
2252 #define GMEM_LOWER GMEM_NOT_BANKED
2253 #define GMEM_DISCARDED 0x4000
2254 #define GMEM_LOCKCOUNT 0x00ff
2256 #define GHND (GMEM_MOVEABLE | GMEM_ZEROINIT)
2257 #define GPTR (GMEM_FIXED | GMEM_ZEROINIT)
2260 /* Predefined Clipboard Formats */
2261 #define CF_TEXT 1
2262 #define CF_BITMAP 2
2263 #define CF_METAFILEPICT 3
2264 #define CF_SYLK 4
2265 #define CF_DIF 5
2266 #define CF_TIFF 6
2267 #define CF_OEMTEXT 7
2268 #define CF_DIB 8
2269 #define CF_PALETTE 9
2270 #define CF_PENDATA 10
2271 #define CF_RIFF 11
2272 #define CF_WAVE 12
2274 #define CF_OWNERDISPLAY 0x0080
2275 #define CF_DSPTEXT 0x0081
2276 #define CF_DSPBITMAP 0x0082
2277 #define CF_DSPMETAFILEPICT 0x0083
2279 /* "Private" formats don't get GlobalFree()'d */
2280 #define CF_PRIVATEFIRST 0x0200
2281 #define CF_PRIVATELAST 0x02FF
2283 /* "GDIOBJ" formats do get DeleteObject()'d */
2284 #define CF_GDIOBJFIRST 0x0300
2285 #define CF_GDIOBJLAST 0x03FF
2287 /* Clipboard command messages */
2288 #define WM_CUT 0x0300
2289 #define WM_COPY 0x0301
2290 #define WM_PASTE 0x0302
2291 #define WM_CLEAR 0x0303
2292 #define WM_UNDO 0x0304
2294 /* Clipboard owner messages */
2295 #define WM_RENDERFORMAT 0x0305
2296 #define WM_RENDERALLFORMATS 0x0306
2297 #define WM_DESTROYCLIPBOARD 0x0307
2299 /* Clipboard viewer messages */
2300 #define WM_DRAWCLIPBOARD 0x0308
2301 #define WM_PAINTCLIPBOARD 0x0309
2302 #define WM_SIZECLIPBOARD 0x030B
2303 #define WM_VSCROLLCLIPBOARD 0x030A
2304 #define WM_HSCROLLCLIPBOARD 0x030E
2305 #define WM_ASKCBFORMATNAME 0x030C
2306 #define WM_CHANGECBCHAIN 0x030D
2308 /* Metafile header structure */
2309 typedef struct
2311 WORD mtType;
2312 WORD mtHeaderSize;
2313 WORD mtVersion;
2314 DWORD mtSize WINE_PACKED;
2315 WORD mtNoObjects;
2316 DWORD mtMaxRecord WINE_PACKED;
2317 WORD mtNoParameters;
2318 } METAHEADER;
2320 /* Metafile typical record structure */
2321 typedef struct
2323 DWORD rdSize;
2324 WORD rdFunction;
2325 WORD rdParam[1];
2326 } METARECORD;
2327 typedef METARECORD *PMETARECORD;
2328 typedef METARECORD *LPMETARECORD;
2330 /* Handle table structure */
2331 typedef struct
2333 HANDLE objectHandle[1];
2334 } HANDLETABLE;
2335 typedef HANDLETABLE *PHANDLETABLE;
2336 typedef HANDLETABLE *LPHANDLETABLE;
2338 /* Clipboard metafile picture structure */
2339 typedef struct
2341 INT mm;
2342 INT xExt;
2343 INT yExt;
2344 HMETAFILE hMF;
2345 } METAFILEPICT;
2346 typedef METAFILEPICT *LPMETAFILEPICT;
2348 /* Metafile functions */
2349 #define META_SETBKCOLOR 0x0201
2350 #define META_SETBKMODE 0x0102
2351 #define META_SETMAPMODE 0x0103
2352 #define META_SETROP2 0x0104
2353 #define META_SETRELABS 0x0105
2354 #define META_SETPOLYFILLMODE 0x0106
2355 #define META_SETSTRETCHBLTMODE 0x0107
2356 #define META_SETTEXTCHAREXTRA 0x0108
2357 #define META_SETTEXTCOLOR 0x0209
2358 #define META_SETTEXTJUSTIFICATION 0x020A
2359 #define META_SETWINDOWORG 0x020B
2360 #define META_SETWINDOWEXT 0x020C
2361 #define META_SETVIEWPORTORG 0x020D
2362 #define META_SETVIEWPORTEXT 0x020E
2363 #define META_OFFSETWINDOWORG 0x020F
2364 #define META_SCALEWINDOWEXT 0x0410
2365 #define META_OFFSETVIEWPORTORG 0x0211
2366 #define META_SCALEVIEWPORTEXT 0x0412
2367 #define META_LINETO 0x0213
2368 #define META_MOVETO 0x0214
2369 #define META_EXCLUDECLIPRECT 0x0415
2370 #define META_INTERSECTCLIPRECT 0x0416
2371 #define META_ARC 0x0817
2372 #define META_ELLIPSE 0x0418
2373 #define META_FLOODFILL 0x0419
2374 #define META_PIE 0x081A
2375 #define META_RECTANGLE 0x041B
2376 #define META_ROUNDRECT 0x061C
2377 #define META_PATBLT 0x061D
2378 #define META_SAVEDC 0x001E
2379 #define META_SETPIXEL 0x041F
2380 #define META_OFFSETCLIPRGN 0x0220
2381 #define META_TEXTOUT 0x0521
2382 #define META_BITBLT 0x0922
2383 #define META_STRETCHBLT 0x0B23
2384 #define META_POLYGON 0x0324
2385 #define META_POLYLINE 0x0325
2386 #define META_ESCAPE 0x0626
2387 #define META_RESTOREDC 0x0127
2388 #define META_FILLREGION 0x0228
2389 #define META_FRAMEREGION 0x0429
2390 #define META_INVERTREGION 0x012A
2391 #define META_PAINTREGION 0x012B
2392 #define META_SELECTCLIPREGION 0x012C
2393 #define META_SELECTOBJECT 0x012D
2394 #define META_SETTEXTALIGN 0x012E
2395 #define META_DRAWTEXT 0x062F
2396 #define META_CHORD 0x0830
2397 #define META_SETMAPPERFLAGS 0x0231
2398 #define META_EXTTEXTOUT 0x0A32
2399 #define META_SETDIBTODEV 0x0D33
2400 #define META_SELECTPALETTE 0x0234
2401 #define META_REALIZEPALETTE 0x0035
2402 #define META_ANIMATEPALETTE 0x0436
2403 #define META_SETPALENTRIES 0x0037
2404 #define META_POLYPOLYGON 0x0538
2405 #define META_RESIZEPALETTE 0x0139
2406 #define META_DIBBITBLT 0x0940
2407 #define META_DIBSTRETCHBLT 0x0B41
2408 #define META_DIBCREATEPATTERNBRUSH 0x0142
2409 #define META_STRETCHDIB 0x0F43
2410 #define META_EXTFLOODFILL 0x0548
2411 #define META_RESETDC 0x014C
2412 #define META_STARTDOC 0x014D
2413 #define META_STARTPAGE 0x004F
2414 #define META_ENDPAGE 0x0050
2415 #define META_ABORTDOC 0x0052
2416 #define META_ENDDOC 0x005E
2417 #define META_DELETEOBJECT 0x01F0
2418 #define META_CREATEPALETTE 0x00F7
2419 #define META_CREATEBRUSH 0x00F8
2420 #define META_CREATEPATTERNBRUSH 0x01F9
2421 #define META_CREATEPENINDIRECT 0x02FA
2422 #define META_CREATEFONTINDIRECT 0x02FB
2423 #define META_CREATEBRUSHINDIRECT 0x02FC
2424 #define META_CREATEBITMAPINDIRECT 0x02FD
2425 #define META_CREATEBITMAP 0x06FE
2426 #define META_CREATEREGION 0x06FF
2428 /* Debugging support (DEBUG SYSTEM ONLY) */
2429 typedef struct
2431 UINT flags;
2432 DWORD dwOptions WINE_PACKED;
2433 DWORD dwFilter WINE_PACKED;
2434 char achAllocModule[8] WINE_PACKED;
2435 DWORD dwAllocBreak WINE_PACKED;
2436 DWORD dwAllocCount WINE_PACKED;
2437 } WINDEBUGINFO, *LPWINDEBUGINFO;
2439 /* WINDEBUGINFO flags values */
2440 #define WDI_OPTIONS 0x0001
2441 #define WDI_FILTER 0x0002
2442 #define WDI_ALLOCBREAK 0x0004
2444 /* dwOptions values */
2445 #define DBO_CHECKHEAP 0x0001
2446 #define DBO_BUFFERFILL 0x0004
2447 #define DBO_DISABLEGPTRAPPING 0x0010
2448 #define DBO_CHECKFREE 0x0020
2450 #define DBO_SILENT 0x8000
2452 #define DBO_TRACEBREAK 0x2000
2453 #define DBO_WARNINGBREAK 0x1000
2454 #define DBO_NOERRORBREAK 0x0800
2455 #define DBO_NOFATALBREAK 0x0400
2456 #define DBO_INT3BREAK 0x0100
2458 /* DebugOutput flags values */
2459 #define DBF_TRACE 0x0000
2460 #define DBF_WARNING 0x4000
2461 #define DBF_ERROR 0x8000
2462 #define DBF_FATAL 0xc000
2464 /* dwFilter values */
2465 #define DBF_KERNEL 0x1000
2466 #define DBF_KRN_MEMMAN 0x0001
2467 #define DBF_KRN_LOADMODULE 0x0002
2468 #define DBF_KRN_SEGMENTLOAD 0x0004
2469 #define DBF_USER 0x0800
2470 #define DBF_GDI 0x0400
2471 #define DBF_MMSYSTEM 0x0040
2472 #define DBF_PENWIN 0x0020
2473 #define DBF_APPLICATION 0x0008
2474 #define DBF_DRIVER 0x0010
2477 #ifndef WINELIB
2478 #pragma pack(4)
2479 #endif
2481 INT AccessResource(HINSTANCE,HRSRC);
2482 ATOM AddAtom(SEGPTR);
2483 INT AddFontResource(LPCSTR);
2484 void AdjustWindowRect(LPRECT,DWORD,BOOL);
2485 void AdjustWindowRectEx(LPRECT,DWORD,BOOL,DWORD);
2486 WORD AllocCStoDSAlias(WORD);
2487 WORD AllocDStoCSAlias(WORD);
2488 HGLOBAL AllocResource(HINSTANCE,HRSRC,DWORD);
2489 WORD AllocSelector(WORD);
2490 WORD AllocSelectorArray(WORD);
2491 void AnimatePalette(HPALETTE,UINT,UINT,LPPALETTEENTRY);
2492 LPSTR AnsiLower(LPSTR);
2493 UINT AnsiLowerBuff(LPSTR,UINT);
2494 SEGPTR AnsiNext(SEGPTR);
2495 SEGPTR AnsiPrev(SEGPTR,SEGPTR);
2496 INT AnsiToOem(LPSTR,LPSTR);
2497 void AnsiToOemBuff(LPSTR,LPSTR,INT);
2498 LPSTR AnsiUpper(LPSTR);
2499 UINT AnsiUpperBuff(LPSTR,UINT);
2500 BOOL AnyPopup(void);
2501 BOOL AppendMenu(HMENU,UINT,UINT,LPSTR);
2502 BOOL Arc(HDC,int,int,int,int,int,int,int,int);
2503 WORD ArrangeIconicWindows(HWND);
2504 HDWP BeginDeferWindowPos(INT);
2505 HDC BeginPaint(HWND,LPPAINTSTRUCT);
2506 BOOL BitBlt(HDC,short,short,short,short,HDC,short,short,DWORD);
2507 BOOL BringWindowToTop(HWND);
2508 int BuildCommDCB(LPSTR,DCB*);
2509 BOOL CallMsgFilter(SEGPTR,short);
2510 DWORD CallNextHookEx(HHOOK,short,WPARAM,LPARAM);
2511 LONG CallWindowProc(WNDPROC,HWND,UINT,WPARAM,LPARAM);
2512 int Catch(LPCATCHBUF);
2513 BOOL ChangeClipboardChain(HWND,HWND);
2514 BOOL ChangeMenu(HMENU,UINT,LPSTR,UINT,UINT);
2515 WORD ChangeSelector(WORD,WORD);
2516 void CheckDlgButton(HWND,WORD,WORD);
2517 BOOL CheckMenuItem(HMENU,UINT,UINT);
2518 void CheckRadioButton(HWND,WORD,WORD,WORD);
2519 HWND ChildWindowFromPoint(HWND,POINT);
2520 BOOL Chord(HDC,int,int,int,int,int,int,int,int);
2521 int ClearCommBreak(int);
2522 void ClientToScreen(HWND,LPPOINT);
2523 void ClipCursor(LPRECT);
2524 BOOL CloseClipboard(void);
2525 int CloseComm(int);
2526 HMETAFILE CloseMetaFile(HANDLE);
2527 void CloseSound(void);
2528 void CloseWindow(HWND);
2529 int CombineRgn(HRGN,HRGN,HRGN,short);
2530 int ConvertRequest(HWND,LPKANJISTRUCT);
2531 HANDLE CopyMetaFile(HANDLE,LPSTR);
2532 void CopyRect(LPRECT,LPRECT);
2533 int CountClipboardFormats(void);
2534 int CountVoiceNotes(int);
2535 HBITMAP CreateBitmap(short,short,BYTE,BYTE,LPSTR);
2536 HBITMAP CreateBitmapIndirect(BITMAP*);
2537 HBRUSH CreateBrushIndirect(LOGBRUSH*);
2538 void CreateCaret(HWND,HBITMAP,short,short);
2539 HBITMAP CreateCompatibleBitmap(HDC,short,short);
2540 HDC CreateCompatibleDC(HDC);
2541 HCURSOR CreateCursor(HANDLE,INT,INT,INT,INT,LPSTR,LPSTR);
2542 HANDLE CreateCursorIconIndirect(HANDLE,CURSORICONINFO*,LPSTR,LPSTR);
2543 HDC CreateDC(LPSTR,LPSTR,LPSTR,LPSTR);
2544 HBRUSH CreateDIBPatternBrush(HANDLE,WORD);
2545 HBITMAP CreateDIBitmap(HDC,LPBITMAPINFOHEADER,DWORD,LPSTR,LPBITMAPINFO,WORD);
2546 HWND CreateDialog(HANDLE,SEGPTR,HWND,WNDPROC);
2547 HWND CreateDialogIndirect(HANDLE,SEGPTR,HWND,WNDPROC);
2548 HWND CreateDialogIndirectParam(HANDLE,SEGPTR,HWND,WNDPROC,LPARAM);
2549 HWND CreateDialogParam(HANDLE,SEGPTR,HWND,WNDPROC,LPARAM);
2550 HBITMAP CreateDiscardableBitmap(HDC,short,short);
2551 HRGN CreateEllipticRgn(short,short,short,short);
2552 HRGN CreateEllipticRgnIndirect(LPRECT);
2553 HFONT CreateFont(int,int,int,int,int,BYTE,BYTE,BYTE,BYTE,BYTE,BYTE,BYTE,BYTE,LPSTR);
2554 HFONT CreateFontIndirect(LOGFONT*);
2555 HBRUSH CreateHatchBrush(short,COLORREF);
2556 HDC CreateIC(LPSTR,LPSTR,LPSTR,LPSTR);
2557 HICON CreateIcon(HANDLE,INT,INT,BYTE,BYTE,LPSTR,LPSTR);
2558 HMENU CreateMenu(void);
2559 HANDLE CreateMetaFile(LPSTR);
2560 HPALETTE CreatePalette(LPLOGPALETTE);
2561 HBRUSH CreatePatternBrush(HBITMAP);
2562 HPEN CreatePen(short,short,COLORREF);
2563 HPEN CreatePenIndirect(LOGPEN*);
2564 HRGN CreatePolyPolygonRgn(LPPOINT,LPINT,INT,INT);
2565 HRGN CreatePolygonRgn(LPPOINT,INT,INT);
2566 HMENU CreatePopupMenu(void);
2567 HRGN CreateRectRgn(short,short,short,short);
2568 HRGN CreateRectRgnIndirect(LPRECT);
2569 HRGN CreateRoundRectRgn(short,short,short,short,short,short);
2570 HBRUSH CreateSolidBrush(DWORD);
2571 HWND CreateWindow(SEGPTR,SEGPTR,DWORD,INT,INT,INT,INT,HWND,HMENU,HINSTANCE,SEGPTR);
2572 HWND CreateWindowEx(DWORD,SEGPTR,SEGPTR,DWORD,INT,INT,INT,INT,HWND,HMENU,HINSTANCE,SEGPTR);
2573 BOOL DPtoLP(HDC,LPPOINT,int);
2574 void DebugBreak(void);
2575 LONG DefDlgProc(HWND,UINT,WPARAM,LPARAM);
2576 LONG DefFrameProc(HWND,HWND,UINT,WPARAM,LPARAM);
2577 DWORD DefHookProc(short,WORD,DWORD,HHOOK*);
2578 LONG DefMDIChildProc(HWND,UINT,WPARAM,LPARAM);
2579 LRESULT DefWindowProc(HWND,UINT,WPARAM,LPARAM);
2580 HDWP DeferWindowPos(HDWP,HWND,HWND,INT,INT,INT,INT,WORD);
2581 ATOM DeleteAtom(ATOM);
2582 BOOL DeleteDC(HDC);
2583 BOOL DeleteMenu(HMENU,UINT,UINT);
2584 BOOL DeleteMetaFile(HMETAFILE);
2585 BOOL DeleteObject(HANDLE);
2586 void DestroyCaret(void);
2587 BOOL DestroyCursor(HCURSOR);
2588 BOOL DestroyIcon(HICON);
2589 BOOL DestroyMenu(HMENU);
2590 BOOL DestroyWindow(HWND);
2591 int DialogBox(HINSTANCE,SEGPTR,HWND,WNDPROC);
2592 int DialogBoxIndirect(HANDLE,HANDLE,HWND,WNDPROC);
2593 int DialogBoxIndirectParam(HANDLE,HANDLE,HWND,WNDPROC,LONG);
2594 int DialogBoxParam(HANDLE,SEGPTR,HWND,WNDPROC,LONG);
2595 HANDLE DirectResAlloc(HANDLE,WORD,WORD);
2596 void DirectedYield(HTASK);
2597 LONG DispatchMessage(LPMSG);
2598 int DlgDirList(HWND,LPSTR,int,int,WORD);
2599 int DlgDirListComboBox(HWND,SEGPTR,int,int,WORD);
2600 BOOL DlgDirSelect(HWND,LPSTR,int);
2601 BOOL DlgDirSelectComboBox(HWND,LPSTR,int);
2602 BOOL DragDetect(HWND,POINT);
2603 DWORD DragObject(HWND, HWND, WORD, WORD, WORD, HCURSOR);
2604 void DrawFocusRect(HDC,LPRECT);
2605 BOOL DrawIcon(HDC,short,short,HICON);
2606 void DrawMenuBar(HWND);
2607 int DrawText(HDC,LPSTR,int,LPRECT,WORD);
2608 DWORD DumpIcon(SEGPTR,WORD*,SEGPTR*,SEGPTR*);
2609 BOOL Ellipse(HDC,int,int,int,int);
2610 BOOL EmptyClipboard(void);
2611 BOOL EnableHardwareInput(BOOL);
2612 BOOL EnableMenuItem(HMENU,UINT,UINT);
2613 BOOL EnableScrollBar(HWND,INT,UINT);
2614 BOOL EnableWindow(HWND,BOOL);
2615 BOOL EndDeferWindowPos(HDWP);
2616 void EndDialog(HWND,short);
2617 void EndPaint(HWND,LPPAINTSTRUCT);
2618 BOOL EnumChildWindows(HWND,FARPROC,LONG);
2619 WORD EnumClipboardFormats(WORD);
2620 int EnumFonts(HDC,LPSTR,FARPROC,LPSTR);
2621 BOOL EnumMetaFile(HDC,LOCALHANDLE,FARPROC,BYTE*);
2622 int EnumObjects(HDC,int,FARPROC,LPSTR);
2623 int EnumProps(HWND,FARPROC);
2624 BOOL EnumTaskWindows(HANDLE,FARPROC,LONG);
2625 BOOL EnumWindows(FARPROC,LONG);
2626 BOOL EqualRect(LPRECT,LPRECT);
2627 BOOL EqualRgn(HRGN,HRGN);
2628 int Escape(HDC,int,int,LPSTR,LPSTR);
2629 LONG EscapeCommFunction(int,int);
2630 int ExcludeClipRect(HDC,short,short,short,short);
2631 int ExcludeUpdateRgn(HDC,HWND);
2632 int ExcludeVisRect(HDC,short,short,short,short);
2633 BOOL ExitWindows(DWORD,WORD);
2634 BOOL ExtFloodFill(HDC,INT,INT,COLORREF,WORD);
2635 BOOL ExtTextOut(HDC,short,short,WORD,LPRECT,LPSTR,WORD,LPINT);
2636 WORD FarGetOwner(HANDLE);
2637 void FarSetOwner(HANDLE,WORD);
2638 void FatalExit(int);
2639 int FillRect(HDC,LPRECT,HBRUSH);
2640 BOOL FillRgn(HDC,HRGN,HBRUSH);
2641 void FillWindow(HWND,HWND,HDC,HBRUSH);
2642 ATOM FindAtom(SEGPTR);
2643 HANDLE FindResource(HANDLE,SEGPTR,SEGPTR);
2644 HWND FindWindow(SEGPTR,LPSTR);
2645 BOOL FlashWindow(HWND,BOOL);
2646 BOOL FloodFill(HDC,INT,INT,COLORREF);
2647 int FlushComm(int,int);
2648 int FrameRect(HDC,LPRECT,HBRUSH);
2649 BOOL FrameRgn(HDC,HRGN,HBRUSH,int,int);
2650 void FreeLibrary(HANDLE);
2651 BOOL FreeModule(HANDLE);
2652 void FreeProcInstance(FARPROC);
2653 BOOL FreeResource(HANDLE);
2654 WORD FreeSelector(WORD);
2655 UINT GDIRealizePalette(HDC);
2656 HPALETTE GDISelectPalette(HDC,HPALETTE);
2657 HWND GetActiveWindow(void);
2658 DWORD GetAspectRatioFilter(HDC);
2659 int GetAsyncKeyState(int);
2660 HANDLE GetAtomHandle(ATOM);
2661 WORD GetAtomName(ATOM,LPSTR,short);
2662 LONG GetBitmapBits(HBITMAP,LONG,LPSTR);
2663 DWORD GetBitmapDimension(HBITMAP);
2664 BOOL GetBitmapDimensionEx(HBITMAP,LPSIZE);
2665 COLORREF GetBkColor(HDC);
2666 WORD GetBkMode(HDC);
2667 DWORD GetBrushOrg(HDC);
2668 BOOL GetBrushOrgEx(HDC,LPPOINT);
2669 HWND GetCapture(void);
2670 WORD GetCaretBlinkTime(void);
2671 void GetCaretPos(LPPOINT);
2672 BOOL GetCharWidth(HDC,WORD,WORD,LPINT);
2673 BOOL GetClassInfo(HANDLE,SEGPTR,LPWNDCLASS);
2674 LONG GetClassLong(HWND,short);
2675 int GetClassName(HWND,LPSTR,short);
2676 WORD GetClassWord(HWND,short);
2677 void GetClientRect(HWND,LPRECT);
2678 int GetClipBox(HDC,LPRECT);
2679 HRGN GetClipRgn(HDC);
2680 HANDLE GetClipboardData(WORD);
2681 int GetClipboardFormatName(WORD,LPSTR,short);
2682 HWND GetClipboardOwner(void);
2683 HWND GetClipboardViewer(void);
2684 HANDLE GetCodeHandle(FARPROC);
2685 void GetCodeInfo(FARPROC,LPVOID);
2686 int GetCommError(int,COMSTAT*);
2687 UINT GetCommEventMask(int,int);
2688 int GetCommState(int,DCB*);
2689 HBRUSH GetControlBrush(HWND,HDC,WORD);
2690 HANDLE GetCurrentPDB(void);
2691 DWORD GetCurrentPosition(HDC);
2692 BOOL GetCurrentPositionEx(HDC,LPPOINT);
2693 HANDLE GetCurrentTask(void);
2694 DWORD GetCurrentTime(void);
2695 HCURSOR GetCursor(void);
2696 void GetCursorPos(LPPOINT);
2697 HDC GetDC(HWND);
2698 HDC GetDCEx(HWND,HRGN,DWORD);
2699 DWORD GetDCOrg(HDC);
2700 HDC GetDCState(HDC);
2701 int GetDIBits(HDC,HANDLE,WORD,WORD,LPSTR,LPBITMAPINFO,WORD);
2702 SEGPTR GetDOSEnvironment(void);
2703 HWND GetDesktopHwnd(void);
2704 HWND GetDesktopWindow(void);
2705 int GetDeviceCaps(HDC,WORD);
2706 DWORD GetDialogBaseUnits(void);
2707 int GetDlgCtrlID(HWND);
2708 HWND GetDlgItem(HWND,WORD);
2709 WORD GetDlgItemInt(HWND,WORD,BOOL*,BOOL);
2710 int GetDlgItemText(HWND,WORD,SEGPTR,WORD);
2711 WORD GetDoubleClickTime(void);
2712 WORD GetDriveType(INT);
2713 int GetEnvironment(LPSTR,LPSTR,WORD);
2714 HMODULE GetExePtr(HANDLE);
2715 HWND GetFocus(void);
2716 DWORD GetFreeSpace(WORD);
2717 DWORD GetHeapSpaces(HMODULE);
2718 BOOL GetInputState(void);
2719 int GetInstanceData(HANDLE,WORD,int);
2720 WORD GetInternalWindowPos(HWND,LPRECT,LPPOINT);
2721 int GetKBCodePage(void);
2722 int GetKeyNameText(LONG,LPSTR,int);
2723 int GetKeyState(int);
2724 void GetKeyboardState(BYTE*);
2725 int GetKeyboardType(int);
2726 HWND GetLastActivePopup(HWND);
2727 WORD GetMapMode(HDC);
2728 HMENU GetMenu(HWND);
2729 DWORD GetMenuCheckMarkDimensions(void);
2730 WORD GetMenuItemCount(HMENU);
2731 UINT GetMenuItemID(HMENU,int);
2732 UINT GetMenuState(HMENU,UINT,UINT);
2733 int GetMenuString(HMENU,UINT,LPSTR,short,UINT);
2734 BOOL GetMessage(SEGPTR,HWND,UINT,UINT);
2735 LONG GetMessageExtraInfo(void);
2736 DWORD GetMessagePos(void);
2737 LONG GetMessageTime(void);
2738 HANDLE GetMetaFile(LPSTR);
2739 HANDLE GetMetaFileBits(HANDLE);
2740 int GetModuleFileName(HANDLE,LPSTR,short);
2741 HANDLE GetModuleHandle(LPCSTR);
2742 int GetModuleUsage(HANDLE);
2743 FARPROC GetMouseEventProc(void);
2744 DWORD GetNearestColor(HDC,DWORD);
2745 WORD GetNearestPaletteIndex(HPALETTE,DWORD);
2746 HWND GetNextDlgGroupItem(HWND,HWND,BOOL);
2747 HWND GetNextDlgTabItem(HWND,HWND,BOOL);
2748 HWND GetNextWindow(HWND,WORD);
2749 WORD GetNumTasks(void);
2750 int GetObject(HANDLE,int,LPSTR);
2751 HWND GetOpenClipboardWindow(void);
2752 WORD GetPaletteEntries(HPALETTE,WORD,WORD,LPPALETTEENTRY);
2753 HWND GetParent(HWND);
2754 DWORD GetPixel(HDC,short,short);
2755 WORD GetPolyFillMode(HDC);
2756 int GetPriorityClipboardFormat(WORD*,short);
2757 WORD GetPrivateProfileInt(LPSTR,LPSTR,short,LPSTR);
2758 short GetPrivateProfileString(LPSTR,LPSTR,LPSTR,LPSTR,short,LPSTR);
2759 FARPROC GetProcAddress(HANDLE,SEGPTR);
2760 WORD GetProfileInt(LPSTR,LPSTR,int);
2761 int GetProfileString(LPSTR,LPSTR,LPSTR,LPSTR,int);
2762 HANDLE GetProp(HWND,SEGPTR);
2763 WORD GetROP2(HDC);
2764 WORD GetRelAbs(HDC);
2765 int GetRgnBox(HRGN,LPRECT);
2766 int GetScrollPos(HWND,int);
2767 void GetScrollRange(HWND,int,LPINT,LPINT);
2768 DWORD GetSelectorBase(WORD);
2769 DWORD GetSelectorLimit(WORD);
2770 HANDLE GetStockObject(int);
2771 WORD GetStretchBltMode(HDC);
2772 HMENU GetSubMenu(HMENU,short);
2773 COLORREF GetSysColor(short);
2774 HWND GetSysModalWindow(void);
2775 UINT GetSystemDirectory(LPSTR,UINT);
2776 HMENU GetSystemMenu(HWND,BOOL);
2777 int GetSystemMetrics(WORD);
2778 WORD GetSystemPaletteEntries(HDC,WORD,WORD,LPPALETTEENTRY);
2779 WORD GetSystemPaletteUse(HDC);
2780 DWORD GetTabbedTextExtent(HDC,LPSTR,int,int,LPINT);
2781 HINSTANCE GetTaskDS(void);
2782 HGLOBAL GetTaskQueue(HTASK);
2783 BYTE GetTempDrive(BYTE);
2784 INT GetTempFileName(BYTE,LPCSTR,UINT,LPSTR);
2785 WORD GetTextAlign(HDC);
2786 short GetTextCharacterExtra(HDC);
2787 COLORREF GetTextColor(HDC);
2788 DWORD GetTextExtent(HDC,LPSTR,short);
2789 BOOL GetTextExtentPoint(HDC,LPSTR,short,LPSIZE);
2790 INT GetTextFace(HDC,INT,LPSTR);
2791 BOOL GetTextMetrics(HDC,LPTEXTMETRIC);
2792 LPINT GetThresholdEvent(void);
2793 int GetThresholdStatus(void);
2794 DWORD GetTickCount(void);
2795 HWND GetTopWindow(HWND);
2796 BOOL GetUpdateRect(HWND,LPRECT,BOOL);
2797 int GetUpdateRgn(HWND,HRGN,BOOL);
2798 LONG GetVersion(void);
2799 DWORD GetViewportExt(HDC);
2800 BOOL GetViewportExtEx(HDC,LPPOINT);
2801 DWORD GetViewportOrg(HDC);
2802 BOOL GetViewportOrgEx(HDC,LPPOINT);
2803 BOOL GetWinDebugInfo(LPWINDEBUGINFO,UINT);
2804 LONG GetWinFlags(void);
2805 HWND GetWindow(HWND,WORD);
2806 HDC GetWindowDC(HWND);
2807 DWORD GetWindowExt(HDC);
2808 BOOL GetWindowExtEx(HDC,LPPOINT);
2809 LONG GetWindowLong(HWND,short);
2810 DWORD GetWindowOrg(HDC);
2811 BOOL GetWindowOrgEx(HDC,LPPOINT);
2812 BOOL GetWindowPlacement(HWND,LPWINDOWPLACEMENT);
2813 void GetWindowRect(HWND,LPRECT);
2814 HANDLE GetWindowTask(HWND);
2815 int GetWindowText(HWND,LPSTR,int);
2816 int GetWindowTextLength(HWND);
2817 WORD GetWindowWord(HWND,short);
2818 UINT GetWindowsDirectory(LPSTR,UINT);
2819 ATOM GlobalAddAtom(SEGPTR);
2820 HGLOBAL GlobalAlloc(WORD,DWORD);
2821 #ifndef WINELIB32 /* Obsolete in Win32 */
2822 DWORD GlobalCompact(DWORD);
2823 #endif
2824 DWORD GlobalDOSAlloc(DWORD);
2825 WORD GlobalDOSFree(WORD);
2826 ATOM GlobalDeleteAtom(ATOM);
2827 ATOM GlobalFindAtom(SEGPTR);
2828 void GlobalFix(HGLOBAL);
2829 WORD GlobalFlags(HGLOBAL);
2830 HGLOBAL GlobalFree(HGLOBAL);
2831 void GlobalFreeAll(HANDLE);
2832 WORD GlobalGetAtomName(ATOM,LPSTR,short);
2833 #ifdef WINELIB32
2834 HGLOBAL GlobalHandle(LPCVOID);
2835 #else
2836 DWORD GlobalHandle(UINT);
2837 #endif
2838 HGLOBAL GlobalLRUNewest(HGLOBAL);
2839 HGLOBAL GlobalLRUOldest(HGLOBAL);
2840 LPVOID GlobalLock(HGLOBAL);
2841 void GlobalNotify(FARPROC);
2842 WORD GlobalPageLock(HGLOBAL);
2843 WORD GlobalPageUnlock(HGLOBAL);
2844 HGLOBAL GlobalReAlloc(HGLOBAL,DWORD,WORD);
2845 DWORD GlobalSize(HGLOBAL);
2846 BOOL GlobalUnWire(HGLOBAL);
2847 void GlobalUnfix(HGLOBAL);
2848 BOOL GlobalUnlock(HGLOBAL);
2849 SEGPTR GlobalWire(HGLOBAL);
2850 BOOL GrayString(HDC,HBRUSH,FARPROC,LPARAM,INT,INT,INT,INT,INT);
2851 void HideCaret(HWND);
2852 BOOL HiliteMenuItem(HWND,HMENU,UINT,UINT);
2853 BOOL InSendMessage(void);
2854 void InflateRect(LPRECT,short,short);
2855 WORD InitAtomTable(WORD);
2856 HRGN InquireVisRgn(HDC);
2857 BOOL InsertMenu(HMENU,UINT,UINT,UINT,LPSTR);
2858 int IntersectClipRect(HDC,short,short,short,short);
2859 BOOL IntersectRect(LPRECT,LPRECT,LPRECT);
2860 int IntersectVisRect(HDC,short,short,short,short);
2861 void InvalidateRect(HWND,LPRECT,BOOL);
2862 void InvalidateRgn(HWND,HRGN,BOOL);
2863 void InvertRect(HDC,LPRECT);
2864 BOOL InvertRgn(HDC,HRGN);
2865 BOOL IsBadCodePtr(SEGPTR);
2866 BOOL IsBadHugeReadPtr(SEGPTR,DWORD);
2867 BOOL IsBadHugeWritePtr(SEGPTR,DWORD);
2868 BOOL IsBadReadPtr(SEGPTR,WORD);
2869 BOOL IsBadStringPtr(SEGPTR,WORD);
2870 BOOL IsBadWritePtr(SEGPTR,WORD);
2871 BOOL IsCharAlpha(char);
2872 BOOL IsCharAlphaNumeric(char);
2873 BOOL IsCharLower(char);
2874 BOOL IsCharUpper(char);
2875 BOOL IsChild(HWND,HWND);
2876 BOOL IsClipboardFormatAvailable(WORD);
2877 BOOL IsDialogMessage(HWND,LPMSG);
2878 WORD IsDlgButtonChecked(HWND,WORD);
2879 BOOL IsIconic(HWND);
2880 BOOL IsRectEmpty(LPRECT);
2881 BOOL IsTwoByteCharPrefix(char);
2882 BOOL IsWindow(HWND);
2883 BOOL IsWindowEnabled(HWND);
2884 BOOL IsWindowVisible(HWND);
2885 BOOL IsZoomed(HWND);
2886 BOOL KillSystemTimer(HWND,WORD);
2887 BOOL KillTimer(HWND,WORD);
2888 BOOL LPtoDP(HDC,LPPOINT,int);
2889 void LimitEmsPages(DWORD);
2890 void LineDDA(short,short,short,short,FARPROC,long);
2891 BOOL LineTo(HDC,short,short);
2892 HANDLE LoadAccelerators(HANDLE,SEGPTR);
2893 HBITMAP LoadBitmap(HANDLE,SEGPTR);
2894 HCURSOR LoadCursor(HANDLE,SEGPTR);
2895 HICON LoadIcon(HANDLE,SEGPTR);
2896 HANDLE LoadLibrary(LPCSTR);
2897 HMENU LoadMenu(HANDLE,SEGPTR);
2898 HMENU LoadMenuIndirect(LPSTR);
2899 HANDLE LoadModule(LPCSTR,LPVOID);
2900 HANDLE LoadResource(HANDLE,HANDLE);
2901 int LoadString(HANDLE,WORD,LPSTR,int);
2902 HANDLE LocalAlloc(WORD,WORD);
2903 #ifndef WINELIB32 /* Obsolete in Win32 */
2904 UINT LocalCompact(WORD);
2905 #endif
2906 UINT LocalFlags(HLOCAL);
2907 HANDLE LocalFree(HANDLE);
2908 HANDLE LocalHandle(WORD);
2909 BOOL LocalInit(HANDLE,WORD,WORD);
2910 NPVOID LocalLock(HLOCAL);
2911 FARPROC LocalNotify(FARPROC);
2912 HANDLE LocalReAlloc(HANDLE,WORD,WORD);
2913 #ifndef WINELIB32 /* Obsolete in Win32 */
2914 UINT LocalShrink(HANDLE,WORD);
2915 #endif
2916 UINT LocalSize(HLOCAL);
2917 BOOL LocalUnlock(HANDLE);
2918 LPSTR LockResource(HANDLE);
2919 HGLOBAL LockSegment(HGLOBAL);
2920 HMENU LookupMenuHandle(HMENU,INT);
2921 FARPROC MakeProcInstance(FARPROC,HANDLE);
2922 void MapDialogRect(HWND,LPRECT);
2923 WORD MapVirtualKey(WORD,WORD);
2924 void MapWindowPoints(HWND,HWND,LPPOINT,WORD);
2925 void MessageBeep(WORD);
2926 int MessageBox(HWND,LPSTR,LPSTR,WORD);
2927 BOOL ModifyMenu(HMENU,UINT,UINT,UINT,LPSTR);
2928 DWORD MoveTo(HDC,short,short);
2929 BOOL MoveToEx(HDC,short,short,LPPOINT);
2930 BOOL MoveWindow(HWND,short,short,short,short,BOOL);
2931 int MulDiv(int,int,int);
2932 DWORD OemKeyScan(WORD);
2933 BOOL OemToAnsi(LPSTR,LPSTR);
2934 void OemToAnsiBuff(LPSTR,LPSTR,INT);
2935 int OffsetClipRgn(HDC,short,short);
2936 void OffsetRect(LPRECT,short,short);
2937 int OffsetRgn(HRGN,short,short);
2938 DWORD OffsetViewportOrg(HDC,short,short);
2939 BOOL OffsetViewportOrgEx(HDC,short,short,LPPOINT);
2940 DWORD OffsetWindowOrg(HDC,short,short);
2941 BOOL OffsetWindowOrgEx(HDC,short,short,LPPOINT);
2942 BOOL OpenClipboard(HWND);
2943 int OpenComm(LPSTR,UINT,UINT);
2944 INT OpenFile(LPCSTR,LPOFSTRUCT,UINT);
2945 BOOL OpenIcon(HWND);
2946 int OpenSound(void);
2947 void OutputDebugString(LPSTR);
2948 void PaintRect(HWND,HWND,HDC,HBRUSH,LPRECT);
2949 BOOL PaintRgn(HDC,HRGN);
2950 BOOL PatBlt(HDC,short,short,short,short,DWORD);
2951 BOOL PeekMessage(LPMSG,HWND,WORD,WORD,WORD);
2952 BOOL Pie(HDC,int,int,int,int,int,int,int,int);
2953 BOOL PlayMetaFile(HDC,HANDLE);
2954 void PlayMetaFileRecord(HDC,LPHANDLETABLE,LPMETARECORD,WORD);
2955 BOOL PolyPolygon(HDC,LPPOINT,LPINT,WORD);
2956 BOOL Polygon(HDC,LPPOINT,int);
2957 BOOL Polyline(HDC,LPPOINT,int);
2958 BOOL PostAppMessage(HANDLE,WORD,WORD,LONG);
2959 BOOL PostMessage(HWND,WORD,WORD,LONG);
2960 void PostQuitMessage(int);
2961 WORD PrestoChangoSelector(WORD,WORD);
2962 void ProfClear(void);
2963 void ProfFinish(void);
2964 void ProfFlush(void);
2965 int ProfInsChk(void);
2966 void ProfSampRate(int,int);
2967 void ProfSetup(int,int);
2968 void ProfStart(void);
2969 void ProfStop(void);
2970 BOOL PtInRect(LPRECT,POINT);
2971 BOOL PtInRegion(HRGN,short,short);
2972 BOOL PtVisible(HDC,short,short);
2973 int ReadComm(int,LPSTR,int);
2974 WORD RealizeDefaultPalette(HDC);
2975 UINT RealizePalette(HDC);
2976 BOOL RectInRegion(HRGN,LPRECT);
2977 BOOL RectVisible(HDC,LPRECT);
2978 BOOL Rectangle(HDC,int,int,int,int);
2979 BOOL RedrawWindow(HWND,LPRECT,HRGN,UINT);
2980 ATOM RegisterClass(LPWNDCLASS);
2981 WORD RegisterClipboardFormat(LPCSTR);
2982 WORD RegisterWindowMessage(SEGPTR);
2983 void ReleaseCapture(void);
2984 int ReleaseDC(HWND,HDC);
2985 BOOL RemoveFontResource(LPSTR);
2986 BOOL RemoveMenu(HMENU,UINT,UINT);
2987 HANDLE RemoveProp(HWND,SEGPTR);
2988 void ReplyMessage(LONG);
2989 BOOL ResizePalette(HPALETTE,UINT);
2990 BOOL RestoreDC(HDC,short);
2991 int RestoreVisRgn(HDC);
2992 BOOL RoundRect(HDC,short,short,short,short,short,short);
2993 int SaveDC(HDC);
2994 HRGN SaveVisRgn(HDC);
2995 DWORD ScaleViewportExt(HDC,short,short,short,short);
2996 BOOL ScaleViewportExtEx(HDC,short,short,short,short,LPSIZE);
2997 DWORD ScaleWindowExt(HDC,short,short,short,short);
2998 BOOL ScaleWindowExtEx(HDC,short,short,short,short,LPSIZE);
2999 void ScreenToClient(HWND,LPPOINT);
3000 BOOL ScrollDC(HDC,short,short,LPRECT,LPRECT,HRGN,LPRECT);
3001 void ScrollWindow(HWND,short,short,LPRECT,LPRECT);
3002 int ScrollWindowEx(HWND,short,short,LPRECT,LPRECT,HRGN,LPRECT,WORD);
3003 int SelectClipRgn(HDC,HRGN);
3004 HANDLE SelectObject(HDC,HANDLE);
3005 HPALETTE SelectPalette(HDC,HPALETTE,BOOL);
3006 int SelectVisRgn(HDC,HRGN);
3007 WORD SelectorAccessRights(WORD,WORD,WORD);
3008 LONG SendDlgItemMessage(HWND,INT,UINT,WPARAM,LPARAM);
3009 LRESULT SendMessage(HWND,UINT,WPARAM,LPARAM);
3010 HWND SetActiveWindow(HWND);
3011 LONG SetBitmapBits(HBITMAP,LONG,LPSTR);
3012 DWORD SetBitmapDimension(HBITMAP,short,short);
3013 BOOL SetBitmapDimensionEx(HBITMAP,short,short,LPSIZE);
3014 DWORD SetBkColor(HDC,COLORREF);
3015 WORD SetBkMode(HDC,WORD);
3016 DWORD SetBrushOrg(HDC,short,short);
3017 HWND SetCapture(HWND);
3018 void SetCaretBlinkTime(WORD);
3019 void SetCaretPos(short,short);
3020 LONG SetClassLong(HWND,short,LONG);
3021 WORD SetClassWord(HWND,short,WORD);
3022 HANDLE SetClipboardData(WORD,HANDLE);
3023 HWND SetClipboardViewer(HWND);
3024 int SetCommBreak(int);
3025 UINT* SetCommEventMask(int,UINT);
3026 int SetCommState(DCB*);
3027 void SetConvertHook(BOOL);
3028 BOOL SetConvertParams(int,int);
3029 HCURSOR SetCursor(HCURSOR);
3030 void SetCursorPos(short,short);
3031 void SetDCState(HDC,HDC);
3032 int SetDIBits(HDC,HANDLE,WORD,WORD,LPSTR,LPBITMAPINFO,WORD);
3033 int SetDIBitsToDevice(HDC,short,short,WORD,WORD,WORD,WORD,WORD,WORD,LPSTR,LPBITMAPINFO,WORD);
3034 BOOL SetDeskPattern(void);
3035 BOOL SetDeskWallPaper(LPSTR);
3036 void SetDlgItemInt(HWND,WORD,WORD,BOOL);
3037 void SetDlgItemText(HWND,WORD,SEGPTR);
3038 void SetDoubleClickTime(WORD);
3039 int SetEnvironment(LPSTR,LPSTR,WORD);
3040 BOOL SetErrorMode(WORD);
3041 HWND SetFocus(HWND);
3042 WORD SetHandleCount(WORD);
3043 void SetInternalWindowPos(HWND,WORD,LPRECT,LPPOINT);
3044 void SetKeyboardState(BYTE*);
3045 WORD SetMapMode(HDC,WORD);
3046 DWORD SetMapperFlags(HDC,DWORD);
3047 BOOL SetMenu(HWND,HMENU);
3048 BOOL SetMenuItemBitmaps(HMENU,UINT,UINT,HBITMAP,HBITMAP);
3049 BOOL SetMessageQueue(int);
3050 HANDLE SetMetaFileBits(HANDLE);
3051 WORD SetPaletteEntries(HPALETTE,WORD,WORD,LPPALETTEENTRY);
3052 HWND SetParent(HWND,HWND);
3053 COLORREF SetPixel(HDC,short,short,COLORREF);
3054 WORD SetPolyFillMode(HDC,WORD);
3055 BOOL SetProp(HWND,SEGPTR,HANDLE);
3056 WORD SetROP2(HDC,WORD);
3057 void SetRect(LPRECT,short,short,short,short);
3058 void SetRectEmpty(LPRECT);
3059 void SetRectRgn(HRGN,short,short,short,short);
3060 WORD SetRelAbs(HDC,WORD);
3061 FARPROC SetResourceHandler(HANDLE,LPSTR,FARPROC);
3062 int SetScrollPos(HWND,int,int,BOOL);
3063 void SetScrollRange(HWND,int,int,int,BOOL);
3064 WORD SetSelectorBase(WORD,DWORD);
3065 WORD SetSelectorLimit(WORD,DWORD);
3066 int SetSoundNoise(int,int);
3067 WORD SetStretchBltMode(HDC,WORD);
3068 LONG SetSwapAreaSize(WORD);
3069 void SetSysColors(int,LPINT,COLORREF*);
3070 HWND SetSysModalWindow(HWND);
3071 WORD SetSystemPaletteUse(HDC,WORD);
3072 WORD SetSystemTimer(HWND,WORD,WORD,FARPROC);
3073 HGLOBAL SetTaskQueue(HTASK,HGLOBAL);
3074 WORD SetTextAlign(HDC,WORD);
3075 short SetTextCharacterExtra(HDC,short);
3076 DWORD SetTextColor(HDC,DWORD);
3077 short SetTextJustification(HDC,short,short);
3078 WORD SetTimer(HWND,WORD,WORD,FARPROC);
3079 DWORD SetViewportExt(HDC,short,short);
3080 BOOL SetViewportExtEx(HDC,short,short,LPSIZE);
3081 DWORD SetViewportOrg(HDC,short,short);
3082 BOOL SetViewportOrgEx(HDC,short,short,LPPOINT);
3083 int SetVoiceAccent(int,int,int,int,int);
3084 int SetVoiceEnvelope(int,int,int);
3085 int SetVoiceNote(int,int,int,int);
3086 int SetVoiceQueueSize(int,int);
3087 int SetVoiceSound(int,LONG,int);
3088 int SetVoiceThreshold(int,int);
3089 BOOL SetWinDebugInfo(LPWINDEBUGINFO);
3090 DWORD SetWindowExt(HDC,short,short);
3091 BOOL SetWindowExtEx(HDC,short,short,LPSIZE);
3092 LONG SetWindowLong(HWND,short,LONG);
3093 DWORD SetWindowOrg(HDC,short,short);
3094 BOOL SetWindowOrgEx(HDC,short,short,LPPOINT);
3095 BOOL SetWindowPlacement(HWND,LPWINDOWPLACEMENT);
3096 BOOL SetWindowPos(HWND,HWND,INT,INT,INT,INT,WORD);
3097 void SetWindowText(HWND,LPSTR);
3098 WORD SetWindowWord(HWND,short,WORD);
3099 FARPROC SetWindowsHook(short,FARPROC);
3100 HHOOK SetWindowsHookEx(short,HOOKPROC,HINSTANCE,HTASK);
3101 void ShowCaret(HWND);
3102 int ShowCursor(BOOL);
3103 void ShowOwnedPopups(HWND,BOOL);
3104 void ShowScrollBar(HWND,WORD,BOOL);
3105 BOOL ShowWindow(HWND,int);
3106 DWORD SizeofResource(HANDLE,HRSRC);
3107 int StartSound(void);
3108 int StopSound(void);
3109 BOOL StretchBlt(HDC,short,short,short,short,HDC,short,short,short,short,DWORD);
3110 int StretchDIBits(HDC,WORD,WORD,WORD,WORD,WORD,WORD,WORD,WORD,LPSTR,LPBITMAPINFO,WORD,DWORD);
3111 BOOL SubtractRect(LPRECT,LPRECT,LPRECT);
3112 BOOL SwapMouseButton(BOOL);
3113 void SwapRecording(WORD);
3114 void SwitchStackBack(void);
3115 void SwitchStackTo(WORD,WORD,WORD);
3116 int SyncAllVoices(void);
3117 LONG TabbedTextOut(HDC,short,short,LPSTR,short,short,LPINT,short);
3118 BOOL TextOut(HDC,short,short,LPSTR,short);
3119 int Throw(LPCATCHBUF,int);
3120 int ToAscii(WORD,WORD,LPSTR,LPVOID,WORD);
3121 BOOL TrackPopupMenu(HMENU,UINT,short,short,short,HWND,LPRECT);
3122 int TranslateAccelerator(HWND,HANDLE,LPMSG);
3123 BOOL TranslateMDISysAccel(HWND,LPMSG);
3124 BOOL TranslateMessage(LPMSG);
3125 int TransmitCommChar(int,char);
3126 int UngetCommChar(int,char);
3127 BOOL UnhookWindowsHook(short,FARPROC);
3128 BOOL UnhookWindowsHookEx(HHOOK);
3129 BOOL UnionRect(LPRECT,LPRECT,LPRECT);
3130 void UnlockSegment(HGLOBAL);
3131 BOOL UnrealizeObject(HBRUSH);
3132 BOOL UnregisterClass(SEGPTR,HANDLE);
3133 int UpdateColors(HDC);
3134 void UpdateWindow(HWND);
3135 void ValidateCodeSegments(void);
3136 LPSTR ValidateFreeSpaces(void);
3137 void ValidateRect(HWND,LPRECT);
3138 void ValidateRgn(HWND,HRGN);
3139 WORD VkKeyScan(WORD);
3140 SEGPTR WIN16_GlobalLock(HGLOBAL);
3141 SEGPTR WIN16_LockResource(HANDLE);
3142 void WaitMessage(void);
3143 int WaitSoundState(int);
3144 HANDLE WinExec(LPSTR,WORD);
3145 BOOL WinHelp(HWND,LPSTR,WORD,DWORD);
3146 HWND WindowFromPoint(POINT);
3147 int WriteComm(int,LPSTR,int);
3148 BOOL WritePrivateProfileString(LPSTR,LPSTR,LPSTR,LPSTR);
3149 BOOL WriteProfileString(LPSTR,LPSTR,LPSTR);
3150 void Yield(void);
3151 LONG _hread(INT,LPSTR,LONG);
3152 LONG _hwrite(INT,LPCSTR,LONG);
3153 INT _lclose(INT);
3154 INT _lcreat(LPSTR,INT);
3155 LONG _llseek(INT,LONG,INT);
3156 INT _lopen(LPSTR,INT);
3157 INT _lread(INT,LPSTR,WORD);
3158 INT _lwrite(INT,LPCSTR,WORD);
3159 SEGPTR lstrcat(SEGPTR,SEGPTR);
3160 INT lstrcmp(LPCSTR,LPCSTR);
3161 INT lstrcmpi(LPCSTR,LPCSTR);
3162 SEGPTR lstrcpy(SEGPTR,SEGPTR);
3163 SEGPTR lstrcpyn(SEGPTR,SEGPTR,WORD);
3164 INT lstrlen(LPCSTR);
3165 int wvsprintf(LPSTR,LPSTR,LPSTR);
3167 #ifdef WINELIB
3168 #define WINELIB_UNIMP(x) fprintf (stderr, "WineLib: Unimplemented %s\n", x)
3169 #endif
3170 #endif /* WINDOWS_H */