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

📄 dxtrans.idl

📁 vc6.0完整版
💻 IDL
📖 第 1 页 / 共 3 页
字号:
        BOOL            bPremult;
        RECT            rect;
        long            lRowPadding;
    } DXPACKEDRECTDESC;

    typedef struct tagDXOVERSAMPLEDESC
    {
        POINT       p;
        DXPMSAMPLE  Color;
    } DXOVERSAMPLEDESC;
        
    [
        object,
        uuid(EAAAC2D6-C290-11d1-905D-00C04FD9189D),
        helpstring("IDXARGBReadPtr Interface"),
        pointer_default(unique),
        local
    ]
    interface IDXARGBReadPtr : IUnknown
    {
        HRESULT GetSurface( [in]REFIID riid, [out, iid_is( riid )]void ** ppSurface);
        DXSAMPLEFORMATENUM GetNativeType( [out]DXNATIVETYPEINFO *pInfo );
        void Move( [in]long cSamples );
        void MoveToRow( [in]ULONG y );
        void MoveToXY( [in]ULONG x, [in]ULONG y);
        ULONG MoveAndGetRunInfo( [in]ULONG Row, [out] const DXRUNINFO** ppInfo );  // Returns count of runs
        DXSAMPLE   * Unpack( [in]DXSAMPLE* pSamples, [in]ULONG cSamples, [in]BOOL bMove );
        DXPMSAMPLE * UnpackPremult( [in]DXPMSAMPLE* pSamples, [in]ULONG cSamples, [in]BOOL bMove );
        void UnpackRect([in] const DXPACKEDRECTDESC * pRectDesc);
    };


//+-----------------------------------------------------------------------------
//
//  IDXARGBReadWritePtr
//
//------------------------------------------------------------------------------

    [
        object,
        uuid(EAAAC2D7-C290-11d1-905D-00C04FD9189D),
        helpstring("IDXARGBReadWritePtr Interface"),
        pointer_default(unique),
        local
    ]
    interface IDXARGBReadWritePtr : IDXARGBReadPtr
    {
        void PackAndMove( [in]const DXSAMPLE *pSamples, [in]ULONG cSamples );
        void PackPremultAndMove( [in]const DXPMSAMPLE *pSamples, [in]ULONG cSamples );
        void PackRect([in]const DXPACKEDRECTDESC *pRectDesc);
        void CopyAndMoveBoth( [in]DXBASESAMPLE *pScratchBuffer, [in]IDXARGBReadPtr *pSrc,
                              [in]ULONG cSamples, [in]BOOL bIsOpaque );
        void CopyRect( [in] DXBASESAMPLE *pScratchBuffer, 
                       [in] const RECT *pDestRect, [in]IDXARGBReadPtr *pSrc,
                       [in] const POINT *pSrcOrigin, [in]BOOL bIsOpaque);
        void FillAndMove( [in]DXBASESAMPLE *pScratchBuffer, [in]DXPMSAMPLE SampVal,
                          [in]ULONG cSamples, [in]BOOL bDoOver );
        void FillRect( [in]const RECT *pRect, [in]DXPMSAMPLE SampVal, [in]BOOL bDoOver );
        void OverSample( [in]const DXOVERSAMPLEDESC * pOverDesc);
        void OverArrayAndMove([in]DXBASESAMPLE *pScratchBuffer, 
                              [in] const DXPMSAMPLE *pSrc,
                              [in] ULONG cSamples);
    };


//+-----------------------------------------------------------------------------
//
//  IDXDCLock
//
//------------------------------------------------------------------------------

    [
        object,
        uuid(0F619456-CF39-11d1-905E-00C04FD9189D),
        helpstring("IDXDCLock Interface"),
        pointer_default(unique),
        local
    ]
    interface IDXDCLock : IUnknown
    {
        HDC GetDC(void);
    };


//+-----------------------------------------------------------------------------
//
//  IDXTScaleOutput
//
//  Overview:
//      Generic interface that any transform can support which allows caller to
//      specify the desired output bounds.
//------------------------------------------------------------------------------

    [
        object,
        uuid(B2024B50-EE77-11d1-9066-00C04FD9189D),
        helpstring("IDXTScaleOutput Interface"),
        pointer_default(unique),
        local
    ]
    interface IDXTScaleOutput : IUnknown
    {
        HRESULT SetOutputSize([in] const SIZE OutSize, [in] BOOL bMaintainAspect);
    };


//+-----------------------------------------------------------------------------
//
//  IDXGradient
//
//------------------------------------------------------------------------------

    [
        object,
        uuid(B2024B51-EE77-11d1-9066-00C04FD9189D),
        helpstring("IDXGradient Interface"),
        pointer_default(unique),
        local
    ]
    interface IDXGradient : IDXTScaleOutput
    {
        HRESULT SetGradient(DXSAMPLE StartColor, DXSAMPLE EndColor, BOOL bHorizontal);
        HRESULT GetOutputSize([out] SIZE *pOutSize);
    };


//+-----------------------------------------------------------------------------
//
//  IDXTScale
//
//  Overview:
//      This is the control interface for the simple scale transform.
//
//------------------------------------------------------------------------------

    [
        object,
        uuid(B39FD742-E139-11d1-9065-00C04FD9189D),
        helpstring("IDXTScale Interface"),
        pointer_default(unique),
        local
    ]
    interface IDXTScale : IUnknown
    {
        HRESULT SetScales( [in]float Scales[2] );
        HRESULT GetScales( [out]float Scales[2] );
        HRESULT ScaleFitToSize( [in,out]DXBNDS* pClipBounds,
                                [in]SIZE FitToSize, [in]BOOL bMaintainAspect );
    };


//+-----------------------------------------------------------------------------
//
//  IDXEffect
//  
//  Overview:
//      This interface is used to generically control transforms that are
//      transition effects.
//
//------------------------------------------------------------------------------

    typedef enum DISPIDDXEFFECT
    {
        DISPID_DXECAPABILITIES = 10000, // Start at 10000 to avoid conflicts with inhereted interfaces
        DISPID_DXEPROGRESS,
        DISPID_DXESTEP,
        DISPID_DXEDURATION,
        DISPID_DXE_NEXT_ID
    } DISPIDDXBOUNDEDEFFECT;

    typedef enum DXEFFECTTYPE
    {
        DXTET_PERIODIC = (1 << 0),  // Result at 1 is same as result at 0
        DXTET_MORPH = (1 << 1)      // Transition between 2 inputs (input 0 to input 1)
    } DXEFFECTTYPE;

    [
        object,
        uuid(E31FB81B-1335-11d1-8189-0000F87557DB),
        helpstring("IDXEffect Interface"),
        pointer_default(unique),
        dual
    ]
    interface IDXEffect : IDispatch
    {
        [propget, id(DISPID_DXECAPABILITIES)]
            HRESULT Capabilities([out, retval] long *pVal);
        [propget, id(DISPID_DXEPROGRESS)]
            HRESULT Progress([out, retval] float *pVal);
        [propput, id(DISPID_DXEPROGRESS)]
            HRESULT Progress([in] float newVal);
        [propget, id(DISPID_DXESTEP)]
            HRESULT StepResolution([out, retval] float *pVal);
        [propget, id(DISPID_DXEDURATION)]
            HRESULT Duration([out, retval] float *pVal);
        [propput, id(DISPID_DXEDURATION)]
            HRESULT Duration([in] float newVal);
    };


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

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -