winuser.h now requires that we include winbase.h first.
[wine] / dlls / user / thunk.c
1 /*
2  * USER 16-bit thunks
3  *
4  * Copyright 1996, 1997 Alexandre Julliard
5  * Copyright 1998       Ulrich Weigand
6  */
7
8 #include "windef.h"
9 #include "wingdi.h"
10 #include "wine/winuser16.h"
11 #include "callback.h"
12
13 /* ### start build ### */
14 extern WORD CALLBACK THUNK_CallTo16_word_wl   (FARPROC16,WORD,LONG);
15 extern WORD CALLBACK THUNK_CallTo16_word_wlw  (FARPROC16,WORD,LONG,WORD);
16 /* ### stop build ### */
17
18
19 /*******************************************************************
20  *           EnumWindows16   (USER.54)
21  */
22 BOOL16 WINAPI EnumWindows16( WNDENUMPROC16 func, LPARAM lParam )
23 {
24     DECL_THUNK( thunk, func, THUNK_CallTo16_word_wl );
25     return EnumWindows( (WNDENUMPROC)&thunk, lParam );
26 }
27
28
29 /**********************************************************************
30  *           EnumChildWindows16   (USER.55)
31  */
32 BOOL16 WINAPI EnumChildWindows16( HWND16 parent, WNDENUMPROC16 func, LPARAM lParam )
33 {
34     DECL_THUNK( thunk, func, THUNK_CallTo16_word_wl );
35     return EnumChildWindows( parent, (WNDENUMPROC)&thunk, lParam );
36 }
37
38
39 /**********************************************************************
40  *           THUNK_EnumTaskWindows16   (USER.225)
41  */
42 BOOL16 WINAPI THUNK_EnumTaskWindows16( HTASK16 hTask, WNDENUMPROC16 func,
43                                        LPARAM lParam )
44 {
45     DECL_THUNK( thunk, func, THUNK_CallTo16_word_wl );
46     return EnumTaskWindows16( hTask, (WNDENUMPROC16)&thunk, lParam );
47 }
48
49
50 /***********************************************************************
51  *           THUNK_EnumProps16   (USER.27)
52  */
53 INT16 WINAPI THUNK_EnumProps16( HWND16 hwnd, PROPENUMPROC16 func )
54 {
55     DECL_THUNK( thunk, func, THUNK_CallTo16_word_wlw );
56     return EnumProps16( hwnd, (PROPENUMPROC16)&thunk );
57 }
58
59
60 /***********************************************************************
61  *           THUNK_GrayString16   (USER.185)
62  */
63 BOOL16 WINAPI THUNK_GrayString16( HDC16 hdc, HBRUSH16 hbr,
64                                   GRAYSTRINGPROC16 func, LPARAM lParam,
65                                   INT16 cch, INT16 x, INT16 y,
66                                   INT16 cx, INT16 cy )
67 {
68     DECL_THUNK( thunk, func, THUNK_CallTo16_word_wlw );
69     if (!func)
70         return GrayString16( hdc, hbr, NULL, lParam, cch, x, y, cx, cy );
71     else
72         return GrayString16( hdc, hbr, (GRAYSTRINGPROC16)&thunk, lParam, cch,
73                              x, y, cx, cy );
74 }
75
76