]> git.saurik.com Git - wxWidgets.git/blobdiff - src/cocoa/dcclient.mm
preliminary implementation of wxEVT_MENU_OPEN/CLOSE for Mac
[wxWidgets.git] / src / cocoa / dcclient.mm
index b1c9429f9a85f2887d8ddebb4030018548704af6..b64c2ac01cf19fa984e33b53927b441796626801 100644 (file)
@@ -14,6 +14,9 @@
 
 #import <AppKit/NSView.h>
 #import <AppKit/NSAffineTransform.h>
+#import <AppKit/NSColor.h>
+#import <AppKit/NSGraphicsContext.h>
+#import <AppKit/NSBezierPath.h>
 
 /*
  * wxWindowDC
@@ -35,6 +38,19 @@ wxWindowDC::~wxWindowDC(void)
 {
 };
 
+void wxWindowDC::Clear()
+{
+    wxASSERT(m_window);
+
+    NSGraphicsContext *context = [NSGraphicsContext currentContext];
+    [context saveGraphicsState];
+
+    [m_backgroundBrush.GetNSColor() set];
+    [NSBezierPath fillRect:[m_window->GetNSView() bounds]];
+
+    [context restoreGraphicsState];
+}
+
 /*
  * wxClientDC
  */
@@ -45,8 +61,8 @@ wxClientDC::wxClientDC(void)
 };
 
 wxClientDC::wxClientDC( wxWindow *window )
-:   wxWindowDC(window)
 {
+    m_window = window;
 };
 
 wxClientDC::~wxClientDC(void)
@@ -63,8 +79,8 @@ wxPaintDC::wxPaintDC(void)
 };
 
 wxPaintDC::wxPaintDC( wxWindow *window )
-:   wxWindowDC(window)
 {
+    m_window = window;
     wxASSERT_MSG([NSView focusView]==window->GetNSView(), "PaintDC's NSView does not have focus.  Please use wxPaintDC only as the first DC created in a paint handler");
     // This transform flips the graphics since wxDC uses top-left origin
     if(![window->GetNSView() isFlipped])