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