quartz: Define the QuartzTypeLib library in control.idl.

Francois Gouget fgouget at free.fr
Wed Dec 28 03:45:12 CST 2011


Also remove some unneeded forward declarations.
---

I also reindented the file to make the content of the library clear.

 include/control.idl |  446 ++++++++++++++++++++++++++-------------------------
 1 files changed, 224 insertions(+), 222 deletions(-)

diff --git a/include/control.idl b/include/control.idl
index 7d1c83b..884c410 100644
--- a/include/control.idl
+++ b/include/control.idl
@@ -19,228 +19,230 @@
 
 import "oaidl.idl";
 
-interface IMediaControl;
-interface IBasicAudio;
-interface IBasicVideo;
-interface IVideoWindow;
-interface IMediaEvent;
-interface IMediaEventEx;
-interface IMediaPosition;
-
-typedef LONG OAFilterState;
-typedef LONG_PTR OAHWND;
-typedef LONG_PTR OAEVENT;
-
-cpp_quote("#ifndef REFTIME_DEFINED")
-cpp_quote("#define REFTIME_DEFINED")
-typedef DOUBLE REFTIME;
-cpp_quote("#endif")
-
-/*****************************************************************************
- * IMediaControl interface
- */
-[
-    object,
-    uuid(56a868b1-0ad4-11ce-b03a-0020af0ba770),
-    pointer_default(unique)
-]
-interface IMediaControl : IDispatch
-{
-    HRESULT Run();
-    HRESULT Pause();
-    HRESULT Stop();
-    HRESULT GetState( [in] LONG msTimeout, [out] OAFilterState *pfs );
-    HRESULT RenderFile( [in] BSTR strFilename );
-    HRESULT AddSourceFilter( [in] BSTR strFilename, [out] IDispatch **ppUnk );
-    [propget] HRESULT FilterCollection( [out] IDispatch **ppUnk );
-    [propget] HRESULT RegFilterCollection( [out] IDispatch **ppUnk );
-    HRESULT StopWhenReady();
-}
-
-
-/*****************************************************************************
- * IBasicAudio interface
- */
-[
-    object,
-    uuid(56a868b3-0ad4-11ce-b03a-0020af0ba770),
-    pointer_default(unique)
-]
-interface IBasicAudio : IDispatch
-{
-    [propput] HRESULT Volume( [in] LONG lVolume );
-    [propget] HRESULT Volume( [out] LONG *plVolume );
-    [propput] HRESULT Balance( [in] LONG lBalance );
-    [propget] HRESULT Balance( [out] LONG *plBalance );
-}
-
-
-/*****************************************************************************
- * IVideoWindow interface
- */
-[
-    object,
-    uuid(56a868b4-0ad4-11ce-b03a-0020af0ba770),
-    pointer_default(unique)
-]
-interface IVideoWindow : IDispatch
-{
-    [propput] HRESULT Caption( [in] BSTR strCaption );
-    [propget] HRESULT Caption( [out] BSTR *strCaption );
-    [propput] HRESULT WindowStyle( [in] LONG WindowStyle );
-    [propget] HRESULT WindowStyle( [out] LONG *WindowStyle );
-    [propput] HRESULT WindowStyleEx( [in] LONG WindowStyleEx );
-    [propget] HRESULT WindowStyleEx( [out] LONG *WindowStyleEx );
-    [propput] HRESULT AutoShow( [in] LONG AutoShow );
-    [propget] HRESULT AutoShow( [out] LONG *AutoShow );
-    [propput] HRESULT WindowState( [in] LONG WindowState );
-    [propget] HRESULT WindowState( [out] LONG *WindowState );
-    [propput] HRESULT BackgroundPalette( [in] LONG BackgroundPalette );
-    [propget] HRESULT BackgroundPalette( [out] LONG *pBackgroundPalette );
-    [propput] HRESULT Visible( [in] LONG Visible );
-    [propget] HRESULT Visible( [out] LONG *pVisible );
-    [propput] HRESULT Left( [in] LONG Left );
-    [propget] HRESULT Left( [out] LONG *pLeft );
-    [propput] HRESULT Width( [in] LONG Width );
-    [propget] HRESULT Width( [out] LONG *pWidth );
-    [propput] HRESULT Top( [in] LONG Top );
-    [propget] HRESULT Top( [out] LONG *pTop );
-    [propput] HRESULT Height( [in] LONG Height );
-    [propget] HRESULT Height( [out] LONG *pHeight );
-    [propput] HRESULT Owner( [in] OAHWND Owner );
-    [propget] HRESULT Owner( [out] OAHWND *Owner );
-    [propput] HRESULT MessageDrain( [in] OAHWND Drain );
-    [propget] HRESULT MessageDrain( [out] OAHWND *Drain );
-    [propget] HRESULT BorderColor( [out] LONG *Color );
-    [propput] HRESULT BorderColor( [in] LONG Color );
-    [propget] HRESULT FullScreenMode( [out] LONG *FullScreenMode );
-    [propput] HRESULT FullScreenMode( [in] LONG FullScreenMode );
-    HRESULT SetWindowForeground( [in] LONG Focus );
-    HRESULT NotifyOwnerMessage( [in] OAHWND hwnd, [in] LONG uMsg, [in] LONG_PTR wParam, [in] LONG_PTR lParam );
-    HRESULT SetWindowPosition( [in] LONG Left, [in] LONG Top, [in] LONG Width, [in] LONG Height );
-    HRESULT GetWindowPosition( [out] LONG *pLeft, [out] LONG *pTop, [out] LONG *pWidth, [out] LONG *pHeight );
-    HRESULT GetMinIdealImageSize( [out] LONG *pWidth, [out] LONG *pHeight );
-    HRESULT GetMaxIdealImageSize( [out] LONG *pWidth, [out] LONG *pHeight );
-    HRESULT GetRestorePosition( [out] LONG *pLeft, [out] LONG *pTop, [out] LONG *pWidth, [out] LONG *pHeight );
-    HRESULT HideCursor( [in] LONG HideCursor );
-    HRESULT IsCursorHidden( [out] LONG *CursorHidden );
-}
-
-
-/*****************************************************************************
- * IBasicVideo interface
- */
-[
-    object,
-    uuid(56a868b5-0ad4-11ce-b03a-0020af0ba770),
-    pointer_default(unique)
-]
-interface IBasicVideo : IDispatch
-{
-    [propget] HRESULT AvgTimePerFrame( [out] REFTIME *pAvgTimePerFrame );
-    [propget] HRESULT BitRate( [out] LONG *pBitRate );
-    [propget] HRESULT BitErrorRate( [out] LONG *pBitErrorRate );
-    [propget] HRESULT VideoWidth( [out] LONG *pVideoWidth );
-    [propget] HRESULT VideoHeight( [out] LONG *pVideoHeight );
-    [propput] HRESULT SourceLeft( [in] LONG SourceLeft );
-    [propget] HRESULT SourceLeft( [out] LONG *pSourceLeft );
-    [propput] HRESULT SourceWidth( [in] LONG SourceWidth );
-    [propget] HRESULT SourceWidth( [out] LONG *pSourceWidth );
-    [propput] HRESULT SourceTop( [in] LONG SourceTop );
-    [propget] HRESULT SourceTop( [out] LONG *pSourceTop );
-    [propput] HRESULT SourceHeight( [in] LONG SourceHeight );
-    [propget] HRESULT SourceHeight( [out] LONG *pSourceHeight );
-    [propput] HRESULT DestinationLeft( [in] LONG DestinationLeft );
-    [propget] HRESULT DestinationLeft( [out] LONG *pDestinationLeft );
-    [propput] HRESULT DestinationWidth( [in] LONG DestinationWidth );
-    [propget] HRESULT DestinationWidth( [out] LONG *pDestinationWidth );
-    [propput] HRESULT DestinationTop( [in] LONG DestinationTop );
-    [propget] HRESULT DestinationTop( [out] LONG *pDestinationTop );
-    [propput] HRESULT DestinationHeight( [in] LONG DestinationHeight );
-    [propget] HRESULT DestinationHeight( [out] LONG *pDestinationHeight );
-    HRESULT SetSourcePosition( [in] LONG Left, [in] LONG Top, [in] LONG Width, [in] LONG Height );
-    HRESULT GetSourcePosition( [out] LONG *pLeft, [out] LONG *pTop, [out] LONG *pWidth, [out] LONG *pHeight );
-    HRESULT SetDefaultSourcePosition();
-    HRESULT SetDestinationPosition( [in] LONG Left, [in] LONG Top, [in] LONG Width, [in] LONG Height );
-    HRESULT GetDestinationPosition( [out] LONG *pLeft, [out] LONG *pTop, [out] LONG *pWidth, [out] LONG *pHeight );
-    HRESULT SetDefaultDestinationPosition();
-    HRESULT GetVideoSize( [out] LONG *pWidth, [out] LONG *pHeight );
-    HRESULT GetVideoPaletteEntries( [in] LONG StartIndex,
-                                    [in] LONG Entries,
-                                    [out] LONG *pRetrieved,
-                                    [out, size_is(Entries), length_is(*pRetrieved)] LONG *pPalette );
-    HRESULT GetCurrentImage( [in, out] LONG *pBufferSize,
-                             [out, size_is(*pBufferSize), length_is(*pBufferSize)] LONG *pDIBImage );
-    HRESULT IsUsingDefaultSource();
-    HRESULT IsUsingDefaultDestination();
-}
-
-[
-    uuid(329bb360-f6ea-11d1-9038-00a0c9697298),
-    helpstring("IBasicVideo2"),
-    odl
-]
-
-interface IBasicVideo2 : IBasicVideo
-{
-    HRESULT GetPreferredAspectRatio([out] LONG *plAspectX, [out] LONG *plAspectY);
-}
-
-
-/*****************************************************************************
- * IMediaEvent interface
- */
-[
-    object,
-    uuid(56a868b6-0ad4-11ce-b03a-0020af0ba770),
-    pointer_default(unique)
-]
-interface IMediaEvent : IDispatch
-{
-    HRESULT GetEventHandle( [out] OAEVENT *hEvent );
-    HRESULT GetEvent( [out] LONG *lEventCode, [out] LONG_PTR *lParam1, [out] LONG_PTR *lParam2, [in] LONG msTimeout );
-    HRESULT WaitForCompletion( [in] LONG msTimeout, [out] LONG *pEvCode );
-    HRESULT CancelDefaultHandling( [in] LONG lEvCode );
-    HRESULT RestoreDefaultHandling( [in] LONG lEvCode );
-    HRESULT FreeEventParams( [in] LONG lEvCode, [in] LONG_PTR lParam1, [in] LONG_PTR lParam2 );
-}
-
-
-/*****************************************************************************
- * IMediaEventEx interface
- */
-[
-    object,
-    uuid(56a868c0-0ad4-11ce-b03a-0020af0ba770),
-    pointer_default(unique)
-]
-interface IMediaEventEx : IMediaEvent
-{
-    HRESULT SetNotifyWindow( [in] OAHWND hwnd, [in] LONG lMsg, [in] LONG_PTR lInstanceData );
-    HRESULT SetNotifyFlags( [in] LONG lNoNotifyFlags );
-    HRESULT GetNotifyFlags( [out] LONG *lplNoNotifyFlags );
-}
-
-
-/*****************************************************************************
- * IMediaPosition interface
- */
 [
-    object,
-    uuid(56a868b2-0ad4-11ce-b03a-0020af0ba770),
-    pointer_default(unique)
+    version(1.0),
+    uuid(56a868b0-0ad4-11ce-b03a-0020af0ba770)
 ]
-interface IMediaPosition : IDispatch
+library QuartzTypeLib
 {
-    HRESULT get_Duration( [out] REFTIME *plength );
-    HRESULT put_CurrentPosition( [in] REFTIME llTime );
-    HRESULT get_CurrentPosition( [out] REFTIME *pllTime );
-    HRESULT get_StopTime( [out] REFTIME *pllTime );
-    HRESULT put_StopTime( [in] REFTIME llTime );
-    HRESULT get_PrerollTime( [out] REFTIME *pllTime );
-    HRESULT put_PrerollTime( [in] REFTIME llTime );
-    HRESULT put_Rate( [in] double dRate );
-    HRESULT get_Rate( [out] double *pdRate );
-    HRESULT CanSeekForward( [out] LONG *pCanSeekForward );
-    HRESULT CanSeekBackward( [out] LONG *pCanSeekBackward );
-}
+    importlib("stdole2.tlb");
+
+    typedef LONG OAFilterState;
+    typedef LONG_PTR OAHWND;
+    typedef LONG_PTR OAEVENT;
+
+    cpp_quote("#ifndef REFTIME_DEFINED")
+    cpp_quote("#define REFTIME_DEFINED")
+    typedef DOUBLE REFTIME;
+    cpp_quote("#endif")
+
+    /***************************************************************************
+     * IMediaControl interface
+     */
+    [
+        object,
+        uuid(56a868b1-0ad4-11ce-b03a-0020af0ba770),
+        pointer_default(unique)
+    ]
+    interface IMediaControl : IDispatch
+    {
+        HRESULT Run();
+        HRESULT Pause();
+        HRESULT Stop();
+        HRESULT GetState( [in] LONG msTimeout, [out] OAFilterState *pfs );
+        HRESULT RenderFile( [in] BSTR strFilename );
+        HRESULT AddSourceFilter( [in] BSTR strFilename, [out] IDispatch **ppUnk );
+        [propget] HRESULT FilterCollection( [out] IDispatch **ppUnk );
+        [propget] HRESULT RegFilterCollection( [out] IDispatch **ppUnk );
+        HRESULT StopWhenReady();
+    }
+
+
+    /***************************************************************************
+     * IBasicAudio interface
+     */
+    [
+        object,
+        uuid(56a868b3-0ad4-11ce-b03a-0020af0ba770),
+        pointer_default(unique)
+    ]
+    interface IBasicAudio : IDispatch
+    {
+        [propput] HRESULT Volume( [in] LONG lVolume );
+        [propget] HRESULT Volume( [out] LONG *plVolume );
+        [propput] HRESULT Balance( [in] LONG lBalance );
+        [propget] HRESULT Balance( [out] LONG *plBalance );
+    }
+
+
+    /***************************************************************************
+     * IVideoWindow interface
+     */
+    [
+        object,
+        uuid(56a868b4-0ad4-11ce-b03a-0020af0ba770),
+        pointer_default(unique)
+    ]
+    interface IVideoWindow : IDispatch
+    {
+        [propput] HRESULT Caption( [in] BSTR strCaption );
+        [propget] HRESULT Caption( [out] BSTR *strCaption );
+        [propput] HRESULT WindowStyle( [in] LONG WindowStyle );
+        [propget] HRESULT WindowStyle( [out] LONG *WindowStyle );
+        [propput] HRESULT WindowStyleEx( [in] LONG WindowStyleEx );
+        [propget] HRESULT WindowStyleEx( [out] LONG *WindowStyleEx );
+        [propput] HRESULT AutoShow( [in] LONG AutoShow );
+        [propget] HRESULT AutoShow( [out] LONG *AutoShow );
+        [propput] HRESULT WindowState( [in] LONG WindowState );
+        [propget] HRESULT WindowState( [out] LONG *WindowState );
+        [propput] HRESULT BackgroundPalette( [in] LONG BackgroundPalette );
+        [propget] HRESULT BackgroundPalette( [out] LONG *pBackgroundPalette );
+        [propput] HRESULT Visible( [in] LONG Visible );
+        [propget] HRESULT Visible( [out] LONG *pVisible );
+        [propput] HRESULT Left( [in] LONG Left );
+        [propget] HRESULT Left( [out] LONG *pLeft );
+        [propput] HRESULT Width( [in] LONG Width );
+        [propget] HRESULT Width( [out] LONG *pWidth );
+        [propput] HRESULT Top( [in] LONG Top );
+        [propget] HRESULT Top( [out] LONG *pTop );
+        [propput] HRESULT Height( [in] LONG Height );
+        [propget] HRESULT Height( [out] LONG *pHeight );
+        [propput] HRESULT Owner( [in] OAHWND Owner );
+        [propget] HRESULT Owner( [out] OAHWND *Owner );
+        [propput] HRESULT MessageDrain( [in] OAHWND Drain );
+        [propget] HRESULT MessageDrain( [out] OAHWND *Drain );
+        [propget] HRESULT BorderColor( [out] LONG *Color );
+        [propput] HRESULT BorderColor( [in] LONG Color );
+        [propget] HRESULT FullScreenMode( [out] LONG *FullScreenMode );
+        [propput] HRESULT FullScreenMode( [in] LONG FullScreenMode );
+        HRESULT SetWindowForeground( [in] LONG Focus );
+        HRESULT NotifyOwnerMessage( [in] OAHWND hwnd, [in] LONG uMsg, [in] LONG_PTR wParam, [in] LONG_PTR lParam );
+        HRESULT SetWindowPosition( [in] LONG Left, [in] LONG Top, [in] LONG Width, [in] LONG Height );
+        HRESULT GetWindowPosition( [out] LONG *pLeft, [out] LONG *pTop, [out] LONG *pWidth, [out] LONG *pHeight );
+        HRESULT GetMinIdealImageSize( [out] LONG *pWidth, [out] LONG *pHeight );
+        HRESULT GetMaxIdealImageSize( [out] LONG *pWidth, [out] LONG *pHeight );
+        HRESULT GetRestorePosition( [out] LONG *pLeft, [out] LONG *pTop, [out] LONG *pWidth, [out] LONG *pHeight );
+        HRESULT HideCursor( [in] LONG HideCursor );
+        HRESULT IsCursorHidden( [out] LONG *CursorHidden );
+    }
+
+
+    /***************************************************************************
+     * IBasicVideo interface
+     */
+    [
+        object,
+        uuid(56a868b5-0ad4-11ce-b03a-0020af0ba770),
+        pointer_default(unique)
+    ]
+    interface IBasicVideo : IDispatch
+    {
+        [propget] HRESULT AvgTimePerFrame( [out] REFTIME *pAvgTimePerFrame );
+        [propget] HRESULT BitRate( [out] LONG *pBitRate );
+        [propget] HRESULT BitErrorRate( [out] LONG *pBitErrorRate );
+        [propget] HRESULT VideoWidth( [out] LONG *pVideoWidth );
+        [propget] HRESULT VideoHeight( [out] LONG *pVideoHeight );
+        [propput] HRESULT SourceLeft( [in] LONG SourceLeft );
+        [propget] HRESULT SourceLeft( [out] LONG *pSourceLeft );
+        [propput] HRESULT SourceWidth( [in] LONG SourceWidth );
+        [propget] HRESULT SourceWidth( [out] LONG *pSourceWidth );
+        [propput] HRESULT SourceTop( [in] LONG SourceTop );
+        [propget] HRESULT SourceTop( [out] LONG *pSourceTop );
+        [propput] HRESULT SourceHeight( [in] LONG SourceHeight );
+        [propget] HRESULT SourceHeight( [out] LONG *pSourceHeight );
+        [propput] HRESULT DestinationLeft( [in] LONG DestinationLeft );
+        [propget] HRESULT DestinationLeft( [out] LONG *pDestinationLeft );
+        [propput] HRESULT DestinationWidth( [in] LONG DestinationWidth );
+        [propget] HRESULT DestinationWidth( [out] LONG *pDestinationWidth );
+        [propput] HRESULT DestinationTop( [in] LONG DestinationTop );
+        [propget] HRESULT DestinationTop( [out] LONG *pDestinationTop );
+        [propput] HRESULT DestinationHeight( [in] LONG DestinationHeight );
+        [propget] HRESULT DestinationHeight( [out] LONG *pDestinationHeight );
+        HRESULT SetSourcePosition( [in] LONG Left, [in] LONG Top, [in] LONG Width, [in] LONG Height );
+        HRESULT GetSourcePosition( [out] LONG *pLeft, [out] LONG *pTop, [out] LONG *pWidth, [out] LONG *pHeight );
+        HRESULT SetDefaultSourcePosition();
+        HRESULT SetDestinationPosition( [in] LONG Left, [in] LONG Top, [in] LONG Width, [in] LONG Height );
+        HRESULT GetDestinationPosition( [out] LONG *pLeft, [out] LONG *pTop, [out] LONG *pWidth, [out] LONG *pHeight );
+        HRESULT SetDefaultDestinationPosition();
+        HRESULT GetVideoSize( [out] LONG *pWidth, [out] LONG *pHeight );
+        HRESULT GetVideoPaletteEntries( [in] LONG StartIndex,
+                                        [in] LONG Entries,
+                                        [out] LONG *pRetrieved,
+                                        [out, size_is(Entries), length_is(*pRetrieved)] LONG *pPalette );
+        HRESULT GetCurrentImage( [in, out] LONG *pBufferSize,
+                                 [out, size_is(*pBufferSize), length_is(*pBufferSize)] LONG *pDIBImage );
+        HRESULT IsUsingDefaultSource();
+        HRESULT IsUsingDefaultDestination();
+    }
+
+    [
+        uuid(329bb360-f6ea-11d1-9038-00a0c9697298),
+        helpstring("IBasicVideo2"),
+        odl
+    ]
+
+    interface IBasicVideo2 : IBasicVideo
+    {
+        HRESULT GetPreferredAspectRatio([out] LONG *plAspectX, [out] LONG *plAspectY);
+    }
+
+
+    /***************************************************************************
+     * IMediaEvent interface
+     */
+    [
+        object,
+        uuid(56a868b6-0ad4-11ce-b03a-0020af0ba770),
+        pointer_default(unique)
+    ]
+    interface IMediaEvent : IDispatch
+    {
+        HRESULT GetEventHandle( [out] OAEVENT *hEvent );
+        HRESULT GetEvent( [out] LONG *lEventCode, [out] LONG_PTR *lParam1, [out] LONG_PTR *lParam2, [in] LONG msTimeout );
+        HRESULT WaitForCompletion( [in] LONG msTimeout, [out] LONG *pEvCode );
+        HRESULT CancelDefaultHandling( [in] LONG lEvCode );
+        HRESULT RestoreDefaultHandling( [in] LONG lEvCode );
+        HRESULT FreeEventParams( [in] LONG lEvCode, [in] LONG_PTR lParam1, [in] LONG_PTR lParam2 );
+    }
+
+
+    /***************************************************************************
+     * IMediaEventEx interface
+     */
+    [
+        object,
+        uuid(56a868c0-0ad4-11ce-b03a-0020af0ba770),
+        pointer_default(unique)
+    ]
+    interface IMediaEventEx : IMediaEvent
+    {
+        HRESULT SetNotifyWindow( [in] OAHWND hwnd, [in] LONG lMsg, [in] LONG_PTR lInstanceData );
+        HRESULT SetNotifyFlags( [in] LONG lNoNotifyFlags );
+        HRESULT GetNotifyFlags( [out] LONG *lplNoNotifyFlags );
+    }
+
+
+    /***************************************************************************
+     * IMediaPosition interface
+     */
+    [
+        object,
+        uuid(56a868b2-0ad4-11ce-b03a-0020af0ba770),
+        pointer_default(unique)
+    ]
+    interface IMediaPosition : IDispatch
+    {
+        HRESULT get_Duration( [out] REFTIME *plength );
+        HRESULT put_CurrentPosition( [in] REFTIME llTime );
+        HRESULT get_CurrentPosition( [out] REFTIME *pllTime );
+        HRESULT get_StopTime( [out] REFTIME *pllTime );
+        HRESULT put_StopTime( [in] REFTIME llTime );
+        HRESULT get_PrerollTime( [out] REFTIME *pllTime );
+        HRESULT put_PrerollTime( [in] REFTIME llTime );
+        HRESULT put_Rate( [in] double dRate );
+        HRESULT get_Rate( [out] double *pdRate );
+        HRESULT CanSeekForward( [out] LONG *pCanSeekForward );
+        HRESULT CanSeekBackward( [out] LONG *pCanSeekBackward );
+    }
+
+} /* library QuartzTypeLib */
-- 
1.7.7.3




More information about the wine-patches mailing list