qdisplay.idl
Upload User: caisha3
Upload Date: 2013-09-21
Package Size: 208739k
Code Size: 5k
Category:

Windows Develop

Development Platform:

Visual C++

  1. //+------------------------------------------------------------------------
  2. //
  3. //  Display tree interfaces
  4. //
  5. //  Copyright (C) Microsoft Corporation, 1997-1999.
  6. //
  7. //  File:       qdisplay.idl
  8. //
  9. //-------------------------------------------------------------------------
  10. import "oaidl.idl";
  11. //+------------------------------------------------------------------------
  12. //
  13. //  IDispClient interface
  14. //
  15. //-------------------------------------------------------------------------
  16. interface CDispNode;
  17. interface CDispSurface;
  18. // BUGBUG: WE SHOULDN'T NEED THESE, BUT THE FORWARD DECLARATIONS ABOVE
  19. // AREN'T SHOWING UP IN THE GENERATED .h FILE!!
  20. cpp_quote("class CDispNode;")
  21. cpp_quote("class CDispSurface;")
  22. [
  23.         object,
  24.         uuid(46482135-b251-11d2-a438-00c04fb177e3),
  25.         pointer_default(unique),
  26.         local
  27. ]
  28. interface IDispClient : IUnknown
  29. {
  30.     void DrawClient(
  31.             [in] const RECT* prcBounds,
  32.             [in] const RECT* prcRedraw,
  33.             [in] CDispSurface *pSurface,
  34.             [in] CDispNode *pDispNode,
  35.             [in] void *cookie,
  36.             [in] void *pClientData,
  37.             [in] DWORD dwFlags);
  38.     void DrawClientBackground(
  39.             [in] const RECT* prcBounds,
  40.             [in] const RECT* prcRedraw,
  41.             [in] CDispSurface *pSurface,
  42.             [in] CDispNode *pDispNode,
  43.             [in] void *pClientData,
  44.             [in] DWORD dwFlags);
  45.     void DrawClientBorder(
  46.             [in] const RECT* prcBounds,
  47.             [in] const RECT* prcRedraw,
  48.             [in] CDispSurface *pSurface,
  49.             [in] CDispNode *pDispNode,
  50.             [in] void *pClientData,
  51.             [in] DWORD dwFlags);
  52.     void DrawClientVScrollbar(
  53.             [in] const RECT* prcBounds,
  54.             [in] const RECT* prcRedraw,
  55.             [in] LONG contentSize,
  56.             [in] LONG containerSize,
  57.             [in] LONG scrollAmount,
  58.             [in] CDispSurface *pSurface,
  59.             [in] CDispNode *pDispNode,
  60.             [in] void *pClientData,
  61.             [in] DWORD dwFlags);
  62.     void DrawClientHScrollbar(
  63.             [in] const RECT* prcBounds,
  64.             [in] const RECT* prcRedraw,
  65.             [in] LONG contentSize,
  66.             [in] LONG containerSize,
  67.             [in] LONG scrollAmount,
  68.             [in] CDispSurface *pSurface,
  69.             [in] CDispNode *pDispNode,
  70.             [in] void *pClientData,
  71.             [in] DWORD dwFlags);
  72.     void DrawClientScrollbarFiller(
  73.             [in] const RECT* prcBounds,
  74.             [in] const RECT* prcRedraw,
  75.             [in] CDispSurface *pSurface,
  76.             [in] CDispNode *pDispNode,
  77.             [in] void *pClientData,
  78.             [in] DWORD dwFlags);
  79.     BOOL HitTestPoint(
  80.             [in] const POINT *pptHit,
  81.             [in] CDispNode *pDispNode,
  82.             [in] void *pClientData);
  83.     BOOL HitTestRect(
  84.             [in] const RECT *prcHit,
  85.             [in] CDispNode *pDispNode,
  86.             [in] void *pClientData);
  87.     BOOL HitVScrollbar(
  88.             [in] const POINT *pptHit,
  89.             [in] CDispNode *pDispNode,
  90.             [in] void *pClientData);
  91.     BOOL HitHScrollbar(
  92.             [in] const POINT *pptHit,
  93.             [in] CDispNode *pDispNode,
  94.             [in] void *pClientData);
  95.     // called only for z ordered items
  96.     LONG GetZOrderForSelf();
  97.     LONG GetZOrderForChild(
  98.             [in] void *cookie);
  99.     
  100.     // called only for "position aware" items
  101.     void PositionChanged(
  102.             [in] const SIZE* pOffset,
  103.             [in] CDispNode *pDispNode,
  104.             [in] BOOL fDidScrollDC);
  105. }
  106. //+------------------------------------------------------------------------
  107. //
  108. //  IDispClientDebug interface
  109. //
  110. //-------------------------------------------------------------------------
  111. interface CDispNode;
  112. // BUGBUG: WE SHOULDN'T NEED THESE, BUT THE FORWARD DECLARATIONS ABOVE
  113. // AREN'T SHOWING UP IN THE GENERATED .h FILE!!
  114. cpp_quote("class CDispNode;")
  115. [
  116.         object,
  117.         uuid(46482137-b251-11d2-a438-00c04fb177e3),
  118.         pointer_default(unique),
  119.         local
  120. ]
  121. interface IDispClientDebug : IUnknown
  122. {
  123.     void DumpDebugInfo(
  124.             [in] HANDLE hFile,
  125.             [in] long level,
  126.             [in] long childNumber,
  127.             [in] CDispNode *pDispNode,
  128.             [in] void* cookie);
  129. }
  130. //+------------------------------------------------------------------------
  131. //
  132. //  IDispObserver interface
  133. //
  134. //-------------------------------------------------------------------------
  135. [
  136.         object,
  137.         uuid(46482136-b251-11d2-a438-00c04fb177e3),
  138.         pointer_default(unique),
  139.         local
  140. ]
  141. interface IDispObserver : IUnknown
  142. {
  143.     void Invalidate(
  144.             [in] const RECT *prcInvalid,
  145.             [in] HRGN rgnInvalid,
  146.             [in] DWORD flags);
  147.             
  148.     HDC GetClientDC(
  149.             [in] const RECT* prc);
  150.             
  151.     void ReleaseClientDC(
  152.             [in] HDC hdc);
  153.     void DrawSynchronous(
  154.             [in] HRGN hrgn,
  155.             [in] HDC hdc,
  156.             [in] const RECT* prcClip);
  157. }