reshuffling of dlls
[reactos.git] / reactos / dll / win32 / msvideo / vfw16.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_VFW16_H
20 #define __WINE_VFW16_H
21
22 #include <stdarg.h>
23
24 #include "windef.h"
25 #include "winbase.h"
26 #include "wingdi.h"
27 #include "vfw.h"
28 #include "wownt32.h"
29 #include "wine/windef16.h"
30
31 #ifdef __cplusplus
32 extern "C" {
33 #endif /* __cplusplus */
34
35 typedef HANDLE16 HDRAWDIB16;
36
37 #include "pshpack1.h"
38
39 typedef struct {
40 DWORD dwSize;
41 DWORD fccType;
42 DWORD fccHandler;
43 DWORD dwFlags;
44 DWORD dwVersion;
45 DWORD dwVersionICM;
46 /*
47 * under Win16, normal chars are used
48 */
49 CHAR szName[16];
50 CHAR szDescription[128];
51 CHAR szDriver[128];
52 } ICINFO16;
53
54 typedef struct {
55 DWORD dwFlags;
56 LPBITMAPINFOHEADER lpbiSrc;
57 LPVOID lpSrc;
58 LPBITMAPINFOHEADER lpbiDst;
59 LPVOID lpDst;
60
61 INT16 xDst; /* destination rectangle */
62 INT16 yDst;
63 INT16 dxDst;
64 INT16 dyDst;
65
66 INT16 xSrc; /* source rectangle */
67 INT16 ySrc;
68 INT16 dxSrc;
69 INT16 dySrc;
70 } ICDECOMPRESSEX16;
71
72 typedef struct {
73 DWORD dwFlags;
74 HPALETTE16 hpal;
75 HWND16 hwnd;
76 HDC16 hdc;
77 INT16 xDst;
78 INT16 yDst;
79 INT16 dxDst;
80 INT16 dyDst;
81 LPBITMAPINFOHEADER lpbi;
82 INT16 xSrc;
83 INT16 ySrc;
84 INT16 dxSrc;
85 INT16 dySrc;
86 DWORD dwRate;
87 DWORD dwScale;
88 } ICDRAWBEGIN16;
89
90 #include "poppack.h"
91
92 typedef struct {
93 DWORD dwFlags;
94 LPBITMAPINFOHEADER lpbiIn;
95 LPBITMAPINFOHEADER lpbiSuggest;
96 INT16 dxSrc;
97 INT16 dySrc;
98 INT16 dxDst;
99 INT16 dyDst;
100 HIC16 hicDecompressor;
101 } ICDRAWSUGGEST16;
102
103 DWORD VFWAPIV ICDraw16(HIC16,DWORD,LPVOID,LPVOID,DWORD,LONG);
104 DWORD VFWAPIV ICDrawBegin16(HIC16,DWORD,HPALETTE16,HWND16,HDC16,INT16,
105 INT16,INT16,INT16,LPBITMAPINFOHEADER,
106 INT16,INT16,INT16,INT16,DWORD,DWORD);
107 LRESULT WINAPI ICClose16(HIC16);
108 DWORD VFWAPIV ICCompress16(HIC16,DWORD,LPBITMAPINFOHEADER,LPVOID,
109 LPBITMAPINFOHEADER,LPVOID,LPDWORD,
110 LPDWORD,LONG,DWORD,DWORD,
111 LPBITMAPINFOHEADER,LPVOID);
112 DWORD VFWAPIV ICDecompress16(HIC16,DWORD,LPBITMAPINFOHEADER,LPVOID,
113 LPBITMAPINFOHEADER,LPVOID);
114 HIC16 VFWAPI ICGetDisplayFormat16(HIC16,LPBITMAPINFOHEADER,
115 LPBITMAPINFOHEADER,INT16,INT16,
116 INT16);
117 LRESULT VFWAPI ICGetInfo16(HIC16,ICINFO16 *,DWORD);
118 BOOL16 VFWAPI ICInfo16(DWORD,DWORD,ICINFO16 *);
119 HIC16 VFWAPI ICLocate16(DWORD,DWORD,LPBITMAPINFOHEADER,
120 LPBITMAPINFOHEADER,WORD);
121 LRESULT VFWAPIV ICMessage16( HIC16 hic, UINT16 msg, UINT16 cb, VA_LIST16 valist );
122 HIC16 VFWAPI ICOpen16(DWORD,DWORD,UINT16);
123 HIC16 VFWAPI ICOpenFunction16(DWORD,DWORD,UINT16,FARPROC16);
124 LRESULT VFWAPI ICSendMessage16(HIC16,UINT16,DWORD,DWORD);
125
126 #ifdef __cplusplus
127 }
128 #endif /* __cplusplus */
129
130 #endif /* __WINE_VFW16_H */