From 4015840a60023e48ee7bfd4cdaef5f18915fd3da Mon Sep 17 00:00:00 2001 From: Matthew Flatt Date: Sun, 1 Aug 2010 16:57:21 -0600 Subject: [PATCH] fix clipping-region issues original commit: d10669d34e79f77f0041ccfdb99079336c006e64 --- collects/mred/private/wx/cocoa/dc.rkt | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/collects/mred/private/wx/cocoa/dc.rkt b/collects/mred/private/wx/cocoa/dc.rkt index ddc01161..ff50d1cd 100644 --- a/collects/mred/private/wx/cocoa/dc.rkt +++ b/collects/mred/private/wx/cocoa/dc.rkt @@ -47,16 +47,19 @@ (cairo_surface_destroy surface)) (set! clip-width width) (set! clip-height height) - (cairo_rectangle cr 0 0 width height) - (cairo_clip cr)) + (reset-clip cr)) (define clip-width width) (define clip-height height) (define/override (reset-clip cr) (super reset-clip cr) - (cairo_rectangle cr 0 0 clip-width clip-height) - (cairo_clip cr)) + (let ([m (make-cairo_matrix_t 0 0 0 0 0 0)]) + (cairo_get_matrix cr m) + (cairo_set_matrix cr (make-cairo_matrix_t 1 0 0 1 0 0)) + (cairo_rectangle cr 0 0 clip-width clip-height) + (cairo_clip cr) + (cairo_set_matrix cr m))) (define cr #f) (set-bounds dx dy width height)