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

📄 hxwin.h

📁 著名的 helix realplayer 基于手机 symbian 系统的 播放器全套源代码
💻 H
📖 第 1 页 / 共 4 页
字号:

    /************************************************************************
     *	Method:
     *	    HXSiteEnumerator::GetFirstSite
     *	Purpose:
     *	    Retrieves both the first site in the enumeration and initializes 
     *      sitePosition with the position of the next site (if any).  
     *      Returns HXR_OK if the first site is available, HXR_FAIL if not.
     */
    STDMETHOD(GetFirstSite) (THIS_
                             REF(IHXSite*) /* OUT */ pFirstSite,
                             REF(SitePosition) /* OUT */ nextPosition) PURE;

    /************************************************************************
     *	Method:
     *	    HXSiteEnumerator::GetNextSite
     *	Purpose:
     *	    Retrieves both the next site in the enumeration (as specified by
     *      nextSite) and initializes sitePosition with the position of the 
     *      following site (if any).  
     *      Returns HXR_OK if the first site is available, HXR_FAIL if not.
     */
    STDMETHOD(GetNextSite)  (THIS_
                             REF(IHXSite*) pNextSite,
                             REF(SitePosition) /* IN/OUT */ nextPosition) PURE;
};


/****************************************************************************
 * 
 *  Interface:
 *	IHXSiteFullScreen
 *
 *  Purpose:
 *
 *	This is the interface for turning on/off the full screen mode
 *
 *  IID_IHXSiteFullScreen:
 *
 *	{00000D0B-0901-11d1-8B06-00A024406D59}
 *
 */
DEFINE_GUID(IID_IHXSiteFullScreen, 0x00000D0B, 0x901, 
            0x11d1, 0x8b, 0x6, 0x0, 0xa0, 0x24, 0x40, 0x6d, 0x59);

#undef  INTERFACE
#define INTERFACE   IHXSiteFullScreen

DECLARE_INTERFACE_(IHXSiteFullScreen, IUnknown)
{
    /*
     * IUnknown methods
     */
    STDMETHOD(QueryInterface)	(THIS_
				REFIID riid,
				void** ppvObj) PURE;

    STDMETHOD_(ULONG32,AddRef)	(THIS) PURE;

    STDMETHOD_(ULONG32,Release)	(THIS) PURE;

    /*
     * IHXSiteFullScreen methods
     */
    STDMETHOD(EnterFullScreen)	(THIS) PURE;

    STDMETHOD(ExitFullScreen)	(THIS) PURE;

    STDMETHOD(TestFullScreen)	(THIS_
				void* hTestBitmap,const char* pszStatusText) PURE;

    STDMETHOD_(BOOL, IsFullScreen) (THIS) PURE;
};


// $Private:
/****************************************************************************
 * 
 *  Interface:
 *	IHXLayoutSiteGroupManager
 *
 *  Purpose:
 *
 *	Allow layout site groups to be added and removed
 *
 *  IID_IHXLayoutSiteGroupManager:
 *
 *	{00000D0C-0901-11d1-8B06-00A024406D59}
 *
 */
DEFINE_GUID(IID_IHXLayoutSiteGroupManager, 0x00000D0C, 0x901, 
            0x11d1, 0x8b, 0x6, 0x0, 0xa0, 0x24, 0x40, 0x6d, 0x59);

#undef  INTERFACE
#define INTERFACE   IHXLayoutSiteGroupManager

DECLARE_INTERFACE_(IHXLayoutSiteGroupManager, IUnknown)
{
    /*
     * IUnknown methods
     */
    STDMETHOD(QueryInterface)	(THIS_
				REFIID riid,
				void** ppvObj) PURE;

    STDMETHOD_(ULONG32,AddRef)	(THIS) PURE;

    STDMETHOD_(ULONG32,Release)	(THIS) PURE;

    /*
     * IHXLayoutSiteGroupManager methods
     */
    STDMETHOD(AddLayoutSiteGroup)	(THIS_
					IUnknown* pLSG) PURE;

    STDMETHOD(RemoveLayoutSiteGroup)	(THIS_
					IUnknown* pLSG) PURE;
};
// $EndPrivate.


/****************************************************************************
 * 
 *  Interface:
 *	IHXEventHookMgr
 *
 *  Purpose:
 *
 *	Add ability to hook events from a named region
 *
 *  IID_IHXEventHookMgr:
 *
 *	{00000D0D-0901-11d1-8B06-00A024406D59}
 *
 */
DEFINE_GUID(IID_IHXEventHookMgr, 0x00000D0D, 0x901, 
            0x11d1, 0x8b, 0x6, 0x0, 0xa0, 0x24, 0x40, 0x6d, 0x59);

#undef  INTERFACE
#define INTERFACE   IHXEventHookMgr

DECLARE_INTERFACE_(IHXEventHookMgr, IUnknown)
{
    /*
     * IUnknown methods
     */
    STDMETHOD(QueryInterface)	(THIS_
				REFIID riid,
				void** ppvObj) PURE;

    STDMETHOD_(ULONG32,AddRef)	(THIS) PURE;

    STDMETHOD_(ULONG32,Release)	(THIS) PURE;

    /*
     * IHXEventHookMgr methods
     */
    STDMETHOD(AddHook)		(THIS_
				IHXEventHook* pHook,
				const char* pRegionName,
				UINT16 uLayer) PURE;

    STDMETHOD(RemoveHook)	(THIS_
    				IHXEventHook* pHook,
				const char* pRegionName,
				UINT16 uLayer) PURE;
};

/****************************************************************************
 * 
 *  Interface:
 *	IHXEventHook
 *
 *  Purpose:
 *
 *	Object that gets hooked events sent by IHXEventHookMgr
 *
 *  IID_IHXEventHookMgr:
 *
 *	{00000D0E-0901-11d1-8B06-00A024406D59}
 *
 */
DEFINE_GUID(IID_IHXEventHook, 0x00000D0E, 0x901, 
            0x11d1, 0x8b, 0x6, 0x0, 0xa0, 0x24, 0x40, 0x6d, 0x59);

#undef  INTERFACE
#define INTERFACE   IHXEventHook

DECLARE_INTERFACE_(IHXEventHook, IUnknown)
{
    /*
     * IUnknown methods
     */
    STDMETHOD(QueryInterface)	(THIS_
				REFIID riid,
				void** ppvObj) PURE;

    STDMETHOD_(ULONG32,AddRef)	(THIS) PURE;

    STDMETHOD_(ULONG32,Release)	(THIS) PURE;

    /*
     * IHXEventHook methods
     */
    STDMETHOD(SiteAdded)	(THIS_
				IHXSite* pSite) PURE;
    STDMETHOD(HandleEvent)	(THIS_
    				IHXSite* pSite,
				HXxEvent* pEvent) PURE;
    STDMETHOD(SiteRemoved)	(THIS_
    				IHXSite* pSite) PURE;
};


/****************************************************************************
 * 
 *  Interface:
 *	IHXStatusMessage
 *
 *  Purpose:
 *
 *	This is the interface for setting the status text. 
 *
 *  IID_IHXStatusMessage:
 *
 *	{00000D10-0901-11d1-8B06-00A024406D59}
 *
 */
DEFINE_GUID(IID_IHXStatusMessage, 0x00000D10, 0x901, 
            0x11d1, 0x8b, 0x6, 0x0, 0xa0, 0x24, 0x40, 0x6d, 0x59);

#undef  INTERFACE
#define INTERFACE   IHXStatusMessage

DECLARE_INTERFACE_(IHXStatusMessage, IUnknown)
{
    /*
     * IUnknown methods
     */
    STDMETHOD(QueryInterface)	(THIS_
				REFIID riid,
				void** ppvObj) PURE;

    STDMETHOD_(ULONG32,AddRef)	(THIS) PURE;

    STDMETHOD_(ULONG32,Release)	(THIS) PURE;

    /*
     * IHXStatusMessage methods
     */

    STDMETHOD(SetStatus)		(THIS_ const char* pText) PURE;
};

// $Private:
/****************************************************************************
 * 
 *  Interface:
 *
 *	IHXSiteTransition
 *
 *  Purpose:
 *
 *	Interface for transitioning between IHXSites.
 *
 *  IID_IHXSiteTransition:
 *
 *	{00000D01-0901-11d1-8B06-00A024406D59}
 *
 */
DEFINE_GUID(IID_IHXSiteTransition, 0x00000D13, 0x901, 0x11d1, 0x8b, 0x6, 0x0, 
			0xa0, 0x24, 0x40, 0x6d, 0x59);

#define CLSID_IHXSiteTransition IID_IHXSiteTransition

#undef  INTERFACE
#define INTERFACE   IHXSiteTransition

DECLARE_INTERFACE_(IHXSiteTransition, IUnknown)
{
    /*
     * IUnknown methods
     */
    STDMETHOD(QueryInterface)	(THIS_
				REFIID riid,
				void** ppvObj) PURE;

    STDMETHOD_(ULONG32,AddRef)	(THIS) PURE;

    STDMETHOD_(ULONG32,Release)	(THIS) PURE;

    STDMETHOD(Initialize)	(THIS_
				IHXValues* pParams) PURE;

    STDMETHOD(SetPercentage)	(THIS_
				UINT32 nThousandnthsComplete) PURE;

};


/****************************************************************************
 *
 *  Interface:
 *
 *  IHXRegion
 *
 *  Purpose:
 *
 *  Iterface for managing HXRegions.
 *
 *  IHXRegion:
 *
 *  {00002200-0903-11d1-8B06-00A024406D59}
 *
 */


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

#define CLSID_IHXRegion IID_IHXRegion

#undef  INTERFACE
#define INTERFACE   IHXRegion

DECLARE_INTERFACE_(IHXRegion, IUnknown)
{
    /************************************************************************
     *	Method:
     *	    IHXRegion::SetRect
     *	Purpose:
     *	    This function creates a rectangular region.
     *
     */
    STDMETHOD(SetRect)      (THIS_ HXxRect*    pRect) PURE;

    /************************************************************************
     *	Method:
     *	    IHXRegion::SetRect
     *	Purpose:
     *	    This function creates a rectangular region.
     *
     */
    STDMETHOD(SetRect)      (THIS_ int x, int y, int x1, int y1) PURE;

    /************************************************************************
     *	Method:
     *	    IHXRegion::SetPoly
     *	Purpose:
     *	    This function creates a region defined by an arbitary polygon.
     *
     */

    STDMETHOD(SetPoly)      (THIS_ HXxPoint**  pRect, BOOL bUseWinding) PURE;

    /************************************************************************
     *	Method:
     *	    IHXRegion::IsEqual
     *	Purpose:
     *	    This function determines if two regions are equal.
     *
     */

    STDMETHOD_(BOOL,IsEqual)      (THIS_ IHXRegion* pRegion) PURE;

    /************************************************************************
     *	Method:
     *	    IHXRegion::GetExtents
     *	Purpose:
     *	    This function allows the user to determine the extents of the region
     *
     */

    STDMETHOD(GetExtents)      (THIS_ REF(HXxRect) rExtents) PURE;

    /************************************************************************
     *	Method:
     *	    IHXRegion::Offset
     *	Purpose:
     *	    This function offsets the region by the spectified origin
     *
     */

    STDMETHOD(Offset)      (THIS_ HXxPoint* pOrigin) PURE;

    /************************************************************************
     *	Method:
     *	    IHXRegion::PointHitTest
     *	Purpose:
     *	    This function returns if TRUE if the specified point is in the region
     *
     */

    STDMETHOD_(BOOL,PointHitTest)      (THIS_ HXxPoint* pPoint) PURE;

    /************************************************************************
     *	Method:
     *	    IHXRegion::RectHitTest
     *	Purpose:
     *	This function returns 
     *	    HX_CONTAINED	if the rect is fully contained within the region
     *	    HX_PART		if part of the rect is within the region
     *	    HX_OUT		if no part of the rect is within the region
     *
     */

    STDMETHOD_(INT32,RectHitTest)      (THIS_ HXxRect* pRect) PURE;

    /************************************************************************
     *	Method:
     *	    IHXRegion::GetNumRects
     *	Purpose:
     *	    This function gets the number of rects which describe the 
     *	    region
     *
     */

    STDMETHOD_(UINT32, GetNumRects)      (THIS) PURE;

    /************************************************************************
     *	Method:
     *	    IHXRegion::GetRectAtIndex
     *	Purpose:
     *	    This function gets the RECT at index nRectIndex
     *
     */

    STDMETHOD(GetRectAtIndex)      (THIS_ UINT32 nRectIndex, REF(HXxRect) rRect) PURE;

    /************************************************************************
     *	Method:
     *	    IHXRegion::UnionRegion

⌨️ 快捷键说明

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