Don't load user32 too early on for 16-bit apps, so that app-specific
[wine] / dlls / msvideo / vfw16.h
1 #ifndef __WINE_VFW16_H
2 #define __WINE_VFW16_H
3
4 #include "vfw.h"
5 #include "wine/windef16.h"
6
7 #ifdef __cplusplus
8 extern "C" {
9 #endif  /* __cplusplus */
10
11 typedef HANDLE16 HDRAWDIB16;
12
13 #include "pshpack1.h"
14
15 typedef struct {
16         DWORD dwSize;
17         DWORD fccType;
18         DWORD fccHandler;
19         DWORD dwFlags;
20         DWORD dwVersion;
21         DWORD dwVersionICM;
22         /*
23          * under Win16, normal chars are used
24          */
25         CHAR szName[16];
26         CHAR szDescription[128];
27         CHAR szDriver[128];
28 } ICINFO16;
29
30 typedef struct {
31     DWORD               dwFlags;
32     LPBITMAPINFOHEADER  lpbiSrc;
33     LPVOID              lpSrc;
34     LPBITMAPINFOHEADER  lpbiDst;
35     LPVOID              lpDst;
36
37     INT16               xDst;       /* destination rectangle */
38     INT16               yDst;
39     INT16               dxDst;
40     INT16               dyDst;
41
42     INT16               xSrc;       /* source rectangle */
43     INT16               ySrc;
44     INT16               dxSrc;
45     INT16               dySrc;
46 } ICDECOMPRESSEX16;
47
48 typedef struct {
49         DWORD           dwFlags;
50         HPALETTE16      hpal;
51         HWND16          hwnd;
52         HDC16           hdc;
53         INT16           xDst;
54         INT16           yDst;
55         INT16           dxDst;
56         INT16           dyDst;
57         LPBITMAPINFOHEADER      lpbi;
58         INT16           xSrc;
59         INT16           ySrc;
60         INT16           dxSrc;
61         INT16           dySrc;
62         DWORD           dwRate;
63         DWORD           dwScale;
64 } ICDRAWBEGIN16;
65
66 #include "poppack.h"
67
68
69 LRESULT VFWAPI  ICSendMessage16(HIC16 hic, UINT16 msg, DWORD dw1, DWORD dw2);
70 HIC16   VFWAPI  ICOpen16(DWORD fccType, DWORD fccHangler, UINT16 wMode);
71 HIC16   VFWAPI  ICLocate16(DWORD fccType, DWORD fccHandler, LPBITMAPINFOHEADER lpbiIn, LPBITMAPINFOHEADER lpbiOut, WORD wFlags);
72
73 typedef struct {
74         DWORD dwFlags;
75         LPBITMAPINFOHEADER lpbiIn;
76         LPBITMAPINFOHEADER lpbiSuggest;
77         INT16 dxSrc;
78         INT16 dySrc;
79         INT16 dxDst;
80         INT16 dyDst;
81         HIC16 hicDecompressor;
82 } ICDRAWSUGGEST16;
83
84 DWORD   VFWAPIV ICDrawBegin16(
85         HIC16                   hic,
86         DWORD                   dwFlags,/* flags */
87         HPALETTE16              hpal,   /* palette to draw with */
88         HWND16                  hwnd,   /* window to draw to */
89         HDC16                   hdc,    /* HDC to draw to */
90         INT16                   xDst,   /* destination rectangle */
91         INT16                   yDst,
92         INT16                   dxDst,
93         INT16                   dyDst,
94         LPBITMAPINFOHEADER      lpbi,   /* format of frame to draw */
95         INT16                   xSrc,   /* source rectangle */
96         INT16                   ySrc,
97         INT16                   dxSrc,
98         INT16                   dySrc,
99         DWORD                   dwRate, /* frames/second = (dwRate/dwScale) */
100         DWORD                   dwScale
101 );
102
103 #ifdef __cplusplus
104 }
105 #endif  /* __cplusplus */
106
107 #endif  /* __WINE_VFW16_H */