// // Copyright (c) Microsoft Corporation. All rights reserved. // // // Use of this source code is subject to the terms of the Microsoft end-user // license agreement (EULA) under which you licensed this SOFTWARE PRODUCT. // If you did not accept the terms of the EULA, you are not authorized to use // this source code. For a copy of the EULA, please see the LICENSE.RTF on your // install media. // cpp_quote("//") cpp_quote("// Copyright (c) Microsoft Corporation. All rights reserved.") cpp_quote("//") cpp_quote("//") cpp_quote("// Use of this source code is subject to the terms of the Microsoft end-user") cpp_quote("// license agreement (EULA) under which you licensed this SOFTWARE PRODUCT.") cpp_quote("// If you did not accept the terms of the EULA, you are not authorized to use") cpp_quote("// this source code. For a copy of the EULA, please see the LICENSE.RTF on your") cpp_quote("// install media.") cpp_quote("//") //+------------------------------------------------------------------------ // // Display tree interfaces // // File: disptree.idl // //------------------------------------------------------------------------- import "oaidl.idl"; //+------------------------------------------------------------------------ // // IDispClient interface // //------------------------------------------------------------------------- interface CDispNode; interface CDispSurface; // BUGBUG: WE SHOULDN'T NEED THESE, BUT THE FORWARD DECLARATIONS ABOVE // AREN'T SHOWING UP IN THE GENERATED .h FILE!! cpp_quote("class CDispNode;") cpp_quote("class CDispSurface;") [ object, uuid(3050f437-98b5-11cf-bb82-00aa00bdce0b), pointer_default(unique), local ] interface IDispClient : IUnknown { void DrawClient( [in] const RECT* prcBounds, [in] const RECT* prcRedraw, [in] CDispSurface *pSurface, [in] CDispNode *pDispNode, [in] void *cookie, [in] void *pClientData, [in] DWORD dwFlags); void DrawClientBackground( [in] const RECT* prcBounds, [in] const RECT* prcRedraw, [in] CDispSurface *pSurface, [in] CDispNode *pDispNode, [in] void *pClientData, [in] DWORD dwFlags); void DrawClientBorder( [in] const RECT* prcBounds, [in] const RECT* prcRedraw, [in] CDispSurface *pSurface, [in] CDispNode *pDispNode, [in] void *pClientData, [in] DWORD dwFlags); void DrawClientVScrollbar( [in] const RECT* prcBounds, [in] const RECT* prcRedraw, [in] LONG contentSize, [in] LONG containerSize, [in] LONG scrollAmount, [in] CDispSurface *pSurface, [in] CDispNode *pDispNode, [in] void *pClientData, [in] DWORD dwFlags); void DrawClientHScrollbar( [in] const RECT* prcBounds, [in] const RECT* prcRedraw, [in] LONG contentSize, [in] LONG containerSize, [in] LONG scrollAmount, [in] CDispSurface *pSurface, [in] CDispNode *pDispNode, [in] void *pClientData, [in] DWORD dwFlags); void DrawClientScrollbarFiller( [in] const RECT* prcBounds, [in] const RECT* prcRedraw, [in] CDispSurface *pSurface, [in] CDispNode *pDispNode, [in] void *pClientData, [in] DWORD dwFlags); BOOL HitTestPoint( [in] const POINT *pptHit, [in] CDispNode *pDispNode, [in] void *pClientData); BOOL HitTestRect( [in] const RECT *prcHit, [in] CDispNode *pDispNode, [in] void *pClientData); BOOL HitVScrollbar( [in] const POINT *pptHit, [in] CDispNode *pDispNode, [in] void *pClientData); BOOL HitHScrollbar( [in] const POINT *pptHit, [in] CDispNode *pDispNode, [in] void *pClientData); // called only for z ordered items LONG GetZOrderForSelf(); LONG GetZOrderForChild( [in] void *cookie); // called only for "position aware" items void PositionChanged( [in] const SIZE* pOffset, [in] CDispNode *pDispNode, [in] BOOL fDidScrollDC); } //+------------------------------------------------------------------------ // // IDispClientDebug interface // //------------------------------------------------------------------------- interface CDispNode; // BUGBUG: WE SHOULDN'T NEED THESE, BUT THE FORWARD DECLARATIONS ABOVE // AREN'T SHOWING UP IN THE GENERATED .h FILE!! cpp_quote("class CDispNode;") [ object, uuid(3050f442-98b5-11cf-bb82-00aa00bdce0b), pointer_default(unique), local ] interface IDispClientDebug : IUnknown { void DumpDebugInfo( [in] HANDLE hFile, [in] long level, [in] long childNumber, [in] CDispNode *pDispNode, [in] void* cookie); } //+------------------------------------------------------------------------ // // IDispObserver interface // //------------------------------------------------------------------------- [ object, uuid(3050f43d-98b5-11cf-bb82-00aa00bdce0b), pointer_default(unique), local ] interface IDispObserver : IUnknown { void Invalidate( [in] const RECT *prcInvalid, [in] HRGN rgnInvalid, [in] DWORD flags); HDC GetClientDC( [in] const RECT* prc); void ReleaseClientDC( [in] HDC hdc); void DrawSynchronous( [in] HRGN hrgn, [in] HDC hdc, [in] const RECT* prcClip); }