blob: f5ce4f5a12a759a54850ab7997b06c01828cd471 [file] [log] [blame]
Alexandre Julliard2d93d001996-05-21 15:01:41 +00001/*
2 * Window procedure callbacks definitions
3 *
4 * Copyright 1996 Alexandre Julliard
5 */
6
7#ifndef __WINE_WINPROC_H
8#define __WINE_WINPROC_H
9
10#include "wintypes.h"
11
12typedef enum
13{
14 WIN_PROC_INVALID,
15 WIN_PROC_16,
16 WIN_PROC_32A,
17 WIN_PROC_32W
18} WINDOWPROCTYPE;
19
Alexandre Julliard3051b641996-07-05 17:14:13 +000020typedef void *HWINDOWPROC; /* Really a pointer to a WINDOWPROC */
21
22extern BOOL32 WINPROC_Init(void);
23extern WNDPROC16 WINPROC_GetProc( HWINDOWPROC proc, WINDOWPROCTYPE type );
24extern BOOL32 WINPROC_SetProc( HWINDOWPROC *pFirst, WNDPROC16 func,
25 WINDOWPROCTYPE type );
26extern void WINPROC_FreeProc( HWINDOWPROC proc );
27extern WINDOWPROCTYPE WINPROC_GetProcType( HWINDOWPROC proc );
Alexandre Julliard2d93d001996-05-21 15:01:41 +000028
Alexandre Julliardca22b331996-07-12 19:02:39 +000029extern INT32 WINPROC_MapMsg32ATo32W( UINT32 msg, WPARAM32 wParam,
30 LPARAM *plparam );
31extern INT32 WINPROC_MapMsg32WTo32A( UINT32 msg, WPARAM32 wParam,
32 LPARAM *plparam );
33extern INT32 WINPROC_MapMsg16To32A( UINT16 msg16, WPARAM16 wParam16,
34 UINT32 *pmsg32, WPARAM32 *pwparam32,
35 LPARAM *plparam );
36extern INT32 WINPROC_MapMsg16To32W( UINT16 msg16, WPARAM16 wParam16,
37 UINT32 *pmsg32, WPARAM32 *pwparam32,
38 LPARAM *plparam );
39extern INT32 WINPROC_MapMsg32ATo16( UINT32 msg32, WPARAM32 wParam32,
40 UINT16 *pmsg16, WPARAM16 *pwparam16,
41 LPARAM *plparam );
42extern INT32 WINPROC_MapMsg32WTo16( UINT32 msg32, WPARAM32 wParam32,
43 UINT16 *pmsg16, WPARAM16 *pwparam16,
44 LPARAM *plparam );
45extern void WINPROC_UnmapMsg32ATo32W( UINT32 msg, WPARAM32 wParam,
46 LPARAM lParam );
47extern void WINPROC_UnmapMsg32WTo32A( UINT32 msg, WPARAM32 wParam,
48 LPARAM lParam );
49extern void WINPROC_UnmapMsg16To32A( UINT32 msg, WPARAM32 wParam,
50 LPARAM lParam );
51extern void WINPROC_UnmapMsg16To32W( UINT32 msg, WPARAM32 wParam,
52 LPARAM lParam );
53extern void WINPROC_UnmapMsg32ATo16( UINT16 msg, WPARAM16 wParam,
54 LPARAM lParam );
55extern void WINPROC_UnmapMsg32WTo16( UINT16 msg, WPARAM16 wParam,
56 LPARAM lParam );
57
Alexandre Julliard2d93d001996-05-21 15:01:41 +000058#endif /* __WINE_WINPROC_H */