4 * Copyright 1996, 1997 Alexandre Julliard
5 * Copyright 1998 Ulrich Weigand
10 #include "wine/winuser16.h"
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 extern WORD CALLBACK THUNK_CallTo16_word_wlwww(FARPROC16,WORD,LONG,WORD,WORD,WORD);
17 /* ### stop build ### */
20 /*******************************************************************
21 * EnumWindows (USER.54)
23 BOOL16 WINAPI EnumWindows16( WNDENUMPROC16 func, LPARAM lParam )
25 DECL_THUNK( thunk, func, THUNK_CallTo16_word_wl );
26 return EnumWindows( (WNDENUMPROC)&thunk, lParam );
30 /**********************************************************************
31 * EnumChildWindows (USER.55)
33 BOOL16 WINAPI EnumChildWindows16( HWND16 parent, WNDENUMPROC16 func, LPARAM lParam )
35 DECL_THUNK( thunk, func, THUNK_CallTo16_word_wl );
36 return EnumChildWindows( parent, (WNDENUMPROC)&thunk, lParam );
40 /**********************************************************************
41 * EnumTaskWindows (USER.225)
43 BOOL16 WINAPI THUNK_EnumTaskWindows16( HTASK16 hTask, WNDENUMPROC16 func,
46 DECL_THUNK( thunk, func, THUNK_CallTo16_word_wl );
47 return EnumTaskWindows16( hTask, (WNDENUMPROC16)&thunk, lParam );
51 /***********************************************************************
54 INT16 WINAPI THUNK_EnumProps16( HWND16 hwnd, PROPENUMPROC16 func )
56 DECL_THUNK( thunk, func, THUNK_CallTo16_word_wlw );
57 return EnumProps16( hwnd, (PROPENUMPROC16)&thunk );
61 /***********************************************************************
62 * GrayString (USER.185)
64 BOOL16 WINAPI THUNK_GrayString16( HDC16 hdc, HBRUSH16 hbr,
65 GRAYSTRINGPROC16 func, LPARAM lParam,
66 INT16 cch, INT16 x, INT16 y,
69 DECL_THUNK( thunk, func, THUNK_CallTo16_word_wlw );
71 return GrayString16( hdc, hbr, NULL, lParam, cch, x, y, cx, cy );
73 return GrayString16( hdc, hbr, (GRAYSTRINGPROC16)&thunk, lParam, cch,
78 /**********************************************************************
79 * DrawState (USER.449)
81 BOOL16 WINAPI DrawState16( HDC16 hdc, HBRUSH16 hbr, DRAWSTATEPROC16 func, LPARAM ldata,
82 WPARAM16 wdata, INT16 x, INT16 y, INT16 cx, INT16 cy, UINT16 flags )
84 UINT opcode = flags & 0xf;
85 DECL_THUNK( thunk, func, THUNK_CallTo16_word_wlwww );
87 if (opcode == DST_TEXT || opcode == DST_PREFIXTEXT)
89 /* make sure DrawStateA doesn't try to use ldata as a pointer */
90 if (!wdata) wdata = strlen( MapSL(ldata) );
94 if (!GetTextExtentPoint32A( hdc, MapSL(ldata), wdata, &s )) return FALSE;
99 return DrawStateA( hdc, hbr, (DRAWSTATEPROC)&thunk, ldata, wdata, x, y, cx, cy, flags );