Stub for the ACM_METRIC_MAX_SIZE_FORMAT command of acmMetrics.
[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 "winbase.h"
12 #include "vfw.h"
13
14 typedef struct tagANIMATE_INFO
15 {
16    /* pointer to msvideo functions. it's easier to put them here.
17     * to be correct, they should be defined on a per process basis, but
18     * this would required a per process storage. We're using a per object
19     * storage instead, which is not efficient on memory usage, but
20     * will lead to less bugs in the future
21     */
22    HIC          WINAPI  (*fnICOpen)(DWORD, DWORD, UINT);
23    LRESULT      WINAPI  (*fnICClose)(HIC);
24    LRESULT      WINAPI  (*fnICSendMessage)(HIC, UINT, DWORD, DWORD);
25    DWORD        WINAPIV (*fnICDecompress)(HIC,DWORD,LPBITMAPINFOHEADER,LPVOID,LPBITMAPINFOHEADER,LPVOID);
26
27     HMMIO WINAPI (*fnmmioOpenA)(LPSTR,MMIOINFO*,DWORD);
28     MMRESULT WINAPI (*fnmmioClose)(HMMIO,UINT);
29     UINT  WINAPI (*fnmmioAscend)(HMMIO,MMCKINFO*,UINT);
30     UINT  WINAPI (*fnmmioDescend)(HMMIO,MMCKINFO*,const MMCKINFO*,UINT);
31     LONG  WINAPI (*fnmmioSeek)(HMMIO,LONG,INT);
32     LONG  WINAPI (*fnmmioRead)(HMMIO,HPSTR,LONG);
33
34    /* reference to input stream (file or resource) */
35    HGLOBAL              hRes;
36    HMMIO                        hMMio;  /* handle to mmio stream */
37    HWND                 hWnd;
38    /* information on the loaded AVI file */
39    MainAVIHeader        mah;
40    AVIStreamHeader      ash;
41    LPBITMAPINFOHEADER   inbih;
42    LPDWORD              lpIndex;
43    /* data for the decompressor */
44    HIC                  hic;
45    LPBITMAPINFOHEADER   outbih;
46    LPVOID               indata;
47    LPVOID               outdata;
48    /* data for the background mechanism */
49    CRITICAL_SECTION     cs;
50    HANDLE               hService;
51    UINT                 uTimer;
52    /* data for playing the file */
53    int                  nFromFrame;
54    int                  nToFrame;
55    int                  nLoop;
56    int                  currFrame;
57 } ANIMATE_INFO;
58
59
60 extern VOID ANIMATE_Register (VOID);
61 extern VOID ANIMATE_Unregister (VOID);
62
63 #endif  /* __WINE_ANIMATE_H */