Leaked source code of windows server 2003
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

197 lines
6.1 KiB

  1. /***************************************************************************\
  2. *
  3. * DirectUser-Display
  4. *
  5. \***************************************************************************/
  6. class EventGadget
  7. {
  8. event HRESULT OnEvent(in EventMsg * pmsg);
  9. dapi HRESULT GetFilter(out UINT nFilter);
  10. dapi HRESULT SetFilter(in UINT nNewFilter, in UINT nMask);
  11. dapi HRESULT AddHandlerG(in MSGID nEventMsg, in EventGadget * pgbHandler);
  12. dapi HRESULT AddHandlerD(in MSGID nEventMsg, in DUser::EventDelegate ed);
  13. dapi HRESULT RemoveHandlerG(in MSGID nEventMsg, in EventGadget * pgbHandler);
  14. dapi HRESULT RemoveHandlerD(in MSGID nEventMsg, in DUser::EventDelegate ed);
  15. };
  16. class Listener : public EventGadget
  17. {
  18. };
  19. class Visual : public EventGadget
  20. {
  21. dapi HRESULT SetOrder(in Visual * pgvOther, in UINT nCmd);
  22. dapi HRESULT SetParent(in Visual * pgvParent, in Visual * pgvOther, in UINT nCmd);
  23. dapi HRESULT GetGadget(in UINT nCmd, out Visual * pgv);
  24. dapi HRESULT GetStyle(out UINT nStyle);
  25. dapi HRESULT SetStyle(in UINT nNewStyle, in UINT nMask);
  26. dapi HRESULT SetKeyboardFocus();
  27. dapi HRESULT IsParentChainStyle(in UINT nStyle, out BOOL fResult, in UINT nFlags);
  28. dapi HRESULT GetProperty(in PRID id, out void * pvValue);
  29. dapi HRESULT SetProperty(in PRID id, in void * pvValue);
  30. dapi HRESULT RemoveProperty(in PRID id);
  31. dapi HRESULT Invalidate();
  32. dapi HRESULT InvalidateRects(const RECT * rgrcClientPxl, int cRects);
  33. dapi HRESULT SetFillF(in Gdiplus::Brush * pgpgrFill);
  34. dapi HRESULT SetFillI(in HBRUSH hbrFill, in BYTE bAlpha, in int w, in int h);
  35. dapi HRESULT GetScale(out float flX, out float flY);
  36. dapi HRESULT SetScale(in float flX, in float flY);
  37. dapi HRESULT GetRotation(out float flRotationRad);
  38. dapi HRESULT SetRotation(in float flRotationRad);
  39. dapi HRESULT GetCenterPoint(out float flX, out float flY);
  40. dapi HRESULT SetCenterPoint(in float flX, in float flY);
  41. dapi HRESULT GetBufferInfo(in BUFFER_INFO * pbi);
  42. dapi HRESULT SetBufferInfo(in const BUFFER_INFO * pbi);
  43. dapi HRESULT GetSize(out SIZE sizeLogicalPxl);
  44. dapi HRESULT GetRect(in UINT nFlags, out RECT rcPxl);
  45. dapi HRESULT SetRect(in UINT nFlags, in const RECT * prcPxl);
  46. dapi HRESULT MapPoints(in Visual * pgvTo, in /* out */ POINT * rgptClientPxl, in int cPts);
  47. dapi HRESULT FindFromPoint(in POINT ptThisClientPxl, in UINT nStyle, out POINT ptFoundClientPxl, out Visual * pgvFound);
  48. };
  49. class Root : public Visual
  50. {
  51. dapi HRESULT GetFocus(out Visual * pgvFocus);
  52. dapi HRESULT GetRootInfo(out ROOT_INFO * pri);
  53. dapi HRESULT SetRootInfo(in const ROOT_INFO * pri);
  54. };
  55. //
  56. // DirectUser-Animations
  57. //
  58. class Extension : public Listener
  59. {
  60. dapi HRESULT OnRemoveExisting();
  61. dapi HRESULT OnDestroySubject();
  62. dapi HRESULT OnAsyncDestroy();
  63. };
  64. class Interpolation
  65. {
  66. dapi HRESULT AddRef();
  67. dapi HRESULT Release();
  68. dapi HRESULT Compute(in float flProgress, in float flStart, in float flEnd, out float flResult);
  69. };
  70. class LinearInterpolation : public Interpolation
  71. {
  72. };
  73. class LogInterpolation : public Interpolation
  74. {
  75. dapi HRESULT SetScale(in float flScale);
  76. };
  77. class ExpInterpolation : public Interpolation
  78. {
  79. dapi HRESULT SetScale(in float flScale);
  80. };
  81. class SCurveInterpolation : public Interpolation
  82. {
  83. dapi HRESULT SetScale(in float flScale);
  84. };
  85. class Animation : public Extension
  86. {
  87. dapi HRESULT AddRef();
  88. dapi HRESULT Release();
  89. dapi HRESULT SetTime(in UINT time);
  90. };
  91. class Flow
  92. {
  93. dapi HRESULT AddRef();
  94. dapi HRESULT Release();
  95. dapi HRESULT GetPRID(out PRID prid);
  96. dapi HRESULT GetKeyFrame(in Flow::ETime time, out DUser::KeyFrame * pkf);
  97. dapi HRESULT SetKeyFrame(in Flow::ETime time, in const DUser::KeyFrame * pkf);
  98. dapi HRESULT OnReset(in Visual * pgvSubject);
  99. dapi HRESULT OnAction(in Visual * pgvSubject, in Interpolation * pipol, in float flProgress);
  100. };
  101. class AlphaFlow : public Flow
  102. {
  103. };
  104. class RectFlow : public Flow
  105. {
  106. };
  107. class RotateFlow : public Flow
  108. {
  109. };
  110. class ScaleFlow : public Flow
  111. {
  112. };
  113. class Sequence : public Listener
  114. {
  115. dapi HRESULT AddRef();
  116. dapi HRESULT Release();
  117. dapi HRESULT GetLength(out float flLength);
  118. dapi HRESULT GetDelay(out float flDelay);
  119. dapi HRESULT SetDelay(in float flDelay);
  120. dapi HRESULT GetFlow(out Flow * pflow);
  121. dapi HRESULT SetFlow(in Flow * pflow);
  122. dapi HRESULT GetFramePause(out DWORD dwPause);
  123. dapi HRESULT SetFramePause(in DWORD dwPause);
  124. dapi HRESULT GetKeyFrameCount(out int cFrames);
  125. dapi HRESULT AddKeyFrame(in float flTime, out int idxKeyFrame);
  126. dapi HRESULT RemoveKeyFrame(in int idxKeyFrame);
  127. dapi HRESULT RemoveAllKeyFrames();
  128. dapi HRESULT FindKeyFrame(in float flTime, out int idxKeyFrame);
  129. dapi HRESULT GetTime(in int idxKeyFrame, out float flTime);
  130. dapi HRESULT SetTime(in int idxKeyFrame, in float flTime);
  131. dapi HRESULT GetKeyFrame(in int idxKeyFrame, out DUser::KeyFrame * pkf);
  132. dapi HRESULT SetKeyFrame(in int idxKeyFrame, in const DUser::KeyFrame * pkfSrc);
  133. dapi HRESULT GetInterpolation(in int idxKeyFrame, out Interpolation * pipol);
  134. dapi HRESULT SetInterpolation(in int idxKeyFrame, in Interpolation * pipol);
  135. dapi HRESULT Play(in Visual * pgvSubject, in Sequence::AnimationInfo * pai);
  136. dapi HRESULT Stop();
  137. dapi HRESULT Reset(in Visual * pgvSubject);
  138. dapi HRESULT GotoTime(in Visual * pgvSubject, in float flTime);
  139. };
  140. class DropTarget : public Extension
  141. {
  142. };