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