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