xref: /reactos/sdk/include/dxsdk/mixerocx.idl (revision b09b5584)
1import "unknwn.idl";
2
3#define MIXER_DATA_ASPECT_RATIO             0x00000001
4#define MIXER_DATA_NATIVE_SIZE              0x00000002
5#define MIXER_DATA_PALETTE                  0x00000004
6#define MIXER_STATE_MASK                    0x00000003
7#define MIXER_STATE_UNCONNECTED             0x00000000
8#define MIXER_STATE_CONNECTED_STOPPED       0x00000001
9#define MIXER_STATE_CONNECTED_PAUSED        0x00000002
10#define MIXER_STATE_CONNECTED_PLAYING       0x00000003
11
12interface IMixerOCXNotify;
13interface IMixerOCX;
14
15[
16    object,
17    uuid(81A3BD31-DEE1-11d1-8508-00A0C91F9CA0),
18    pointer_default(unique)
19]
20interface IMixerOCXNotify : IUnknown
21{
22    HRESULT OnInvalidateRect([in] LPCRECT lpcRect);
23    HRESULT OnStatusChange([in] ULONG ulStatusFlags);
24    HRESULT OnDataChange([in] ULONG ulDataFlags);
25};
26
27[
28    object,
29    uuid(81A3BD32-DEE1-11d1-8508-00A0C91F9CA0),
30    pointer_default(unique)
31]
32interface IMixerOCX : IUnknown
33{
34    HRESULT OnDisplayChange([in] ULONG ulBitsPerPixel, [in] ULONG ulScreenWidth, [in] ULONG ulScreenHeight);
35    HRESULT GetAspectRatio([out] LPDWORD pdwPictAspectRatioX, [out] LPDWORD pdwPictAspectRatioY);
36    HRESULT GetVideoSize([out] LPDWORD pdwVideoWidth, [out] LPDWORD pdwVideoHeight);
37    HRESULT GetStatus([out] LPDWORD *pdwStatus);
38    HRESULT OnDraw([in] HDC hdcDraw, [in] LPCRECT prcDraw);
39    HRESULT SetDrawRegion([in] LPPOINT lpptTopLeftSC, [in] LPCRECT prcDrawCC, [in] LPCRECT lprcClip);
40    HRESULT Advise([in] IMixerOCXNotify *pmdns);
41    HRESULT UnAdvise();
42};
43