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