⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 dxtrans.idl

📁 C语言编程的不错工具
💻 IDL
📖 第 1 页 / 共 5 页
字号:
    };


//+-----------------------------------------------------------------------------
//
//  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 + -