X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/6c342f3ff14900bec9b15a263ec44245961acadb..f30bd8f2620617ebbd1fd96d00a6fda514ceeb64:/include/wx/cocoa/dcclient.h diff --git a/include/wx/cocoa/dcclient.h b/include/wx/cocoa/dcclient.h index 0ea3c3b126..d3b9beda71 100644 --- a/include/wx/cocoa/dcclient.h +++ b/include/wx/cocoa/dcclient.h @@ -1,51 +1,70 @@ ///////////////////////////////////////////////////////////////////////////// // Name: wx/cocoa/dcclient.h -// Purpose: wxClientDC, wxPaintDC and wxWindowDC classes +// Purpose: wxClientDCImpl, wxPaintDCImpl and wxWindowDCImpl classes // Author: David Elliott // Modified by: // Created: 2003/04/01 // RCS-ID: $Id$ // Copyright: (c) 2003 David Elliott -// Licence: wxWindows license +// Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// #ifndef __WX_COCOA_DCCLIENT_H__ #define __WX_COCOA_DCCLIENT_H__ -#include "wx/dc.h" +#include "wx/cocoa/dc.h" // DFE: A while ago I stumbled upon the fact that retrieving the parent // NSView of the content view seems to return the entire window rectangle // (including decorations). Of course, that is not at all part of the // Cocoa or OpenStep APIs, but it might be a neat hack. -class wxWindowDC: public wxDC +class WXDLLIMPEXP_CORE wxWindowDCImpl: public wxCocoaDCImpl { - DECLARE_DYNAMIC_CLASS(wxWindowDC) + DECLARE_DYNAMIC_CLASS(wxWindowDCImpl) public: - wxWindowDC(void); + wxWindowDCImpl(wxDC *owner); // Create a DC corresponding to a window - wxWindowDC(wxWindow *win); - ~wxWindowDC(void); + wxWindowDCImpl(wxDC *owner, wxWindow *win); + virtual ~wxWindowDCImpl(void); + +protected: + wxWindow *m_window; + WX_NSView m_lockedNSView; +// DC stack + virtual bool CocoaLockFocus(); + virtual bool CocoaUnlockFocus(); + bool CocoaLockFocusOnNSView(WX_NSView nsview); + bool CocoaUnlockFocusOnNSView(); + virtual bool CocoaGetBounds(void *rectData); }; -class wxClientDC: public wxWindowDC +class WXDLLIMPEXP_CORE wxClientDCImpl: public wxWindowDCImpl { - DECLARE_DYNAMIC_CLASS(wxClientDC) + DECLARE_DYNAMIC_CLASS(wxClientDCImpl) public: - wxClientDC(void); + wxClientDCImpl(wxDC *owner); // Create a DC corresponding to a window - wxClientDC(wxWindow *win); - ~wxClientDC(void); + wxClientDCImpl(wxDC *owner, wxWindow *win); + virtual ~wxClientDCImpl(void); +protected: +// DC stack + virtual bool CocoaLockFocus(); + virtual bool CocoaUnlockFocus(); }; -class wxPaintDC: public wxWindowDC +class WXDLLIMPEXP_CORE wxPaintDCImpl: public wxWindowDCImpl { - DECLARE_DYNAMIC_CLASS(wxPaintDC) + DECLARE_DYNAMIC_CLASS(wxPaintDCImpl) public: - wxPaintDC(void); + wxPaintDCImpl(wxDC *owner); // Create a DC corresponding to a window - wxPaintDC(wxWindow *win); - ~wxPaintDC(void); + wxPaintDCImpl(wxDC *owner, wxWindow *win); + virtual ~wxPaintDCImpl(void); +protected: +// DC stack + virtual bool CocoaLockFocus(); + virtual bool CocoaUnlockFocus(); }; -#endif // __WX_COCOA_DCCLIENT_H__ +#endif + // __WX_COCOA_DCCLIENT_H__