Sun Oct 12 15:03:01 1997 Alexandre Julliard <julliard@lrc.epfl.ch> * [if1632/builtin.c] [if1632/relay.c] Relay debugging entry points are now generated on the fly for Win32 DLLs. * [include/stackframe.h] Added VA_LIST16 type and macros to access arguments on the 16-bit stack. * [memory/global.c] Fixed GlobalHandle32 to work with fixed blocks. * [misc/ddeml.c] (New file) Added a lot of stubs for DDEML functions. * [objects/dc.c] Added Get/SetGraphicsMode(). * [objects/gdiobj.c] [windows/winpos.c] Added a few stubs. * [tools/build.c] Removed 'byte', 'word', 'long' and 'return' entry points for Win32. 'register' functions can no longer take arguments in Win32. The Win32 NE module is now generated by MODULE_CreateDummyModule. CallFrom32 callbacks removed except for register functions. Fri Oct 10 18:22:18 1997 John Harvey <john@division.co.uk> * [graphics/win16drv/Makefile.in] [graphics/win16drv/brush.c] [graphics/win16drv/graphics.c] [graphics/win16drv/init.c] [graphics/win16drv/objects.c] [graphics/win16drv/pen.c] [graphics/win16drv/prtdrv.c] [graphics/win16drv/text.c] [include/callback.h] [include/win16drv.h] Added support for pens and brushes in SelectObject. Added support for LineTo, MoveToEx, PatBlt (very preliminary), Polygon and Rectangle. Text is drawn in the correct place more often. These changes may only work with the Windows Postscript driver since many other drivers now need more GDI support. Tue Oct 7 21:06:23 1997 Kristian Nielsen <kristian.nielsen@risoe.dk> * [debugger/expr.c] Fixed typo for the >> operator. * [loader/task.c] Fixed SwitchStackTo(); it used to return with the new stack placed four bytes too high in memory. * [loader/ne_resource.c] Removed problematic nametable code introduced in Wine 970914. Tue Oct 7 02:24:12 1997 Dimitrie O. Paun <dimi@cs.toronto.edu> * [controls/commctrl.c] Added this files to hold functions from the comctl32.dll Added to this files some functions scattered in different places (such as InitCommonControls) and added some new ones as well. * [include/syscolor.h] [windows/syscolor.c] Added proper entries for all possible COLOR_* values. * [objects/brush.c] Modified GetSysColorBrush to return the correct brush for all possible COLOR_* constants. Sat Oct 4 23:35:20 1997 U.Bonnes <bon@elektron.ikp.physik.th-darmstadt.de> * [loader/module.c] [scheduler/process.c] [win32/environment.c] Another approach to get access to an unrestricted commandline. * [misc/crtdll.c] Make fclose work again. * [if1632/crtdll.spec] Use sprintf for crtdll-sprintf again as e.g. %g is not available for wsprintf. * [misc/wsprintf.c] Make WPR_STRING work in more situations. Added debug output for the wsprintf functions. * [misc/crtdll.c] [misc/main.c] Use argv[0] as comand with CRTDLL_system. Fri Oct 3 14:00:29 MET DST 1997 Jan Willamowius <jan@janhh.shnet.org> * [*/*] Removed some compiler warnings. * [msdos/int15.c] New INT 15 handler.
85 lines
3.9 KiB
C
85 lines
3.9 KiB
C
/*
|
|
* Callback functions
|
|
*
|
|
* Copyright 1995 Alexandre Julliard
|
|
*/
|
|
|
|
#ifndef __WINE_CALLBACK_H
|
|
#define __WINE_CALLBACK_H
|
|
|
|
#include "wintypes.h"
|
|
#include "winnt.h"
|
|
|
|
extern int (*IF1632_CallLargeStack)( int (*func)(), void *arg );
|
|
|
|
#define CALL_LARGE_STACK(func,arg) \
|
|
(IF1632_CallLargeStack ? \
|
|
IF1632_CallLargeStack( (int(*)())(func), (void *)(arg) ) : \
|
|
((int(*)())(func))((void *)arg))
|
|
|
|
/* List of the 16-bit callback functions. This list is used */
|
|
/* by the build program to generate the file if1632/callto16.S */
|
|
|
|
#ifndef WINELIB
|
|
|
|
extern LONG CALLBACK CallTo16_regs_ (const CONTEXT *context, INT32 offset);
|
|
extern WORD CALLBACK CallTo16_word_ (FARPROC16);
|
|
extern WORD CALLBACK CallTo16_word_w (FARPROC16,WORD);
|
|
extern LONG CALLBACK CallTo16_long_l (FARPROC16,LONG);
|
|
extern WORD CALLBACK CallTo16_word_ww (FARPROC16,WORD,WORD);
|
|
extern WORD CALLBACK CallTo16_word_wl (FARPROC16,WORD,LONG);
|
|
extern WORD CALLBACK CallTo16_word_ll (FARPROC16,LONG,LONG);
|
|
extern WORD CALLBACK CallTo16_word_www (FARPROC16,WORD,WORD,WORD);
|
|
extern WORD CALLBACK CallTo16_word_wwl (FARPROC16,WORD,WORD,LONG);
|
|
extern WORD CALLBACK CallTo16_word_wlw (FARPROC16,WORD,LONG,WORD);
|
|
extern LONG CALLBACK CallTo16_long_wwl (FARPROC16,WORD,WORD,LONG);
|
|
extern WORD CALLBACK CallTo16_word_llwl (FARPROC16,LONG,LONG,WORD,LONG);
|
|
extern WORD CALLBACK CallTo16_word_lwll (FARPROC16,LONG,WORD,LONG,LONG);
|
|
extern LONG CALLBACK CallTo16_long_wwwl (FARPROC16,WORD,WORD,WORD,LONG);
|
|
extern WORD CALLBACK CallTo16_word_lwww (FARPROC16,LONG,WORD,WORD,WORD);
|
|
extern WORD CALLBACK CallTo16_word_wwll (FARPROC16,WORD,WORD,LONG,LONG);
|
|
extern WORD CALLBACK CallTo16_word_wllwl(FARPROC16,WORD,LONG,LONG,WORD,LONG);
|
|
extern LONG CALLBACK CallTo16_long_lwwll(FARPROC16,LONG,WORD,WORD,LONG,LONG);
|
|
extern WORD CALLBACK CallTo16_word_wwlll(FARPROC16,WORD,WORD,LONG,LONG,LONG);
|
|
extern WORD CALLBACK CallTo16_word_wwwww(FARPROC16,WORD,WORD,WORD,WORD,WORD);
|
|
extern WORD CALLBACK CallTo16_word_lwlll(FARPROC16,LONG,WORD,LONG,LONG,LONG);
|
|
extern WORD CALLBACK CallTo16_word_llll (FARPROC16,LONG,LONG,LONG,LONG);
|
|
extern LONG CALLBACK CallTo16_long_lwlll(FARPROC16,LONG,WORD,LONG,LONG,LONG);
|
|
extern LONG CALLBACK CallTo16_word_lwwlllll(FARPROC16,LONG,WORD,WORD,LONG,LONG,
|
|
LONG,LONG,WORD);
|
|
extern LONG CALLBACK CallTo16_long_lwwllwlllllw(FARPROC16,LONG,WORD,WORD,LONG,
|
|
LONG,WORD,LONG,LONG,LONG,LONG,
|
|
LONG,WORD);
|
|
extern LONG CALLBACK CallTo16_word_lwwwwlwwwwllll(FARPROC16,LONG,WORD,WORD,
|
|
WORD,WORD,LONG,WORD,WORD,
|
|
WORD,WORD,LONG,LONG,LONG,
|
|
LONG);
|
|
|
|
#define CallDriverProc( func, dwId, msg, hdrvr, lparam1, lparam2 ) \
|
|
CallTo16_long_lwwll( func, dwId, msg, hdrvr, lparam1, lparam2 )
|
|
#define CallDriverCallback( func, hdev, msg, user, lparam1, lparam2 ) \
|
|
CallTo16_word_wwlll( func, hdev, msg, user, lparam1, lparam2 )
|
|
#define CallTimeFuncProc( func, id, msg, dwUser, dw1, dw2 ) \
|
|
CallTo16_word_wwlll( func, id, msg, dwUser, dw1, dw2 )
|
|
#define CallWindowsExitProc( func, nExitType ) \
|
|
CallTo16_word_w( func, nExitType )
|
|
#define CallWordBreakProc16( func, lpch, ichCurrent, cch, code ) \
|
|
CallTo16_word_lwww( func, lpch, ichCurrent, cch, code )
|
|
|
|
#else /* WINELIB */
|
|
|
|
#define CallDriverProc( func, dwId, msg, hdrvr, lparam1, lparam2 ) \
|
|
(*func)( dwId, msg, hdrvr, lparam1, lparam2 )
|
|
#define CallDriverCallback( func, hdev, msg, user, lparam1, lparam2 ) \
|
|
(*func)( hdev, msg, user, lparam1, lparam2 )
|
|
#define CallTimeFuncProc( func, id, msg, dwUser, dw1, dw2 ) \
|
|
(*func)( id, msg, dwUser, dw1, dw2 )
|
|
#define CallWindowsExitProc( func, nExitType ) \
|
|
(*func)( nExitType )
|
|
#define CallWordBreakProc16( func, lpch, ichCurrent, cch, code ) \
|
|
(*func)( lpch, ichCurrent, cch, code )
|
|
|
|
#endif /* WINELIB */
|
|
|
|
|
|
#endif /* __WINE_CALLBACK_H */
|