📄 dxtrans.idl
字号:
};
//+-----------------------------------------------------------------------------
//
// IDXLookupTable
//
//------------------------------------------------------------------------------
[
object,
uuid(01BAFC7F-9E63-11d1-9053-00C04FD9189D),
helpstring("IDXLookupTable Interface"),
pointer_default(unique),
local
]
interface IDXLookupTable : IDXBaseObject
{
HRESULT GetTables( [out]BYTE RedLUT[256],
[out]BYTE GreenLUT[256],
[out]BYTE BlueLUT[256],
[out]BYTE AlphaLUT[256] );
HRESULT IsChannelIdentity([out] DXBASESAMPLE * pSampleBools);
HRESULT GetIndexValues([in] ULONG Index, [out] DXBASESAMPLE *pSample);
HRESULT ApplyTables([in, out] DXSAMPLE *pSamples, [in] ULONG cSamples);
};
//+-----------------------------------------------------------------------------
//
// IDXRawSurface
//
// Overview:
// User created objects support IDXRawSurface
//
//------------------------------------------------------------------------------
typedef struct DXRAWSURFACEINFO
{
BYTE * pFirstByte;
long lPitch;
ULONG Width;
ULONG Height;
const GUID * pPixelFormat;
HDC hdc;
DWORD dwColorKey; // Note: High byte must == 0xFF for color keyed surface. Low 3 bytes are native data type.
DXBASESAMPLE * pPalette;
} DXRAWSURFACEINFO;
[
object,
uuid(09756C8A-D96A-11d1-9062-00C04FD9189D),
helpstring("IDXRawSurface Interface"),
pointer_default(unique),
local
]
interface IDXRawSurface : IUnknown
{
HRESULT GetSurfaceInfo(DXRAWSURFACEINFO * pSurfaceInfo);
};
//+-----------------------------------------------------------------------------
//
// IHTMLDXTransform
//
//------------------------------------------------------------------------------
[
object,
uuid(30E2AB7D-4FDD-4159-B7EA-DC722BF4ADE5),
helpstring("IHTMLDXTransform Interface"),
pointer_default(unique),
local
]
interface IHTMLDXTransform : IUnknown
{
HRESULT SetHostUrl(BSTR bstrHostUrl);
};
//+-----------------------------------------------------------------------------
//
// ICSSFilterDispatch
//
//------------------------------------------------------------------------------
typedef enum DXTFILTER_STATUS
{
DXTFILTER_STATUS_Stopped = 0,
DXTFILTER_STATUS_Applied,
DXTFILTER_STATUS_Playing,
DXTFILTER_STATUS_MAX
} DXTFILTER_STATUS;
typedef enum DXTFILTER_DISPID
{
DISPID_DXTFilter_Percent = 1,
DISPID_DXTFilter_Duration,
DISPID_DXTFilter_Enabled,
DISPID_DXTFilter_Status,
DISPID_DXTFilter_Apply,
DISPID_DXTFilter_Play,
DISPID_DXTFilter_Stop,
DISPID_DXTFilter_MAX
} DXTFILTER_DISPID;
[
object,
uuid(9519152B-9484-4A6C-B6A7-4F25E92D6C6B),
helpstring("ICSSFilterDispatch Interface"),
pointer_default(unique),
dual
]
interface ICSSFilterDispatch : IDispatch
{
[propget, id(DISPID_DXTFilter_Percent)] HRESULT Percent( [out, retval] float *pVal);
[propput, id(DISPID_DXTFilter_Percent)] HRESULT Percent( [in] float newVal);
[propget, id(DISPID_DXTFilter_Duration)] HRESULT Duration([out, retval] float *pVal);
[propput, id(DISPID_DXTFilter_Duration)] HRESULT Duration([in] float newVal);
[propget, id(DISPID_DXTFilter_Enabled)] HRESULT Enabled( [out, retval] VARIANT_BOOL *pfVal);
[propput, id(DISPID_DXTFilter_Enabled)] HRESULT Enabled( [in] VARIANT_BOOL fVal);
[propget, id(DISPID_DXTFilter_Status)] HRESULT Status( [out, retval] DXTFILTER_STATUS * peVal);
[id(DISPID_DXTFilter_Apply)] HRESULT Apply();
[id(DISPID_DXTFilter_Play)] HRESULT Play([in, optional] VARIANT varDuration);
[id(DISPID_DXTFilter_Stop)] HRESULT Stop();
};
//=== CoClass definitions =================================================
[
uuid(54314D1D-35FE-11d1-81A1-0000F87557DB),
version(1.1),
helpstring("Microsoft DirectX Transforms Core Type Library")
]
library DXTRANSLib
{
importlib("stdole2.tlb");
///////////////////////////////
// DXTransformFactory CoClass
///////////////////////////////
[
uuid(D1FE6762-FC48-11D0-883A-3C8B00C10000),
helpstring("DXTransformFactory Class")
]
coclass DXTransformFactory
{
[default] interface IDXTransformFactory;
interface IDXSurfaceFactory;
};
///////////////////////////////
// DXTaskManager CoClass
///////////////////////////////
[
uuid(4CB26C03-FF93-11d0-817E-0000F87557DB),
helpstring("DXTaskManager Class")
]
coclass DXTaskManager
{
[default] interface IDXTaskManager;
};
///////////////////////////////
// DXTScale CoClass
///////////////////////////////
[
uuid(555278E2-05DB-11D1-883A-3C8B00C10000),
helpstring("DXTScale Class")
]
coclass DXTScale
{
[default] interface IDXTScale;
};
///////////////////////////////
// DXSurface CoClass
///////////////////////////////
[
uuid(0E890F83-5F79-11D1-9043-00C04FD9189D),
helpstring("DXSurface Class")
]
coclass DXSurface
{
[default] interface IDXSurface;
};
///////////////////////////////
// DXSurfaceModifier CoClass
///////////////////////////////
[
uuid(3E669F1D-9C23-11d1-9053-00C04FD9189D),
helpstring("DXSurfaceModifier Class")
]
coclass DXSurfaceModifier
{
[default] interface IDXSurfaceModifier;
};
///////////////////////////////
// DXGradient CoClass
///////////////////////////////
[
uuid(C6365470-F667-11d1-9067-00C04FD9189D),
helpstring("DXGradient Class")
]
coclass DXGradient
{
[default] interface IDXGradient;
};
///////////////////////////////
// DXTFilter CoClass
///////////////////////////////
[
uuid(385A91BC-1E8A-4e4a-A7A6-F4FC1E6CA1BD),
helpstring("DXTFilter Class")
]
coclass DXTFilter
{
[default] interface ICSSFilterDispatch;
};
};
/////////////////////////////////////////////////////////////////////////////
//
// Windows XP vs. DirectX 8.0 header merge
//
// The following is the original contents of this header from
// the DirectX 8.0 SDK.
//
/////////////////////////////////////////////////////////////////////////////
#else // DirectX 8.0 content
//=== Constants =============================================================
cpp_quote("//")
cpp_quote("// All GUIDs for DXTransform are declared in DXTGUID.C in the SDK include directory")
cpp_quote("//")
cpp_quote("EXTERN_C const GUID DDPF_RGB1;")
cpp_quote("EXTERN_C const GUID DDPF_RGB2;")
cpp_quote("EXTERN_C const GUID DDPF_RGB4;")
cpp_quote("EXTERN_C const GUID DDPF_RGB8;")
cpp_quote("EXTERN_C const GUID DDPF_RGB332;")
cpp_quote("EXTERN_C const GUID DDPF_ARGB4444;")
cpp_quote("EXTERN_C const GUID DDPF_RGB565;")
cpp_quote("EXTERN_C const GUID DDPF_BGR565;")
cpp_quote("EXTERN_C const GUID DDPF_RGB555;")
cpp_quote("EXTERN_C const GUID DDPF_ARGB1555;")
cpp_quote("EXTERN_C const GUID DDPF_RGB24;")
cpp_quote("EXTERN_C const GUID DDPF_BGR24;")
cpp_quote("EXTERN_C const GUID DDPF_RGB32;")
cpp_quote("EXTERN_C const GUID DDPF_BGR32;")
cpp_quote("EXTERN_C const GUID DDPF_ABGR32;")
cpp_quote("EXTERN_C const GUID DDPF_ARGB32;")
cpp_quote("EXTERN_C const GUID DDPF_PMARGB32;")
cpp_quote("EXTERN_C const GUID DDPF_A1;")
cpp_quote("EXTERN_C const GUID DDPF_A2;")
cpp_quote("EXTERN_C const GUID DDPF_A4;")
cpp_quote("EXTERN_C const GUID DDPF_A8;")
cpp_quote("EXTERN_C const GUID DDPF_Z8;")
cpp_quote("EXTERN_C const GUID DDPF_Z16;")
cpp_quote("EXTERN_C const GUID DDPF_Z24;")
cpp_quote("EXTERN_C const GUID DDPF_Z32;")
cpp_quote("//")
cpp_quote("// Component categories")
cpp_quote("//")
cpp_quote("EXTERN_C const GUID CATID_DXImageTransform;")
cpp_quote("EXTERN_C const GUID CATID_DX3DTransform;")
cpp_quote("EXTERN_C const GUID CATID_DXAuthoringTransform;")
cpp_quote("EXTERN_C const GUID CATID_DXSurface;")
cpp_quote("//")
cpp_quote("// Service IDs")
cpp_quote("//")
cpp_quote("EXTERN_C const GUID SID_SDirectDraw;")
cpp_quote("EXTERN_C const GUID SID_SDirect3DRM;")
cpp_quote("#define SID_SDXTaskManager CLSID_DXTaskManager")
cpp_quote("#define SID_SDXSurfaceFactory IID_IDXSurfaceFactory")
cpp_quote("#define SID_SDXTransformFactory IID_IDXTransformFactory")
//=== Struct & Enum definitions =============================================
//=== Interface definitions =================================================
[
uuid(17B59B2B-9CC8-11d1-9053-00C04FD9189D),
helpstring("IDXBaseObject Interface"),
pointer_default(unique)
]
interface IDXBaseObject : IUnknown
{
HRESULT GetGenerationId( [out]ULONG *pID);
HRESULT IncrementGenerationId([in] BOOL bRefresh);
HRESULT GetObjectSize( [out] ULONG *pcbSize);
}
//--- Dimension identifiers
typedef enum DXBNDID
{
DXB_X = 0,
DXB_Y = 1,
DXB_Z = 2,
DXB_T = 3
} DXBNDID;
//--- Bound types
typedef enum DXBNDTYPE
{
DXBT_DISCRETE,
DXBT_DISCRETE64,
DXBT_CONTINUOUS,
DXBT_CONTINUOUS64
} DXBNDTYPE;
//--- Discrete bounds (image & sound)
typedef struct DXDBND
{
long Min;
long Max;
} DXDBND;
typedef DXDBND DXDBNDS[4];
typedef struct DXDBND64
{
LONGLONG Min;
LONGLONG Max;
} DXDBND64;
typedef DXDBND64 DXDBNDS64[4];
//--- Continuous bounds (geometry)
typedef struct DXCBND
{
float Min;
float Max;
} DXCBND;
typedef DXCBND DXCBNDS[4];
typedef struct DXCBND64
{
double Min;
double Max;
} DXCBND64;
typedef DXCBND64 DXCBNDS64[4];
//--- Combined space
typedef union DXBNDS switch( DXBNDTYPE eType ) u
{
case DXBT_DISCRETE:
DXDBND D[4];
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -