154 lines
6 KiB
C
154 lines
6 KiB
C
/*
|
|
* 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 <rpc.h>
|
|
#include <rpcndr.h>
|
|
#ifndef COM_NO_WINDOWS_H
|
|
#include <windows.h>
|
|
#include <ole2.h>
|
|
#endif
|
|
|
|
#ifndef __ddstream_h__
|
|
#define __ddstream_h__
|
|
|
|
#ifndef _ENABLE_AUTODEPEND
|
|
#pragma read_only_file;
|
|
#endif
|
|
|
|
#include <mmstream.h>
|
|
#include <ddraw.h>
|
|
|
|
#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__ */
|