From: David Elliott Date: Mon, 7 Jul 2003 18:56:27 +0000 (+0000) Subject: Use NSColor from wxColour and wxBrush X-Git-Url: https://git.saurik.com/wxWidgets.git/commitdiff_plain/c3b0c2c3dc1e2a76af69082f63149174525d97d5 Use NSColor from wxColour and wxBrush #if 0 the bounding box drawn around all text (which was for testing) git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@21748 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- diff --git a/src/cocoa/dc.mm b/src/cocoa/dc.mm index 7161a232ca..681663b4aa 100644 --- a/src/cocoa/dc.mm +++ b/src/cocoa/dc.mm @@ -64,16 +64,31 @@ wxDC::~wxDC(void) void wxDC::DoDrawRectangle(wxCoord x, wxCoord y, wxCoord width, wxCoord height) { + NSGraphicsContext *context = [NSGraphicsContext currentContext]; + [context saveGraphicsState]; + NSBezierPath *bezpath = [NSBezierPath bezierPathWithRect:NSMakeRect(x,y,width,height)]; + [m_textForegroundColour.GetNSColor() set]; [bezpath stroke]; + [m_brush.GetNSColor() set]; + [bezpath fill]; + + [context restoreGraphicsState]; } void wxDC::DoDrawLine(wxCoord x1, wxCoord y1, wxCoord x2, wxCoord y2) { + NSGraphicsContext *context = [NSGraphicsContext currentContext]; + [context saveGraphicsState]; + NSBezierPath *bezpath = [NSBezierPath bezierPath]; [bezpath moveToPoint:NSMakePoint(x1,y1)]; [bezpath lineToPoint:NSMakePoint(x2,y2)]; + + [m_textForegroundColour.GetNSColor() set]; [bezpath stroke]; + + [context restoreGraphicsState]; } void wxDC::DoGetTextExtent(const wxString& text, wxCoord *x, wxCoord *y, wxCoord *descent, wxCoord *externalLeading, wxFont *theFont) const @@ -131,6 +146,7 @@ void wxDC::DoDrawText(const wxString& text, wxCoord x, wxCoord y) [context saveGraphicsState]; [transform concat]; [flipTransform concat]; + #if 0 // Draw+fill a rectangle so we can see where the shit is supposed to be. wxLogDebug("(%f,%f) (%fx%f)",usedRect.origin.x,usedRect.origin.y,usedRect.size.width,usedRect.size.height); NSBezierPath *bezpath = [NSBezierPath bezierPathWithRect:NSMakeRect(0,0,usedRect.size.width,usedRect.size.height)]; @@ -138,12 +154,14 @@ void wxDC::DoDrawText(const wxString& text, wxCoord x, wxCoord y) [bezpath stroke]; [[NSColor blueColor] set]; [bezpath fill]; + #endif NSPoint layoutLocation = [sm_cocoaNSLayoutManager locationForGlyphAtIndex:0]; layoutLocation.x = 0.0; layoutLocation.y *= -1.0; layoutLocation.y += [[sm_cocoaNSLayoutManager typesetter] baselineOffsetInLayoutManager:sm_cocoaNSLayoutManager glyphIndex:0]; // NOTE: That's NSMakePoint, not NSMakePint (working on that though) + [m_textForegroundColour.GetNSColor() set]; [sm_cocoaNSLayoutManager drawGlyphsForGlyphRange:glyphRange atPoint:layoutLocation]; [context restoreGraphicsState]; @@ -250,6 +268,7 @@ void wxDC::SetPen(const wxPen& pen) void wxDC::SetBrush(const wxBrush& brush) { + m_brush = brush; } void wxDC::DoSetClippingRegionAsRegion(const wxRegion& region)