dcclient.h 2.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  1. /////////////////////////////////////////////////////////////////////////////
  2. // Name: wx/dfb/dcclient.h
  3. // Purpose: wxWindowDCImpl, wxClientDCImpl and wxPaintDCImpl
  4. // Author: Vaclav Slavik
  5. // Created: 2006-08-10
  6. // Copyright: (c) 2006 REA Elektronik GmbH
  7. // Licence: wxWindows licence
  8. /////////////////////////////////////////////////////////////////////////////
  9. #ifndef _WX_DFB_DCCLIENT_H_
  10. #define _WX_DFB_DCCLIENT_H_
  11. #include "wx/dfb/dc.h"
  12. class WXDLLIMPEXP_FWD_CORE wxWindow;
  13. //-----------------------------------------------------------------------------
  14. // wxWindowDCImpl
  15. //-----------------------------------------------------------------------------
  16. class WXDLLIMPEXP_CORE wxWindowDCImpl : public wxDFBDCImpl
  17. {
  18. public:
  19. wxWindowDCImpl(wxDC *owner) : wxDFBDCImpl(owner), m_shouldFlip(false) { }
  20. wxWindowDCImpl(wxDC *owner, wxWindow *win);
  21. virtual ~wxWindowDCImpl();
  22. protected:
  23. // initializes the DC for painting on given window; if rect!=NULL, then
  24. // for painting only on the given region of the window
  25. void InitForWin(wxWindow *win, const wxRect *rect);
  26. private:
  27. wxRect m_winRect; // rectangle of the window being painted
  28. bool m_shouldFlip; // flip the surface when done?
  29. friend class wxOverlayImpl; // for m_shouldFlip;
  30. DECLARE_DYNAMIC_CLASS(wxWindowDCImpl)
  31. wxDECLARE_NO_COPY_CLASS(wxWindowDCImpl);
  32. };
  33. //-----------------------------------------------------------------------------
  34. // wxClientDCImpl
  35. //-----------------------------------------------------------------------------
  36. class WXDLLIMPEXP_CORE wxClientDCImpl : public wxWindowDCImpl
  37. {
  38. public:
  39. wxClientDCImpl(wxDC *owner) : wxWindowDCImpl(owner) { }
  40. wxClientDCImpl(wxDC *owner, wxWindow *win);
  41. DECLARE_DYNAMIC_CLASS(wxClientDCImpl)
  42. wxDECLARE_NO_COPY_CLASS(wxClientDCImpl);
  43. };
  44. //-----------------------------------------------------------------------------
  45. // wxPaintDCImpl
  46. //-----------------------------------------------------------------------------
  47. class WXDLLIMPEXP_CORE wxPaintDCImpl : public wxClientDCImpl
  48. {
  49. public:
  50. wxPaintDCImpl(wxDC *owner) : wxClientDCImpl(owner) { }
  51. wxPaintDCImpl(wxDC *owner, wxWindow *win) : wxClientDCImpl(owner, win) { }
  52. DECLARE_DYNAMIC_CLASS(wxPaintDCImpl)
  53. wxDECLARE_NO_COPY_CLASS(wxPaintDCImpl);
  54. };
  55. #endif // _WX_DFB_DCCLIENT_H_