40 lines
1.2 KiB
C
40 lines
1.2 KiB
C
// IVIDPOOL.H
|
|
//
|
|
// Contains the interfaces IVidPool
|
|
//
|
|
// Created 17-Jan-97 [RichP]
|
|
|
|
#ifndef _IVIDPOOL_H
|
|
#define _IVIDPOOL_H
|
|
|
|
// IIDs
|
|
// {36447652-7089-11d0-BC25-00AA00A13C86}
|
|
DEFINE_GUID(IID_IVidPool, 0x36447652, 0x7089, 0x11d0, 0xbc, 0x25, 0x0, 0xaa, 0x0, 0xa1, 0x3c, 0x86);
|
|
|
|
// Interfaces
|
|
|
|
#undef INTERFACE
|
|
#define INTERFACE IVidPool
|
|
|
|
DECLARE_INTERFACE_(IVidPool, IBitmapSurfaceFactory)
|
|
{
|
|
// IUnknown methods
|
|
STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID* ppvObj) PURE;
|
|
STDMETHOD_(ULONG,AddRef) (THIS) PURE;
|
|
STDMETHOD_(ULONG,Release) (THIS) PURE;
|
|
|
|
// IBitmapSurfaceFactory methods
|
|
STDMETHOD(CreateBitmapSurface)(THIS_ long width, long height, BFID* pBFID, DWORD dwHintFlags, IBitmapSurface** ppBitmapSurface) PURE;
|
|
STDMETHOD(GetSupportedFormatsCount)(THIS_ long* pcFormats) PURE;
|
|
STDMETHOD(GetSupportedFormats)(THIS_ long cFormats, BFID* pBFIDs) PURE;
|
|
|
|
// IVidPool methods
|
|
STDMETHOD(InitPool)(THIS_ int nBuffers, BFID* format, long size, int pitch) PURE;
|
|
STDMETHOD(AddExternalBuffer)(THIS_ void* pBits, int pitch, void* refdata) PURE;
|
|
STDMETHOD(InvalidatePool)(void) PURE;
|
|
STDMETHOD(GetBuffer)(THIS_ IBitmapSurface** ppBitmapSurface, void** prefdata) PURE;
|
|
};
|
|
|
|
#endif // #ifndef _IVIDPOOL_H
|
|
|