You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
164 lines
5.1 KiB
164 lines
5.1 KiB
// BitmapSurfaces.idl : IDL source for BitmapSurfaces.dll
|
|
//
|
|
|
|
// This file will be processed by the MIDL tool to
|
|
// produce the type library (BitmapSurfaces.tlb) and marshalling code.
|
|
|
|
cpp_quote( "#define SURFACE_LOCK_NORMAL 0x00" )
|
|
cpp_quote( "#define SURFACE_LOCK_EXCLUSIVE 0x01" )
|
|
cpp_quote( "#define SURFACE_LOCK_ALLOW_DISCARD 0x02" )
|
|
cpp_quote( "#define SURFACE_LOCK_READ_ONLY 0x04" )
|
|
cpp_quote( "#define SURFACE_LOCK_WAIT 0x08" )
|
|
|
|
cpp_quote( "#define DECODE_EVENT_PROGRESS 0x01" )
|
|
cpp_quote( "#define DECODE_EVENT_PALETTE 0x02" )
|
|
cpp_quote( "#define DECODE_EVENT_BEGINBITS 0x04" )
|
|
cpp_quote( "#define DECODE_EVENT_BITSCOMPLETE 0x08" )
|
|
|
|
cpp_quote( "#define DECODE_HINT_TOPDOWN 0x01" )
|
|
cpp_quote( "#define DECODE_HINT_BOTTOMUP 0x02" )
|
|
cpp_quote( "#define DECODE_HINT_FULLWIDTH 0x04" )
|
|
|
|
cpp_quote( "#define COLOR_NO_TRANSPARENT 0xffffffff" )
|
|
|
|
cpp_quote( "#define MAP_DEFAULT 0" )
|
|
cpp_quote( "#define MAP_CLSID 1" )
|
|
cpp_quote( "#define MAP_DISABLE 2" )
|
|
cpp_quote( "#define MAP_DEFAULT_ALWAYS 3" )
|
|
|
|
cpp_quote( "EXTERN_C const GUID BFID_RGB_32;" )
|
|
cpp_quote( "EXTERN_C const GUID BFID_RGB_555;" )
|
|
cpp_quote( "EXTERN_C const GUID BFID_RGB_565;" )
|
|
cpp_quote( "EXTERN_C const GUID BFID_RGB_24;" )
|
|
cpp_quote( "EXTERN_C const GUID BFID_RGB_8;" )
|
|
cpp_quote( "#define BFID_INDEXED_RGB_8 BFID_RGB_8" )
|
|
cpp_quote( "EXTERN_C const GUID BFID_RGB_4;" )
|
|
cpp_quote( "#define BFID_INDEXED_RGB_4 BFID_RGB_4" )
|
|
cpp_quote( "EXTERN_C const GUID BFID_MONOCHROME;" )
|
|
cpp_quote( "#define BFID_INDEXED_RGB_1 BFID_MONOCHROME" )
|
|
cpp_quote( "EXTERN_C const GUID BFID_RGBA_32;" )
|
|
cpp_quote( "EXTERN_C const GUID BFID_GRAY_8;" )
|
|
cpp_quote( "EXTERN_C const GUID BFID_GRAY_16;" )
|
|
|
|
typedef struct tagRGBQUAD RGBQUAD;
|
|
|
|
interface IImageDecodeEventSink;
|
|
interface IImageDecodeFilter;
|
|
interface IBitmapSurface;
|
|
interface IBitmapSurfaceFactory;
|
|
|
|
[
|
|
object,
|
|
local,
|
|
uuid( 3050f2ef-98b5-11cf-bb82-00aa00bdce0b ),
|
|
helpstring( "IBitmapSurface Interface" ),
|
|
pointer_default( unique )
|
|
]
|
|
interface IBitmapSurface : IUnknown
|
|
{
|
|
import "oaidl.idl";
|
|
|
|
HRESULT Clone( [out] IBitmapSurface** ppSurface );
|
|
HRESULT GetFormat( [out] GUID* pBFID );
|
|
HRESULT GetFactory( [out] IBitmapSurfaceFactory** ppFactory );
|
|
HRESULT GetSize( LONG* pnWidth, LONG* pnHeight );
|
|
HRESULT LockBits( [in] RECT* pBounds, [in] DWORD dwLockFlags,
|
|
[out] void** ppBits, [out] LONG* pnPitch );
|
|
HRESULT UnlockBits( [in] RECT* pBounds, [in] void* pBits );
|
|
};
|
|
|
|
[
|
|
object,
|
|
local,
|
|
uuid( 3050f2f0-98b5-11cf-bb82-00aa00bdce0b ),
|
|
helpstring( "IGdiSurface Interface" ),
|
|
pointer_default( unique )
|
|
]
|
|
interface IGdiSurface : IUnknown
|
|
{
|
|
HRESULT GetDC( [out] HDC* phDC, [in] DWORD dwLockFlags );
|
|
HRESULT ReleaseDC( [in] HDC hDC );
|
|
};
|
|
|
|
[
|
|
object,
|
|
local,
|
|
uuid( 3050f2f5-98b5-11cf-bb82-00aa00bdce0b ),
|
|
helpstring( "IRGBColorTable Interface" ),
|
|
pointer_default( unique )
|
|
]
|
|
interface IRGBColorTable : IUnknown
|
|
{
|
|
HRESULT GetCount( [out] LONG* pnCount );
|
|
HRESULT GetColors( [in] LONG iFirst, [in] LONG nCount,
|
|
[out] RGBQUAD* pColors );
|
|
HRESULT SetColors( [in] LONG iFirst, [in] LONG nCount,
|
|
[in] RGBQUAD* pColors );
|
|
HRESULT GetTransparentIndex( [out] LONG* piIndex );
|
|
HRESULT SetTransparentIndex( [in] LONG iIndex );
|
|
};
|
|
|
|
[
|
|
object,
|
|
local,
|
|
uuid( 3050f2f2-98b5-11cf-bb82-00aa00bdce0b ),
|
|
helpstring( "IBitmapSurfaceFactory Interface" ),
|
|
pointer_default( unique )
|
|
]
|
|
interface IBitmapSurfaceFactory : IUnknown
|
|
{
|
|
HRESULT CreateBitmapSurface( [in] LONG nWidth, [in] LONG nHeight,
|
|
[in] GUID* pBFID, [in] DWORD dwHintFlags,
|
|
[out] IBitmapSurface** ppSurface );
|
|
HRESULT GetSupportedFormatsCount( [out] LONG* pnFormats );
|
|
HRESULT GetSupportedFormats( [in] LONG nFormats, [out] GUID* pBFIDs );
|
|
};
|
|
|
|
[
|
|
object,
|
|
local,
|
|
uuid( D9E89500-30FA-11d0-B724-00AA006C1A01 ),
|
|
helpstring( "IMapMIMEToCLSID Interface" ),
|
|
pointer_default( unique )
|
|
]
|
|
interface IMapMIMEToCLSID : IUnknown
|
|
{
|
|
HRESULT EnableDefaultMappings( BOOL bEnable );
|
|
HRESULT MapMIMEToCLSID( LPCOLESTR pszMIMEType, GUID* pCLSID );
|
|
HRESULT SetMapping( LPCOLESTR pszMIMEType, DWORD dwMapMode, REFGUID clsid );
|
|
};
|
|
|
|
[
|
|
object,
|
|
local,
|
|
uuid( A3CCEDF3-2DE2-11D0-86F4-00A0C913F750 ),
|
|
helpstring( "IImageDecodeFilter Interface" ),
|
|
pointer_default( unique )
|
|
]
|
|
interface IImageDecodeFilter : IUnknown
|
|
{
|
|
HRESULT Initialize( IImageDecodeEventSink* pEventSink );
|
|
HRESULT Process( IStream* pStream );
|
|
HRESULT Terminate( HRESULT hrStatus );
|
|
};
|
|
|
|
[
|
|
object,
|
|
local,
|
|
uuid( BAA342A0-2DED-11d0-86F4-00A0C913F750 ),
|
|
helpstring( "IImageDecodeEventSink Interface" ),
|
|
pointer_default( unique )
|
|
]
|
|
interface IImageDecodeEventSink : IUnknown
|
|
{
|
|
HRESULT GetSurface( [in] LONG nWidth, [in] LONG nHeight, [in] REFGUID bfid,
|
|
[in] ULONG nPasses, [in] DWORD dwHints,
|
|
[out] IBitmapSurface** ppSurface );
|
|
HRESULT OnBeginDecode( [out] DWORD* pdwEvents, [out] ULONG* pnFormats,
|
|
[out, size_is(,*pnFormats)] GUID** ppFormats );
|
|
HRESULT OnBitsComplete();
|
|
HRESULT OnDecodeComplete( [in] HRESULT hrStatus );
|
|
HRESULT OnPalette();
|
|
HRESULT OnProgress( [in] RECT* pBounds, [in] BOOL bComplete );
|
|
};
|
|
|