X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/dc483f61b0c3d75337ebd80bde05345ea66016ac..f9dae7798b164a5f4abc85d16f49cabd4e0980c0:/src/cocoa/dc.mm diff --git a/src/cocoa/dc.mm b/src/cocoa/dc.mm index 7161a232ca..b527083297 100644 --- a/src/cocoa/dc.mm +++ b/src/cocoa/dc.mm @@ -65,7 +65,10 @@ wxDC::~wxDC(void) void wxDC::DoDrawRectangle(wxCoord x, wxCoord y, wxCoord width, wxCoord height) { NSBezierPath *bezpath = [NSBezierPath bezierPathWithRect:NSMakeRect(x,y,width,height)]; + [m_textForegroundColour.GetNSColor() set]; [bezpath stroke]; + [m_brush.GetNSColor() set]; + [bezpath fill]; } void wxDC::DoDrawLine(wxCoord x1, wxCoord y1, wxCoord x2, wxCoord y2) @@ -73,6 +76,8 @@ void wxDC::DoDrawLine(wxCoord x1, wxCoord y1, wxCoord x2, wxCoord y2) NSBezierPath *bezpath = [NSBezierPath bezierPath]; [bezpath moveToPoint:NSMakePoint(x1,y1)]; [bezpath lineToPoint:NSMakePoint(x2,y2)]; + + [m_textForegroundColour.GetNSColor() set]; [bezpath stroke]; } @@ -131,6 +136,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 +144,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 +258,7 @@ void wxDC::SetPen(const wxPen& pen) void wxDC::SetBrush(const wxBrush& brush) { + m_brush = brush; } void wxDC::DoSetClippingRegionAsRegion(const wxRegion& region) @@ -328,8 +337,9 @@ void wxDC::Clear() { } -void wxDC::SetBackground(const wxBrush&) +void wxDC::SetBackground(const wxBrush& brush) { + m_backgroundBrush = brush; } void wxDC::SetPalette(const wxPalette&)