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.

50 lines
1.4 KiB

  1. #if !defined(WINAPI__DxContainer_h__INCLUDED)
  2. #define WINAPI__DxContainer_h__INCLUDED
  3. #pragma once
  4. class DxContainer : public DuContainer
  5. {
  6. // Construction
  7. public:
  8. DxContainer();
  9. virtual ~DxContainer();
  10. static HRESULT Build(const RECT * prcContainerPxl, DxContainer ** ppconNew);
  11. // Base Interface
  12. public:
  13. virtual HandleType GetHandleType() const { return htDxContainer; }
  14. // Container Interface
  15. public:
  16. virtual void OnGetRect(RECT * prcDesktopPxl);
  17. virtual void OnInvalidate(const RECT * prcInvalidContainerPxl);
  18. virtual void OnStartCapture();
  19. virtual void OnEndCapture();
  20. virtual BOOL OnTrackMouseLeave();
  21. virtual void OnSetFocus();
  22. virtual void OnRescanMouse(POINT * pptContainerPxl);
  23. virtual BOOL xdHandleMessage(UINT nMsg, WPARAM wParam, LPARAM lParam, LRESULT * pr, UINT nMsgFlags);
  24. // Operations
  25. public:
  26. // Data
  27. protected:
  28. RECT m_rcContainerPxl;
  29. RECT m_rcClientPxl;
  30. };
  31. //------------------------------------------------------------------------------
  32. inline DxContainer * CastDxContainer(BaseObject * pBase)
  33. {
  34. if ((pBase != NULL) && (pBase->GetHandleType() == htDxContainer)) {
  35. return (DxContainer *) pBase;
  36. }
  37. return NULL;
  38. }
  39. DxContainer * GetDxContainer(DuVisual * pgad);
  40. #endif // WINAPI__DxDrawContainer_h__INCLUDED