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))