2 * Copyright 2004 Christian Costa
4 * This library is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU Lesser General Public
6 * License as published by the Free Software Foundation; either
7 * version 2.1 of the License, or (at your option) any later version.
9 * This library is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 * Lesser General Public License for more details.
14 * You should have received a copy of the GNU Lesser General Public
15 * License along with this library; if not, write to the Free Software
16 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
20 import
"mmstream.idl";
22 cpp_quote
("#ifndef __DDRAW_INCLUDED__")
23 typedef void * LPDDSURFACEDESC
;
24 typedef struct tDDSURFACEDESC DDSURFACEDESC
;
25 interface IDirectDraw
;
26 interface IDirectDrawSurface
;
27 interface IDirectDrawPalette
;
29 cpp_quote
("#include <ddraw.h>")
32 DDSFF_PROGRESSIVERENDER
= 0x00000001
35 interface IDirectDrawMediaStream
;
36 interface IDirectDrawStreamSample
;
41 uuid(F4104FCE
-9A70
-11d0
-8FDE
-00C04FD9189D
),
42 pointer_default(unique)
44 interface IDirectDrawMediaStream
: IMediaStream
47 [out] DDSURFACEDESC
*pDDSDCurrent
,
48 [out] IDirectDrawPalette
**ppDirectDrawPalette
,
49 [out] DDSURFACEDESC
*pDDSDDesired
,
50 [out] DWORD
*pdwFlags
);
53 [in] const DDSURFACEDESC
*pDDSurfaceDesc
,
54 [in] IDirectDrawPalette
*pDirectDrawPalette
);
56 HRESULT GetDirectDraw
(
57 [out] IDirectDraw
**ppDirectDraw
);
59 HRESULT SetDirectDraw
(
60 [in] IDirectDraw
*pDirectDraw
);
63 [in] IDirectDrawSurface
*pSurface
,
64 [in] const RECT
*pRect
,
66 [out] IDirectDrawStreamSample
**ppSample
);
68 HRESULT GetTimePerFrame
(
69 [out] STREAM_TIME
*pFrameTime
);
76 uuid(F4104FCF
-9A70
-11d0
-8FDE
-00C04FD9189D
),
77 pointer_default(unique)
79 interface IDirectDrawStreamSample
: IStreamSample
82 [out] IDirectDrawSurface
** ppDirectDrawSurface
,
86 [in] const RECT
* pRect
);