Use the same 8/16bit conversion routines as in pcmconverter.c.
[wine] / dlls / msvideo / msvideo_private.h
1 /*
2  * Copyright 1999 Marcus Meissner
3  *
4  * This library is free software; you can redistribute it and/or
5  * modify it under the terms of the GNU Lesser General Public
6  * License as published by the Free Software Foundation; either
7  * version 2.1 of the License, or (at your option) any later version.
8  *
9  * This library is distributed in the hope that it will be useful,
10  * but WITHOUT ANY WARRANTY; without even the implied warranty of
11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
12  * Lesser General Public License for more details.
13  *
14  * You should have received a copy of the GNU Lesser General Public
15  * License along with this library; if not, write to the Free Software
16  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
17  */
18
19 #ifndef __WINE_MSVIDEO_PRIVATE_H
20 #define __WINE_MSVIDEO_PRIVATE_H
21
22 #define COM_NO_WINDOWS_H
23 #include "winbase.h"
24 #include "windef.h"
25 #include "vfw.h"
26
27 /* HIC struct (same layout as Win95 one) */
28 typedef struct tagWINE_HIC {
29     DWORD               magic;          /* 00: 'Smag' */
30     HANDLE              curthread;      /* 04: */
31     DWORD               type;           /* 08: */
32     DWORD               handler;        /* 0C: */
33     HDRVR               hdrv;           /* 10: */
34     DWORD               private;        /* 14:(handled by SendDriverMessage)*/
35     DRIVERPROC          driverproc;     /* 18:(handled by SendDriverMessage)*/
36     DWORD               x1;             /* 1c: name? */
37     WORD                x2;             /* 20: */
38     DWORD               x3;             /* 22: */
39                                         /* 26: */
40     DWORD               driverproc16;   /* Wine specific flags */
41     HIC                 hic;
42     struct tagWINE_HIC* next;
43 } WINE_HIC;
44
45 HIC             MSVIDEO_OpenFunction(DWORD, DWORD, UINT, DRIVERPROC, DWORD);
46 LRESULT         MSVIDEO_SendMessage(HIC, UINT, DWORD, DWORD);
47 WINE_HIC*       MSVIDEO_GetHicPtr(HIC);
48
49 extern LRESULT  (CALLBACK *pFnCallTo16)(HDRVR, HIC, UINT, LPARAM, LPARAM);
50
51 /* handle16 --> handle conversions */
52 #define HDRAWDIB_32(h16)        ((HDRAWDIB)(ULONG_PTR)(h16))
53 #define HIC_32(h16)             ((HIC)(ULONG_PTR)(h16))
54
55 /* handle --> handle16 conversions */
56 #define HDRVR_16(h32)           (LOWORD(h32))
57 #define HDRAWDIB_16(h32)        (LOWORD(h32))
58 #define HIC_16(h32)             (LOWORD(h32))
59
60 #endif  /* __WINE_MSVIDEO_PRIVATE_H */