Added get_page_size function.
[wine] / include / animate.h
1 /*
2  * Animation class extra info
3  *
4  * Copyright 1998 Eric Kohl
5  */
6
7 #ifndef __WINE_ANIMATE_H
8 #define __WINE_ANIMATE_H
9
10 #include "windef.h"
11 #include "vfw.h"
12
13 typedef struct tagANIMATE_INFO
14 {
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
20     */
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);
25
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;
50
51
52 extern VOID ANIMATE_Register (VOID);
53 extern VOID ANIMATE_Unregister (VOID);
54
55 #endif  /* __WINE_ANIMATE_H */