2 * Copyright (C) 2002 Lionel Ulmer
3 * Copyright (C) 2004 Alexandre Julliard
5 * This library is free software; you can redistribute it and/or
6 * modify it under the terms of the GNU Lesser General Public
7 * License as published by the Free Software Foundation; either
8 * version 2.1 of the License, or (at your option) any later version.
10 * This library is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 * Lesser General Public License for more details.
15 * You should have received a copy of the GNU Lesser General Public
16 * License along with this library; if not, write to the Free Software
17 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
24 uuid(56a868b0
-0ad4
-11ce
-b03a
-0020af0ba770
)
28 importlib
("stdole2.tlb");
30 typedef LONG OAFilterState
;
31 typedef LONG_PTR OAHWND
;
32 typedef LONG_PTR OAEVENT
;
34 cpp_quote
("#ifndef REFTIME_DEFINED")
35 cpp_quote
("#define REFTIME_DEFINED")
36 typedef DOUBLE REFTIME
;
39 /***************************************************************************
40 * IMediaControl interface
44 uuid(56a868b1
-0ad4
-11ce
-b03a
-0020af0ba770
),
48 interface IMediaControl
: IDispatch
53 HRESULT GetState
( [in] LONG msTimeout
, [out] OAFilterState
*pfs
);
54 HRESULT RenderFile
( [in] BSTR strFilename
);
55 HRESULT AddSourceFilter
( [in] BSTR strFilename
, [out] IDispatch
**ppUnk
);
56 [propget] HRESULT FilterCollection
( [out, retval] IDispatch
**ppUnk
);
57 [propget] HRESULT RegFilterCollection
( [out, retval] IDispatch
**ppUnk
);
58 HRESULT StopWhenReady
();
62 /***************************************************************************
63 * IBasicAudio interface
67 uuid(56a868b3
-0ad4
-11ce
-b03a
-0020af0ba770
),
71 interface IBasicAudio
: IDispatch
73 [propput] HRESULT Volume
( [in] LONG lVolume
);
74 [propget] HRESULT Volume
( [out, retval] LONG *plVolume
);
75 [propput] HRESULT Balance
( [in] LONG lBalance
);
76 [propget] HRESULT Balance
( [out, retval] LONG *plBalance
);
80 /***************************************************************************
81 * IVideoWindow interface
85 uuid(56a868b4
-0ad4
-11ce
-b03a
-0020af0ba770
),
89 interface IVideoWindow
: IDispatch
91 [propput] HRESULT Caption
( [in] BSTR strCaption
);
92 [propget] HRESULT Caption
( [out, retval] BSTR *strCaption
);
93 [propput] HRESULT WindowStyle
( [in] LONG WindowStyle
);
94 [propget] HRESULT WindowStyle
( [out, retval] LONG *WindowStyle
);
95 [propput] HRESULT WindowStyleEx
( [in] LONG WindowStyleEx
);
96 [propget] HRESULT WindowStyleEx
( [out, retval] LONG *WindowStyleEx
);
97 [propput] HRESULT AutoShow
( [in] LONG AutoShow
);
98 [propget] HRESULT AutoShow
( [out, retval] LONG *AutoShow
);
99 [propput] HRESULT WindowState
( [in] LONG WindowState
);
100 [propget] HRESULT WindowState
( [out, retval] LONG *WindowState
);
101 [propput] HRESULT BackgroundPalette
( [in] LONG BackgroundPalette
);
102 [propget] HRESULT BackgroundPalette
( [out, retval] LONG *pBackgroundPalette
);
103 [propput] HRESULT Visible
( [in] LONG Visible
);
104 [propget] HRESULT Visible
( [out, retval] LONG *pVisible
);
105 [propput] HRESULT Left
( [in] LONG Left
);
106 [propget] HRESULT Left
( [out, retval] LONG *pLeft
);
107 [propput] HRESULT Width
( [in] LONG Width
);
108 [propget] HRESULT Width
( [out, retval] LONG *pWidth
);
109 [propput] HRESULT Top
( [in] LONG Top
);
110 [propget] HRESULT Top
( [out, retval] LONG *pTop
);
111 [propput] HRESULT Height
( [in] LONG Height
);
112 [propget] HRESULT Height
( [out, retval] LONG *pHeight
);
113 [propput] HRESULT Owner
( [in] OAHWND Owner
);
114 [propget] HRESULT Owner
( [out, retval] OAHWND
*Owner
);
115 [propput] HRESULT MessageDrain
( [in] OAHWND Drain
);
116 [propget] HRESULT MessageDrain
( [out, retval] OAHWND
*Drain
);
117 [propget] HRESULT BorderColor
( [out, retval] LONG *Color
);
118 [propput] HRESULT BorderColor
( [in] LONG Color
);
119 [propget] HRESULT FullScreenMode
( [out, retval] LONG *FullScreenMode
);
120 [propput] HRESULT FullScreenMode
( [in] LONG FullScreenMode
);
121 HRESULT SetWindowForeground
( [in] LONG Focus
);
122 HRESULT NotifyOwnerMessage
( [in] OAHWND hwnd
, [in] LONG uMsg
, [in] LONG_PTR wParam
, [in] LONG_PTR lParam
);
123 HRESULT SetWindowPosition
( [in] LONG Left
, [in] LONG Top
, [in] LONG Width
, [in] LONG Height
);
124 HRESULT GetWindowPosition
( [out] LONG *pLeft
, [out] LONG *pTop
, [out] LONG *pWidth
, [out] LONG *pHeight
);
125 HRESULT GetMinIdealImageSize
( [out] LONG *pWidth
, [out] LONG *pHeight
);
126 HRESULT GetMaxIdealImageSize
( [out] LONG *pWidth
, [out] LONG *pHeight
);
127 HRESULT GetRestorePosition
( [out] LONG *pLeft
, [out] LONG *pTop
, [out] LONG *pWidth
, [out] LONG *pHeight
);
128 HRESULT HideCursor
( [in] LONG HideCursor
);
129 HRESULT IsCursorHidden
( [out] LONG *CursorHidden
);
133 /***************************************************************************
134 * IBasicVideo interface
138 uuid(56a868b5
-0ad4
-11ce
-b03a
-0020af0ba770
),
142 interface IBasicVideo
: IDispatch
144 [propget] HRESULT AvgTimePerFrame
( [out, retval] REFTIME
*pAvgTimePerFrame
);
145 [propget] HRESULT BitRate
( [out, retval] LONG *pBitRate
);
146 [propget] HRESULT BitErrorRate
( [out, retval] LONG *pBitErrorRate
);
147 [propget] HRESULT VideoWidth
( [out, retval] LONG *pVideoWidth
);
148 [propget] HRESULT VideoHeight
( [out, retval] LONG *pVideoHeight
);
149 [propput] HRESULT SourceLeft
( [in] LONG SourceLeft
);
150 [propget] HRESULT SourceLeft
( [out, retval] LONG *pSourceLeft
);
151 [propput] HRESULT SourceWidth
( [in] LONG SourceWidth
);
152 [propget] HRESULT SourceWidth
( [out, retval] LONG *pSourceWidth
);
153 [propput] HRESULT SourceTop
( [in] LONG SourceTop
);
154 [propget] HRESULT SourceTop
( [out, retval] LONG *pSourceTop
);
155 [propput] HRESULT SourceHeight
( [in] LONG SourceHeight
);
156 [propget] HRESULT SourceHeight
( [out, retval] LONG *pSourceHeight
);
157 [propput] HRESULT DestinationLeft
( [in] LONG DestinationLeft
);
158 [propget] HRESULT DestinationLeft
( [out, retval] LONG *pDestinationLeft
);
159 [propput] HRESULT DestinationWidth
( [in] LONG DestinationWidth
);
160 [propget] HRESULT DestinationWidth
( [out, retval] LONG *pDestinationWidth
);
161 [propput] HRESULT DestinationTop
( [in] LONG DestinationTop
);
162 [propget] HRESULT DestinationTop
( [out, retval] LONG *pDestinationTop
);
163 [propput] HRESULT DestinationHeight
( [in] LONG DestinationHeight
);
164 [propget] HRESULT DestinationHeight
( [out, retval] LONG *pDestinationHeight
);
165 HRESULT SetSourcePosition
( [in] LONG Left
, [in] LONG Top
, [in] LONG Width
, [in] LONG Height
);
166 HRESULT GetSourcePosition
( [out] LONG *pLeft
, [out] LONG *pTop
, [out] LONG *pWidth
, [out] LONG *pHeight
);
167 HRESULT SetDefaultSourcePosition
();
168 HRESULT SetDestinationPosition
( [in] LONG Left
, [in] LONG Top
, [in] LONG Width
, [in] LONG Height
);
169 HRESULT GetDestinationPosition
( [out] LONG *pLeft
, [out] LONG *pTop
, [out] LONG *pWidth
, [out] LONG *pHeight
);
170 HRESULT SetDefaultDestinationPosition
();
171 HRESULT GetVideoSize
( [out] LONG *pWidth
, [out] LONG *pHeight
);
172 HRESULT GetVideoPaletteEntries
( [in] LONG StartIndex
,
174 [out] LONG *pRetrieved
,
175 [out] LONG *pPalette
);
176 HRESULT GetCurrentImage
( [in, out] LONG *pBufferSize
,
177 [out] LONG *pDIBImage
);
178 HRESULT IsUsingDefaultSource
();
179 HRESULT IsUsingDefaultDestination
();
183 uuid(329bb360
-f6ea
-11d1
-9038-00a0c9697298
),
184 helpstring("IBasicVideo2"),
188 interface IBasicVideo2
: IBasicVideo
190 HRESULT GetPreferredAspectRatio
([out] LONG *plAspectX
, [out] LONG *plAspectY
);
194 /***************************************************************************
195 * IMediaEvent interface
199 uuid(56a868b6
-0ad4
-11ce
-b03a
-0020af0ba770
),
203 interface IMediaEvent
: IDispatch
205 HRESULT GetEventHandle
( [out] OAEVENT
*hEvent
);
206 HRESULT GetEvent
( [out] LONG *lEventCode
, [out] LONG_PTR
*lParam1
, [out] LONG_PTR
*lParam2
, [in] LONG msTimeout
);
207 HRESULT WaitForCompletion
( [in] LONG msTimeout
, [out] LONG *pEvCode
);
208 HRESULT CancelDefaultHandling
( [in] LONG lEvCode
);
209 HRESULT RestoreDefaultHandling
( [in] LONG lEvCode
);
210 HRESULT FreeEventParams
( [in] LONG lEvCode
, [in] LONG_PTR lParam1
, [in] LONG_PTR lParam2
);
214 /***************************************************************************
215 * IMediaEventEx interface
219 uuid(56a868c0
-0ad4
-11ce
-b03a
-0020af0ba770
),
221 interface IMediaEventEx
: IMediaEvent
223 HRESULT SetNotifyWindow
( [in] OAHWND hwnd
, [in] LONG lMsg
, [in] LONG_PTR lInstanceData
);
224 HRESULT SetNotifyFlags
( [in] LONG lNoNotifyFlags
);
225 HRESULT GetNotifyFlags
( [out] LONG *lplNoNotifyFlags
);
229 /***************************************************************************
230 * IMediaPosition interface
234 uuid(56a868b2
-0ad4
-11ce
-b03a
-0020af0ba770
),
238 interface IMediaPosition
: IDispatch
240 [propget] HRESULT Duration
( [out, retval] REFTIME
*plength
);
241 [propput] HRESULT CurrentPosition
( [in] REFTIME llTime
);
242 [propget] HRESULT CurrentPosition
( [out, retval] REFTIME
*pllTime
);
243 [propget] HRESULT StopTime
( [out, retval] REFTIME
*pllTime
);
244 [propput] HRESULT StopTime
( [in] REFTIME llTime
);
245 [propget] HRESULT PrerollTime
( [out, retval] REFTIME
*pllTime
);
246 [propput] HRESULT PrerollTime
( [in] REFTIME llTime
);
247 [propput] HRESULT Rate
( [in] double dRate
);
248 [propget] HRESULT Rate
( [out, retval] double *pdRate
);
249 HRESULT CanSeekForward
( [out, retval] LONG *pCanSeekForward
);
250 HRESULT CanSeekBackward
( [out, retval] LONG *pCanSeekBackward
);
253 } /* library QuartzTypeLib */