📄 hxwin.h
字号:
* 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 + -