diff --git a/pkgs/unstable-pkgs/unstable-doc/scribblings/gui/pict.scrbl b/pkgs/unstable-pkgs/unstable-doc/scribblings/gui/pict.scrbl index 40a2f36492..a3ff73c014 100644 --- a/pkgs/unstable-pkgs/unstable-doc/scribblings/gui/pict.scrbl +++ b/pkgs/unstable-pkgs/unstable-doc/scribblings/gui/pict.scrbl @@ -554,6 +554,13 @@ Creates an arch. ] } +@section{Drawing} +@addition{Jay McCarthy} + +@defproc[(draw-pict-centered [p pict?] [dc (is-a?/c dc<%>)] [w real?] [h real?]) void?]{ + Draws the pict @racket[p] on @racket[dc] centered in a @racket[w]x@racket[h] rectangle. +} + @section{Additional combinators} @addition{Asumu Takikawa} diff --git a/pkgs/unstable-pkgs/unstable-lib/gui/pict.rkt b/pkgs/unstable-pkgs/unstable-lib/gui/pict.rkt index bd7427c7c3..b4f1d5838d 100644 --- a/pkgs/unstable-pkgs/unstable-lib/gui/pict.rkt +++ b/pkgs/unstable-pkgs/unstable-lib/gui/pict.rkt @@ -527,3 +527,17 @@ (-> real? real? real? real? pict?)]) +;; draw + +(define (draw-pict-centered p dc aw ah) + (define pw (pict-width p)) + (define ph (pict-height p)) + (define (inset x y) + (/ (- x y) 2)) + (draw-pict p dc (inset aw pw) (inset ah ph))) + +(provide + (contract-out + [draw-pict-centered + (-> pict? (is-a?/c dc<%>) real? real? + void?)]))