/* * ddstream.h DirectDraw streaming interfaces * * ========================================================================= * * Open Watcom Project * * Copyright (c) 2004-2010 The Open Watcom Contributors. All Rights Reserved. * * This file is automatically generated. Do not edit directly. * * ========================================================================= */ #include #include #ifndef COM_NO_WINDOWS_H #include #include #endif #ifndef __ddstream_h__ #define __ddstream_h__ #ifndef _ENABLE_AUTODEPEND #pragma read_only_file; #endif #include #include #ifdef __cplusplus extern "C" { #endif /* Forward declarations */ typedef interface IDirectDrawStreamSample IDirectDrawStreamSample; /* DirectDraw streaming flags */ enum { DDSFF_PROGRESSIVERENDER = 0x00000001 }; /* GUIDs */ EXTERN_C const IID IID_IDirectDrawMediaStream; EXTERN_C const IID IID_IDirectDrawStreamSample; /* IDirectDrawMediaStream interface */ #undef INTERFACE #define INTERFACE IDirectDrawMediaStream DECLARE_INTERFACE_( IDirectDrawMediaStream, IMediaStream ) { /* IUnknown methods */ STDMETHOD( QueryInterface )( THIS_ REFIID, void ** ) PURE; STDMETHOD_( ULONG, AddRef )( THIS ) PURE; STDMETHOD_( ULONG, Release )( THIS ) PURE; /* IMediaStream methods */ STDMETHOD( GetMultiMediaStream )( THIS_ IMultiMediaStream ** ) PURE; STDMETHOD( GetInformation )( THIS_ MSPID *, STREAM_TYPE * ) PURE; STDMETHOD( SetSameFormat )( THIS_ IMediaStream *, DWORD ) PURE; STDMETHOD( AllocateSample )( THIS_ DWORD, IStreamSample ** ) PURE; STDMETHOD( CreateSharedSample )( THIS_ IStreamSample *, DWORD, IStreamSample ** ) PURE; STDMETHOD( SendEndOfStream )( THIS_ DWORD ) PURE; /* IDirectDrawMediaStream methods */ STDMETHOD( GetFormat )( THIS_ DDSURFACEDESC *, IDirectDrawPalette **, DDSURFACEDESC *, DWORD * ) PURE; STDMETHOD( SetFormat )( THIS_ const DDSURFACEDESC *, IDirectDrawPalette * ) PURE; STDMETHOD( GetDirectDraw )( THIS_ IDirectDraw ** ) PURE; STDMETHOD( SetDirectDraw )( THIS_ IDirectDraw * ) PURE; STDMETHOD( CreateSample )( THIS_ IDirectDrawSurface *, const RECT *, DWORD, IDirectDrawStreamSample ** ) PURE; STDMETHOD( GetTimePerFrame )( THIS_ STREAM_TIME * ) PURE; }; /* IDirectDrawStreamSample interface */ #undef INTERFACE #define INTERFACE IDirectDrawStreamSample DECLARE_INTERFACE_( IDirectDrawStreamSample, IStreamSample ) { /* IUnknown methods */ STDMETHOD( QueryInterface )( THIS_ REFIID, void ** ) PURE; STDMETHOD_( ULONG, AddRef )( THIS ) PURE; STDMETHOD_( ULONG, Release )( THIS ) PURE; /* IStreamSample methods */ STDMETHOD( GetMediaStream )( THIS_ IMediaStream ** ) PURE; STDMETHOD( GetSampleTimes )( THIS_ STREAM_TIME *, STREAM_TIME *, STREAM_TIME * ) PURE; STDMETHOD( SetSampleTimes )( THIS_ const STREAM_TIME *, const STREAM_TIME * ) PURE; STDMETHOD( Update )( THIS_ DWORD, HANDLE, PAPCFUNC, DWORD_PTR ) PURE; STDMETHOD( CompletionStatus )( DWORD, DWORD ) PURE; /* IDirectDrawStreamSample methods */ STDMETHOD( GetSurface )( THIS_ IDirectDrawSurface **, RECT * ) PURE; STDMETHOD( SetRect )( THIS_ const RECT * ) PURE; }; /* C object macros */ #if (!defined( __cplusplus ) || defined( CINTERFACE )) && defined( COBJMACROS ) #define IDirectDrawMediaStream_QueryInterface( x, p1, p2 ) \ (x)->lpVtbl->QueryInterface( x, p1, p2 ) #define IDirectDrawMediaStream_AddRef( x ) \ (x)->lpVtbl->AddRef( x ) #define IDirectDrawMediaStream_Release( x ) \ (x)->lpVtbl->Release( x ) #define IDirectDrawMediaStream_GetMultiMediaStream( x, p ) \ (x)->lpVtbl->GetMultiMediaStream( x, p ) #define IDirectDrawMediaStream_GetInformation( x, p1, p2 ) \ (x)->lpVtbl->GetInformation( x, p1, p2 ) #define IDirectDrawMediaStream_SetSameFormat( x, p1, p2 ) \ (x)->lpVtbl->SetSameFormat( x, p1, p2 ) #define IDirectDrawMediaStream_AllocateSample( x, p1, p2 ) \ (x)->lpVtbl->AllocateSample( x, p1, p2 ) #define IDirectDrawMediaStream_CreateSharedSample( x, p1, p2, p3 ) \ (x)->lpVtbl->CreateSharedSample( x, p1, p2, p3 ) #define IDirectDrawMediaStream_SendEndOfStream( x, p ) \ (x)->lpVtbl->SendEndOfStream( x, p ) #define IDirectDrawMediaStream_GetFormat( x, p1, p2, p3, p4 ) \ (x)->lpVtbl->GetFormat( x, p1, p2, p3, p4 ) #define IDirectDrawMediaStream_SetFormat( x, p1, p2 ) \ (x)->lpVtbl->SetFormat( x, p1, p2 ) #define IDirectDrawMediaStream_GetDirectDraw( x, p ) \ (x)->lpVtbl->GetDirectDraw( x, p ) #define IDirectDrawMediaStream_SetDirectDraw( x, p ) \ (x)->lpVtbl->SetDirectDraw( x, p ) #define IDirectDrawMediaStream_CreateSample( x, p1, p2, p3, p4 ) \ (x)->lpVtbl->CreateSample( x, p1, p2, p3, p4 ) #define IDirectDrawMediaStream_GetTimePerFrame( x, p ) \ (x)->lpVtbl->GetTimePerFrame( x, p ) #define IDirectDrawStreamSample_QueryInterface( x, p1, p2 ) \ (x)->lpVtbl->QueryInterface( x, p1, p2 ) #define IDirectDrawStreamSample_AddRef( x ) \ (x)->lpVtbl->AddRef( x ) #define IDirectDrawStreamSample_Release( x ) \ (x)->lpVtbl->Release( x ) #define IDirectDrawStreamSample_GetMediaStream( x, p ) \ (x)->lpVtbl->GetMediaStream( x, p ) #define IDirectDrawStreamSample_GetSampleTimes( x, p1, p2, p3 ) \ (x)->lpVtbl->GetSampleTimes( x, p1, p2, p3 ) #define IDirectDrawStreamSample_SetSampleTimes( x, p1, p2 ) \ (x)->lpVtbl->SetSampleTimes( x, p1, p2 ) \ #define IDirectDrawStreamSample_Update( x, p1, p2, p3, p4 ) \ (x)->lpVtbl->Update( x, p1, p2, p3, p4 ) #define IDirectDrawStreamSample_CompletionStatus( x, p1, p2 ) \ (x)->lpVtbl->CompletionStatus( x, p1, p2 ) #define IDirectDrawStreamSample_GetSurface( x, p1, p2 ) \ (x)->lpVtbl->GetSurface( x, p1, p2 ) #define IDirectDrawStreamSample_SetRect( x, p ) \ (x)->lpVtbl->SetRect( x, p ) #endif #ifdef __cplusplus } /* extern "C" */ #endif #endif /* __ddstream_h__ */