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

📄 hxwin.h

📁 linux下的一款播放器
💻 H
📖 第 1 页 / 共 3 页
字号:
 *  Interface: * *	IHXSiteSupplier * *  Purpose: * *	Interface implemented by users of the client core. This interface is *	called by the core when it needs a new IHXSite, or when it is done *	using an IHXSite. * *  IID_IHXSiteSupplier: * *	{00000D07-0901-11d1-8B06-00A024406D59} * */DEFINE_GUID(IID_IHXSiteSupplier, 0x00000D07, 0x901, 0x11d1, 0x8b, 0x6, 0x0, 			0xa0, 0x24, 0x40, 0x6d, 0x59);#undef  INTERFACE#define INTERFACE   IHXSiteSupplierDECLARE_INTERFACE_(IHXSiteSupplier, IUnknown){    /*     * IUnknown methods     */    STDMETHOD(QueryInterface)	(THIS_				REFIID riid,				void** ppvObj) PURE;    STDMETHOD_(ULONG32,AddRef)	(THIS) PURE;    STDMETHOD_(ULONG32,Release)	(THIS) PURE;    /*     * IHXSiteSupplier methods     */    /************************************************************************     *	Method:     *	    IHXSiteSupplier::SitesNeeded     *	Purpose:     *	  Called to inform the site supplier that a site with a particular     *	  set of characteristics is needed. If the site supplier can      *	  fulfill the request it should call the site manager and add one     *	  or more new sites.     *    Note that the request for sites is associated with a Request ID     *    the client core will inform the site supplier when this requested     *    site is no longer needed.     */    STDMETHOD(SitesNeeded)	(THIS_				UINT32			uReqestID,				IHXValues*		pSiteProps) PURE;    /************************************************************************     *  Method:     *    IHXSiteSupplier::SitesNotNeeded     *  Purpose:     *    Called to inform the site supplier that all sites from a previos     *	  site request are no longer needed. If the site supplier had      *	  previously created non-persistant sites (like popup windows)     *    to fulfill a request for sites it should call the site manager      *    and remove those sites.     */    STDMETHOD(SitesNotNeeded)	(THIS_				UINT32			uReqestID) PURE;    /************************************************************************     *  Method:     *    IHXSiteSupplier::BeginChangeLayout     *  Purpose:     *    Called to inform the site supplier a layout change has beginning     *	  it can expect to recieve SitesNeeded() and SitesNotNeeded() calls     *	  while a layout change is in progress,     */    STDMETHOD(BeginChangeLayout) (THIS) PURE;    /************************************************************************     *  Method:     *    IHXSiteSupplier::DoneChangeLayout     *  Purpose:     *    Called to inform the site supplier the layout change has been     *	  completed.     */    STDMETHOD(DoneChangeLayout) (THIS) PURE;};/**************************************************************************** *  *  Interface: * *	IHXSiteManager * *  Purpose: * *	Interface implemented by the client core. This interface is called *	by users of the client core to inform it of IHXSite's which are *	available for layout of renderers * *  IID_IHXSiteManager: * *	{00000D08-0901-11d1-8B06-00A024406D59} * */DEFINE_GUID(IID_IHXSiteManager, 0x00000D08, 0x901, 0x11d1, 0x8b, 0x6, 0x0, 			0xa0, 0x24, 0x40, 0x6d, 0x59);#undef  INTERFACE#define INTERFACE   IHXSiteManagerDECLARE_INTERFACE_(IHXSiteManager, IUnknown){    /*     * IUnknown methods     */    STDMETHOD(QueryInterface)	(THIS_				REFIID riid,				void** ppvObj) PURE;    STDMETHOD_(ULONG32,AddRef)	(THIS) PURE;    STDMETHOD_(ULONG32,Release)	(THIS) PURE;    /*     * IHXSiteManager methods     */    /************************************************************************     *	Method:     *	    IHXSiteManager::AddSite     *	Purpose:     *	  Called to inform the site manager of the existance of a site.     */    STDMETHOD(AddSite)		(THIS_				IHXSite*		pSite) PURE;    /************************************************************************     *	Method:     *	    IHXSiteManager::RemoveSite     *	Purpose:     *	  Called to inform the site manager that a site is no longer      *	  available.     */    STDMETHOD(RemoveSite)	(THIS_				IHXSite*		pSite) PURE;};// $Private:/**************************************************************************** *  *  Interface: * *	IHXSiteManager2 * *  Purpose: * *	Interface implemented by the client core. This interface is called *	by users of the client core to iterate over the sites known by this *	site manager. * *  IID_IHXSiteManager: * *	{00000D20-0901-11d1-8B06-00A024406D59} * */DEFINE_GUID(IID_IHXSiteManager2, 0x00000D20, 0x901, 0x11d1, 0x8b, 0x6, 0x0, 			0xa0, 0x24, 0x40, 0x6d, 0x59);#undef  INTERFACE#define INTERFACE   IHXSiteManager2DECLARE_INTERFACE_(IHXSiteManager2, IUnknown){    /*     * IHXSiteManager2 methods     */    /************************************************************************     *	Method:     *	    IHXSiteManager2::GetNumberOfSites     *	Purpose:     *	  Called to get the number of sites that the site mananger currently      *    knows about.     */    STDMETHOD(GetNumberOfSites)		(THIS_  REF(UINT32) nNumSites ) PURE;    /************************************************************************     *	Method:     *	    IHXSiteManager2::GetSiteAt     *	Purpose:     *	  Used to iterate over the sites.     *	       */    STDMETHOD(GetSiteAt)	(THIS_ UINT32 nIndex, REF(IHXSite*) pSite) PURE;};// $EndPrivate./**************************************************************************** *  *  Interface: * *	IHXMultiInstanceSiteUserSupplier * *  Purpose: * *	This is the interface for a special default object which is available *	from the common class factory. This object will act as a site user  *	supplier for any renderer (or other site user object) that wants *	default support for multiple instances. The site user must work as *	a windowless site for this default implementation to work. The  *	default object also implements the IHXSite interfave to allow *	the site user object to control all the sites through a single  *	interface instance. * *  IID_IHXMultiInstanceSiteUserSupplier: * *	{00000D09-0901-11d1-8B06-00A024406D59} * */DEFINE_GUID(IID_IHXMultiInstanceSiteUserSupplier, 0x00000D09, 0x901,             0x11d1, 0x8b, 0x6, 0x0, 0xa0, 0x24, 0x40, 0x6d, 0x59);#define CLSID_IHXMultiInstanceSiteUserSupplier	\		IID_IHXMultiInstanceSiteUserSupplier#undef  INTERFACE#define INTERFACE   IHXMultiInstanceSiteUserSupplierDECLARE_INTERFACE_(IHXMultiInstanceSiteUserSupplier, IUnknown){    /*     * IUnknown methods     */    STDMETHOD(QueryInterface)	(THIS_				REFIID riid,				void** ppvObj) PURE;    STDMETHOD_(ULONG32,AddRef)	(THIS) PURE;    STDMETHOD_(ULONG32,Release)	(THIS) PURE;    /*     * IHXMultiInstanceSiteUserSupplier methods called by site users.     */    STDMETHOD(SetSingleSiteUser)		(THIS_ 						IUnknown*	pUnknown) PURE;    STDMETHOD(ReleaseSingleSiteUser)		(THIS) PURE;};/**************************************************************************** *  *  Interface: * *	IHXSiteEnumerator * *  Purpose: * *      Provides an interface to enumerate sites.  Currently implemented  *      in the IHXMultiInstanceSiteUserSupplier supplied by the core player, *      it can be used to render to MISUS sites outside of an HX_SURFACE_UPDATE; *      this is especially useful when using IHXVideoSurface2. * *  IID_IHXSiteEnumerator: * *	{67f8c5bd-4b1d-4c09-8fb7-8ac7c20d29c7} * */DEFINE_GUID(IID_IHXSiteEnumerator, 0x67f8c5bd, 0x4b1d,              0x4c09, 0x8f, 0xb7, 0x8a, 0xc7, 0xc2, 0x0d, 0x29, 0xc7);#undef  INTERFACE#define INTERFACE   IHXSiteEnumeratorDECLARE_INTERFACE_(IHXSiteEnumerator, IUnknown){    /*     * IUnknown methods     */    STDMETHOD(QueryInterface)	(THIS_				REFIID riid,				void** ppvObj) PURE;    STDMETHOD_(ULONG32,AddRef)	(THIS) PURE;    typedef void* SitePosition;    /*     * HXSiteEnumerator methods     */    /************************************************************************     *	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   IHXSiteFullScreenDECLARE_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   IHXLayoutSiteGroupManagerDECLARE_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   IHXEventHookMgrDECLARE_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   IHXEventHookDECLARE_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   IHXStatusMessageDECLARE_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   IHXSiteTransitionDECLARE_INTERFACE_(IHXSiteTransition, IUnknown){    /*     * IUnknown methods

⌨️ 快捷键说明

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