From 861c4946936c044a8b09713c0a638f523b307db0 Mon Sep 17 00:00:00 2001 From: Robby Findler Date: Fri, 12 Mar 2010 20:50:26 +0000 Subject: [PATCH] added a keyword argument to filled-rectangle to make it avoid using a pen svn: r18527 --- collects/scribblings/slideshow/picts.scrbl | 11 +++++++++-- collects/texpict/utils.ss | 12 ++++++++---- 2 files changed, 17 insertions(+), 6 deletions(-) diff --git a/collects/scribblings/slideshow/picts.scrbl b/collects/scribblings/slideshow/picts.scrbl index 7f1f2ce336..113cc35457 100644 --- a/collects/scribblings/slideshow/picts.scrbl +++ b/collects/scribblings/slideshow/picts.scrbl @@ -223,9 +223,16 @@ override settings supplied by the context.} Unfilled and filled ellipses.} @defproc*[([(rectangle [w real?] [h real?]) pict?] - [(filled-rectangle [w real?] [h real?]) pict?])]{ + [(filled-rectangle [w real?] + [h real?] + [#:draw-border? draw-border? any/c #t]) + pict?])]{ -Unfilled and filled rectangles.} +Unfilled and filled rectangles. + +If @scheme[draw-border?] is @scheme[#f], then the pen is set to be transparent +before drawing the rectangle. +} @defproc*[([(rounded-rectangle [w real?] [h real?] [corner-radius real? -0.25] diff --git a/collects/texpict/utils.ss b/collects/texpict/utils.ss index 869cd8b873..121568d159 100644 --- a/collects/texpict/utils.ss +++ b/collects/texpict/utils.ss @@ -257,15 +257,19 @@ (define (pip-arrows-line dx dy size) (arrows-line dx (- dy) size)) - (define (filled-rectangle w h) + (define (filled-rectangle w h #:draw-border? [draw-border? #t]) (dc (lambda (dc x y) - (let ([b (send dc get-brush)]) + (let ([b (send dc get-brush)] + [p (send dc get-pen)]) (send dc set-brush (send the-brush-list find-or-create-brush - (send (send dc get-pen) get-color) + (send p get-color) 'solid)) + (unless draw-border? + (send dc set-pen "black" 1 'transparent)) (send dc draw-rectangle x y w h) - (send dc set-brush b))) + (send dc set-brush b) + (send dc set-pen p))) w h))