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

📄 hxwin.h

📁 著名的 helix realplayer 基于手机 symbian 系统的 播放器全套源代码
💻 H
📖 第 1 页 / 共 4 页
字号:
     *	Purpose:
     *		Union Region -- this operator like all of the operators will create an IHXRegion 
     *		if pDest is NULL.
     *
     */

    STDMETHOD(UnionRegion)      (THIS_ REF(IHXRegion*) pDest, IHXRegion* pSrc1) PURE;

    /************************************************************************
     *	Method:
     *	    IHXRegion::GetRectAtIndex
     *	Purpose:
     *	    Copy Region
     *
     */

    STDMETHOD(CopyRegion)      (THIS_ REF(IHXRegion*) pDest) PURE;

    /************************************************************************
     *	Method:
     *	    IHXRegion::GetRectAtIndex
     *	Purpose:
     *	    Diff Region
     *
     */

    STDMETHOD(DiffRegion)      (THIS_ REF(IHXRegion*) pDest, IHXRegion* pSrc1) PURE;

    /************************************************************************
     *	Method:
     *	    IHXRegion::GetRectAtIndex
     *	Purpose:
     *	    And Region
     *
     */

    STDMETHOD(AndRegion)      (THIS_ REF(IHXRegion*) pDest, IHXRegion* pSrc1) PURE;

    /************************************************************************
     *	Method:
     *	    IHXRegion::GetRectAtIndex
     *	Purpose:
     *	    XOR Region
     *
     */

    STDMETHOD(XORRegion)      (THIS_ REF(IHXRegion*) pDest, IHXRegion* pSrc1) PURE;

    /************************************************************************
     *	Method:
     *	    IHXRegion::GetRegion
     *	Purpose:
     *	    Bad hack for the moment to obtain the REGION pointer of an HXRegion.
     *	    Will have to remove this later.
     *
     */

    STDMETHOD_(void*, GetRegion)      (THIS) PURE;

};

/****************************************************************************
 *
 *  Interface:
 *
 *  IHXColorConverterManager
 *
 *  Purpose:
 *
 *  Interface for obtaining IHXColorConverters
 *
 *  IHXColorConverterManager:
 *
 *  {00000D15-0902-11d1-8B06-00A024406D59}
 *
 */

DEFINE_GUID(IID_IHXColorConverterManager, 0x00000D15, 0x901, 0x11d1, 0x8b, 0x6, 0x0, 
			0xa0, 0x24, 0x40, 0x6d, 0x59);

#undef  INTERFACE
#define INTERFACE   IHXColorConverterManager

DECLARE_INTERFACE_(IHXColorConverterManager, IUnknown)
{
    /*
     * Get ColorConverter is called to obtain a color converter to convert 
     * from a particular bitmap to another bitmap.
     */
    STDMETHOD(GetColorConverter)      (THIS_
                HXBitmapInfoHeader*    /*IN*/  pBitmapInfoIn,
                HXBitmapInfoHeader*    /*IN*/  pBitmapInfoOut,
		REF(IHXColorConverter*) /*OUT*/ pConverter) PURE;

};

/****************************************************************************
 *
 *  Interface:
 *
 *  IHXColorConverter
 *
 *  Purpose:
 *
 *  Interface for converting between two bitmaps of different color formats.
 *
 *  IHXColorConverterManager:
 *
 *  {00000D16-0902-11d1-8B06-00A024406D59}
 *
 */

DEFINE_GUID(IID_IHXColorConverter, 0x00000D16, 0x903, 0x11d1, 0x8b,
    0x6, 0x0, 0xa0, 0x24, 0x40, 0x6d, 0x59);

#undef  INTERFACE
#define INTERFACE   IHXColorConverter

DECLARE_INTERFACE_(IHXColorConverter, IUnknown)
{
    /*
     * ColorConvert converts the pBitsIn from one color format to 
     * the format of pBitsOut
     */
    STDMETHOD(ColorConvert)      (THIS_
                UCHAR*	    pBitsIn,
                UCHAR*	    pBitsOut,
		HXxRect*    pRectIn,
		HXxRect*    pRectOut
                ) PURE;

};

/****************************************************************************
 *
 *  Interface:
 *
 *  IHXOverlayResponse
 *
 *  Purpose:
 *
 *  Interface for reporting/computing the current statistics relevant to 
 *  Video Presentations.
 *
 *  IHXOverlayResponse:
 *
 *  {00000D22-0902-11d1-8B06-00A024406D59}
 *
 */

DEFINE_GUID(IID_IHXOverlayResponse, 0x00000D22, 0x903, 0x11d1, 0x8b,
    0x6, 0x0, 0xa0, 0x24, 0x40, 0x6d, 0x59);

#undef  INTERFACE
#define INTERFACE   IHXOverlayResponse

DECLARE_INTERFACE_(IHXOverlayResponse, IUnknown)
{
    STDMETHOD(OverlayGranted)      (THIS ) PURE;
    STDMETHOD(OverlayRevoked)      (THIS ) PURE;
};


/****************************************************************************
 *
 *  Interface:
 *
 *  IHXOverlayManager
 *
 *  Purpose:
 *
 *  Interface for reporting/computing the current statistics relevant to 
 *  Video Presentations.
 *
 *  IHXOverlayManager:
 *
 *  {00000D21-0902-11d1-8B06-00A024406D59}
 *
 */

DEFINE_GUID(IID_IHXOverlayManager, 0x00000D21, 0x903, 0x11d1, 0x8b,
    0x6, 0x0, 0xa0, 0x24, 0x40, 0x6d, 0x59);

#undef  INTERFACE
#define INTERFACE   IHXOverlayManager

DECLARE_INTERFACE_(IHXOverlayManager, IUnknown)
{
    STDMETHOD(HasOverlay)      (THIS_
                    IHXOverlayResponse* pResp
                    ) PURE;
    
    STDMETHOD(AddStats)      (THIS_
                    IHXOverlayResponse* pResp,
                    UINT32    ulNumPixels
                    ) PURE;

    
    STDMETHOD(RemoveOverlayRequest)(THIS_ IHXOverlayResponse* pResp ) PURE;
};


// $EndPrivate.

/****************************************************************************
 *
 *  Interface:
 *
 *  IHXKeyBoardFocus
 *
 *  Purpose:
 *
 *  Interface for setting/getting the keyboard focus for a particular siteuser
 *
 *  IHXKeyBoardFocus:
 *
 *  {00000D23-0902-11d1-8B06-00A024406D59}
 *
 */

DEFINE_GUID(IID_IHXKeyBoardFocus, 0x00000D23, 0x903, 0x11d1, 0x8b,
    0x6, 0x0, 0xa0, 0x24, 0x40, 0x6d, 0x59);

#undef  INTERFACE
#define INTERFACE   IHXKeyBoardFocus

DECLARE_INTERFACE_(IHXKeyBoardFocus, IUnknown)
{
    STDMETHOD(SetKeyboardFocus)(THIS_ IHXSiteUser* pSiteUser ) PURE;
    STDMETHOD(GetKeyboardFocus)(THIS_ IHXSiteUser* &pSiteUser ) PURE;

};

/****************************************************************************
 *
 *  Interface:
 *
 *  IHXDrawFocus
 *
 *  Purpose:
 *
 *  Interface for displaying the site that has the keyboard focus
 *
 *  IHXDrawFocus:
 *
 *  {00000D24-0902-11d1-8B06-00A024406D59}
 *
 */

DEFINE_GUID(IID_IHXDrawFocus, 0x00000D24, 0x903, 0x11d1, 0x8b,
    0x6, 0x0, 0xa0, 0x24, 0x40, 0x6d, 0x59);

#undef  INTERFACE
#define INTERFACE   IHXDrawFocus

DECLARE_INTERFACE_(IHXDrawFocus, IUnknown)
{
    /************************************************************************
     *  Method:
     *          IHXDrawFocus::SetStyle
     *  Purpose:
     *          Ask the site to set the focus style.
     *
     *  Syles:
     *          ULONG32 Properties:
     *
     *          LINE_STYLE = HX_SOLID_LINE, HX_DASHED_LINE, HX_DOTTED_LINE,
     *                       HX_CUSTOM_LINE
     *          LINE_WIDTH = Width of the line in pixels
     *          RED = 0-255 color of the primary pixel
     *          GREEN = 0-255 color of the primary pixel
     *          BLUE = 0-255 color of the primary pixel
     *          RED_OFF = 0-255 color of the secondary pixel
     *          GREEN_OFF = 0-255 color of the secondary pixel
     *          BLUE_OFF = 0-255 color of the secondary pixel
     *          CUSTOM_LINE_ENTRIES number of ULONG32s in CUSTOM_LINE_PATTERN
     *
     *          IHXBuffer Properties:
     *
     *          CUSTOM_LINE_PATTERN list of ULONG32s describing the number
     *           of primary and secondary pixels (eq 4241 = "----..----." where
     *           - is a primary pixel and . is a secondary pixel) and
     *           CUSTOM_LINE_ENTRIES equals 4.  Secondary pixels are not
     *           drawn if RED_OFF, GREEN_OFF, and BLUE_OFF are not set.
     */
    STDMETHOD(SetStyle) (THIS_ IHXValues* pProperties) PURE;

    /************************************************************************
     *  Method:
     *          IHXDrawFocus::ClearFocus
     *  Purpose:
     *          Ask the site to clear the current focus drawing.
     */
    STDMETHOD(ClearFocus)(THIS) PURE;

    /************************************************************************
     *  Method:
     *          IHXDrawFocus::SetFocusPolygon
     *  Purpose:
     *          Ask the site to draw polygon around focus
     */
    STDMETHOD(SetFocusPolygon)(THIS_  HXxPoint* pPoints, ULONG32 numPoints) PURE;

    /************************************************************************
     *  Method:
     *          IHXDrawFocus::SetFocusRect
     *  Purpose:
     *          Ask the site to draw rectangle around focus
     */
    STDMETHOD(SetFocusRect) (THIS_ HXxRect* pRect) PURE;

    /************************************************************************
     *  Method:
     *          IHXDrawFocus::SetFocusEllipse
     *  Purpose:
     *          Ask the site to draw ellipse around focus
     */
    STDMETHOD(SetFocusEllipse) (THIS_ HXxRect* pRect) PURE;
};

// $Private:

/****************************************************************************
 *
 *  Interface:
 *
 *  IHXSubRectSite
 *
 *  Purpose:
 *
 *  Interface to determine if a site support sub rect BLT'ing via
 *  the HX_SURFACE_UPDATE2 message. If the site does support sub
 *  rect BLT'ing you can tell the site to send you the
 *  HX_SURFACE_UPDATE2 messages via this interface.
 *
 *  IHXSubRectSite:
 *
 *  {00000D25-0902-11d1-8B06-00A024406D59}
 *
 */
DEFINE_GUID(IID_IHXSubRectSite, 0x00000D25, 0x903, 0x11d1, 0x8b,
    0x6, 0x0, 0xa0, 0x24, 0x40, 0x6d, 0x59);

#undef  INTERFACE
#define INTERFACE   IHXSubRectSite

DECLARE_INTERFACE_(IHXSubRectSite, IHXSite)
{
    /*
     * Tells the site to send/not-send HX_SURFACE_UPDATE2 messages.
     * These messages contain actuall dirty rects so that the renderer
     * does not need to BLT the entire frame.
     */
    STDMETHOD(SendSubRectMessages) (THIS_ BOOL bRet ) PURE;
    /*
     * New damage region call that takes the cross platfrom region
     * defined in hxwintyp.h and invalidates the rects in it
     */
    STDMETHOD(SubRectDamageRegion) (THIS_ HXxBoxRegion* pRegion ) PURE;
    /*
     * Method to get the new video surface that comes with the sub
     * rect BLT'ing support.
     */
    STDMETHOD(GetSubRectVideoSurface) (THIS_ 
                                       REF(IHXSubRectVideoSurface*) pSurface
                                       ) PURE;
};

// $EndPrivate.

/****************************************************************************
 *
 *  Interface:
 *
 *  IHXFocusNavigation
 *
 *  Purpose:
 *
 *  Interface for navigating between and within keyboard focus sites
 *
 *  IHXFocusNavigation:
 *
 *  {B42B7677-F605-438e-9002-E2AAB7784B43}
 *
 */

DEFINE_GUID(IID_IHXFocusNavigation, 0xb42b7677, 0xf605, 0x438e, 0x90,
            0x2, 0xe2, 0xaa, 0xb7, 0x78, 0x4b, 0x43);

#undef  INTERFACE
#define INTERFACE   IHXFocusNavigation

DECLARE_INTERFACE_(IHXFocusNavigation, IUnknown)
{
    /************************************************************************
     *  Method:
     *          IHXFocusNavigation::SetFocus
     *  Purpose:
     *          Ask the renderer to set the focus to the given item.
     */
    STDMETHOD(SetFocus) (THIS_ HXFocusContext eFocus) PURE;

    /************************************************************************
     *  Method:
     *          IHXFocusNavigation::ClearFocus
     *  Purpose:
     *          Ask the renderer to clear the current focus.
     */
    STDMETHOD(ClearFocus) (THIS) PURE;

    /************************************************************************
     *  Method:
     *          IHXFocusNavigation::ActivateFocus
     *  Purpose:
     *          Ask the renderer to activate the focused link. Do nothing if 
     *   there is no focus point.
     */
    STDMETHOD(ActivateFocus) (THIS) PURE;

    /************************************************************************
     *  Method:
     *          IHXFocusNavigation::GetFocusState
     *  Purpose:
     *          Obtain the current focus state
     */
    STDMETHOD_(HXFocusState,GetFocusState) (THIS) PURE;
};

#endif /* _HXWIN_H_ */

⌨️ 快捷键说明

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