- Implement ProtocolResetComplete
[reactos.git] / include / dxsdk / ddstream.idl
1
2 import "unknwn.idl";
3 import "mmstream.idl";
4
5 cpp_quote("#if 0")
6 typedef void * LPDDSURFACEDESC;
7 typedef struct tDDSURFACEDESC DDSURFACEDESC;
8 cpp_quote("#endif")
9 cpp_quote("#include <ddraw.h>")
10
11 enum
12 {
13 DDSFF_PROGRESSIVERENDER = 0x00000001
14 };
15
16 interface IDirectDraw;
17 interface IDirectDrawSurface;
18 interface IDirectDrawPalette;
19 interface IDirectDrawMediaStream;
20 interface IDirectDrawStreamSample;
21
22 [
23 object,
24 local,
25 uuid(F4104FCF-9A70-11d0-8FDE-00C04FD9189D),
26 pointer_default(unique)
27 ]
28 interface IDirectDrawStreamSample : IStreamSample
29 {
30 HRESULT GetSurface([out] IDirectDrawSurface ** ppDirectDrawSurface, [out] RECT * pRect);
31 HRESULT SetRect([in] const RECT * pRect);
32 };
33
34 [
35 object,
36 local,
37 uuid(F4104FCE-9A70-11d0-8FDE-00C04FD9189D),
38 pointer_default(unique)
39 ]
40 interface IDirectDrawMediaStream : IMediaStream
41 {
42 HRESULT GetFormat([out] DDSURFACEDESC *pDDSDCurrent, [out] IDirectDrawPalette **ppDirectDrawPalette, [out] DDSURFACEDESC *pDDSDDesired, [out] DWORD *pdwFlags);
43 HRESULT SetFormat([in] const DDSURFACEDESC *pDDSurfaceDesc, [in] IDirectDrawPalette *pDirectDrawPalette);
44 HRESULT GetDirectDraw([out] IDirectDraw **ppDirectDraw);
45 HRESULT SetDirectDraw([in] IDirectDraw *pDirectDraw);
46 HRESULT CreateSample([in] IDirectDrawSurface *pSurface, [in] const RECT *pRect, [in] DWORD dwFlags, [out]IDirectDrawStreamSample **ppSample);
47 HRESULT GetTimePerFrame([out] STREAM_TIME *pFrameTime);
48 };
49
50