Bug fixes.
[wine/multimedia.git] / include / animate.h
blobbd6c0063fee89f71eaaf121154060ae3937d721e
1 /*
2 * Animation class extra info
4 * Copyright 1998 Eric Kohl
5 */
7 #ifndef __WINE_ANIMATE_H
8 #define __WINE_ANIMATE_H
10 #include "windef.h"
11 #include "vfw.h"
13 typedef struct tagANIMATE_INFO
15 /* pointer to msvideo functions. it's easier to put them here.
16 * to be correct, they should be defined on a per process basis, but
17 * this would required a per process storage. We're using a per object
18 * storage instead, which is not efficient on memory usage, but
19 * will lead to less bugs in the future
21 HIC (WINAPI* fnICOpen)(DWORD, DWORD, UINT);
22 LRESULT (WINAPI* fnICClose)(HIC);
23 LRESULT (WINAPI* fnICSendMessage)(HIC, UINT, DWORD, DWORD);
24 DWORD (WINAPIV* fnICDecompress)(HIC,DWORD,LPBITMAPINFOHEADER,LPVOID,LPBITMAPINFOHEADER,LPVOID);
26 /* reference to input stream (file or resource) */
27 HGLOBAL hRes;
28 HMMIO hMMio; /* handle to mmio stream */
29 HWND hWnd;
30 /* information on the loaded AVI file */
31 MainAVIHeader mah;
32 AVIStreamHeader ash;
33 LPBITMAPINFOHEADER inbih;
34 LPDWORD lpIndex;
35 /* data for the decompressor */
36 HIC hic;
37 LPBITMAPINFOHEADER outbih;
38 LPVOID indata;
39 LPVOID outdata;
40 /* data for the background mechanism */
41 CRITICAL_SECTION cs;
42 HANDLE hService;
43 UINT uTimer;
44 /* data for playing the file */
45 int nFromFrame;
46 int nToFrame;
47 int nLoop;
48 int currFrame;
49 } ANIMATE_INFO;
52 extern VOID ANIMATE_Register (VOID);
53 extern VOID ANIMATE_Unregister (VOID);
55 #endif /* __WINE_ANIMATE_H */