diff --git a/include/wx/cocoa/dcmemory.h b/include/wx/cocoa/dcmemory.h index a81f980166..1265fb84dd 100644 --- a/include/wx/cocoa/dcmemory.h +++ b/include/wx/cocoa/dcmemory.h @@ -23,6 +23,8 @@ public: ~wxMemoryDC(void); virtual void SelectObject(const wxBitmap& bitmap); virtual void DoGetSize(int *width, int *height) const; + + virtual void Clear(); protected: wxBitmap m_selectedBitmap; WX_NSImage m_cocoaNSImage; diff --git a/src/cocoa/dcmemory.mm b/src/cocoa/dcmemory.mm index 1c79b3ad67..ff5882d995 100644 --- a/src/cocoa/dcmemory.mm +++ b/src/cocoa/dcmemory.mm @@ -20,6 +20,8 @@ #import #import #import +#import +#import //----------------------------------------------------------------------------- // wxMemoryDC @@ -150,3 +152,20 @@ bool wxMemoryDC::CocoaDoBlitOnFocusedDC(wxCoord xdest, wxCoord ydest, return false; } +void wxMemoryDC::Clear() +{ + if(!CocoaTakeFocus()) return; + + NSGraphicsContext *context = [NSGraphicsContext currentContext]; + [context saveGraphicsState]; + + [m_backgroundBrush.GetNSColor() set]; + NSRect rect; + rect.origin.x = 0; + rect.origin.y = 0; + rect.size = [m_cocoaNSImage size]; + [NSBezierPath fillRect:rect]; + + [context restoreGraphicsState]; +} +