dcclient.h 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. /////////////////////////////////////////////////////////////////////////////
  2. // Name: wx/cocoa/dcclient.h
  3. // Purpose: wxClientDCImpl, wxPaintDCImpl and wxWindowDCImpl classes
  4. // Author: David Elliott
  5. // Modified by:
  6. // Created: 2003/04/01
  7. // Copyright: (c) 2003 David Elliott
  8. // Licence: wxWindows licence
  9. /////////////////////////////////////////////////////////////////////////////
  10. #ifndef __WX_COCOA_DCCLIENT_H__
  11. #define __WX_COCOA_DCCLIENT_H__
  12. #include "wx/cocoa/dc.h"
  13. // DFE: A while ago I stumbled upon the fact that retrieving the parent
  14. // NSView of the content view seems to return the entire window rectangle
  15. // (including decorations). Of course, that is not at all part of the
  16. // Cocoa or OpenStep APIs, but it might be a neat hack.
  17. class WXDLLIMPEXP_CORE wxWindowDCImpl: public wxCocoaDCImpl
  18. {
  19. DECLARE_DYNAMIC_CLASS(wxWindowDCImpl)
  20. public:
  21. wxWindowDCImpl(wxDC *owner);
  22. // Create a DC corresponding to a window
  23. wxWindowDCImpl(wxDC *owner, wxWindow *win);
  24. virtual ~wxWindowDCImpl(void);
  25. protected:
  26. wxWindow *m_window;
  27. WX_NSView m_lockedNSView;
  28. // DC stack
  29. virtual bool CocoaLockFocus();
  30. virtual bool CocoaUnlockFocus();
  31. bool CocoaLockFocusOnNSView(WX_NSView nsview);
  32. bool CocoaUnlockFocusOnNSView();
  33. virtual bool CocoaGetBounds(void *rectData);
  34. };
  35. class WXDLLIMPEXP_CORE wxClientDCImpl: public wxWindowDCImpl
  36. {
  37. DECLARE_DYNAMIC_CLASS(wxClientDCImpl)
  38. public:
  39. wxClientDCImpl(wxDC *owner);
  40. // Create a DC corresponding to a window
  41. wxClientDCImpl(wxDC *owner, wxWindow *win);
  42. virtual ~wxClientDCImpl(void);
  43. protected:
  44. // DC stack
  45. virtual bool CocoaLockFocus();
  46. virtual bool CocoaUnlockFocus();
  47. };
  48. class WXDLLIMPEXP_CORE wxPaintDCImpl: public wxWindowDCImpl
  49. {
  50. DECLARE_DYNAMIC_CLASS(wxPaintDCImpl)
  51. public:
  52. wxPaintDCImpl(wxDC *owner);
  53. // Create a DC corresponding to a window
  54. wxPaintDCImpl(wxDC *owner, wxWindow *win);
  55. virtual ~wxPaintDCImpl(void);
  56. protected:
  57. // DC stack
  58. virtual bool CocoaLockFocus();
  59. virtual bool CocoaUnlockFocus();
  60. };
  61. #endif
  62. // __WX_COCOA_DCCLIENT_H__