diff --git a/collects/2htdp/image.ss b/collects/2htdp/image.ss index 4ac4443416..c697d9e380 100644 --- a/collects/2htdp/image.ss +++ b/collects/2htdp/image.ss @@ -14,6 +14,7 @@ improvments/changes wrt to htdp/image: - equal comparisions are more efficient - added rotation & scaling - got rid of pinholes (see the new overlay, beside, and above functions) + - a bunch of new polygon functions Equality change: equality is now based on the structure of the construction of the picture. This means that some equalities that were there before are no longer true. For example, @@ -76,6 +77,7 @@ and they all have good sample contracts. (It is amazing what we can do with kids isosceles-triangle right-triangle line + add-line text text/font diff --git a/collects/2htdp/private/image-more.ss b/collects/2htdp/private/image-more.ss index 7092f6cd5e..86d9f5b9d0 100644 --- a/collects/2htdp/private/image-more.ss +++ b/collects/2htdp/private/image-more.ss @@ -669,18 +669,26 @@ (make-point x1 y1) color)) w h))) - #| + (define/chk (add-line image x1 y1 x2 y2 color) - (make-image (make-overlay - (make-translate - x1 y1 - (make-line-segment (make-point 0 0) - (make-point x2 y2) - color)) - (make-bb w h h) - #f)) -|# -;; line + (let* ([dx (abs (min 0 x1 x2))] + [dy (abs (min 0 y1 y2))] + [bottom (max (+ y1 dy) + (+ y2 dy) + (+ dy (image-bottom image)))] + [right (max (+ x1 dx) + (+ x2 dx) + (+ dx (image-right image)))] + [baseline (+ dy (image-baseline image))]) + ;(printf "dx ~s orig-right ~s\n" dx (image-right image)) + (make-image (make-translate + dx dy + (make-overlay + (make-line-segment (make-point x1 y1) (make-point x2 y2) color) + (image-shape image))) + (make-bb right bottom baseline) + #f))) + ;; this is just so that 'text' objects can be sized. (define text-sizing-bm (make-object bitmap-dc% (make-object bitmap% 1 1))) @@ -875,6 +883,7 @@ star-polygon line + add-line text text/font diff --git a/collects/teachpack/2htdp/scribblings/image-gen.ss b/collects/teachpack/2htdp/scribblings/image-gen.ss index e8ea3805d9..b67fb2dac2 100644 --- a/collects/teachpack/2htdp/scribblings/image-gen.ss +++ b/collects/teachpack/2htdp/scribblings/image-gen.ss @@ -27,19 +27,39 @@ (define (handle-image exp) (printf ".") (flush-output) - (let ([i (length mapping)]) - (let ([result (parameterize ([current-namespace image-ns]) (eval exp))]) - (cond - [(image? result) - (let ([fn (format "~a.png" i)]) - (set! mapping (cons `(list ',exp 'image ,fn) mapping)) - (save-image result (build-path "img" fn)))] - [else - (unless (equal? result (read/write result)) - (error 'handle-image "expression ~s produced ~s, which I can't write" - exp result)) - (set! mapping (cons `(list ',exp 'val ,result) mapping))])))) + (let ([result (parameterize ([current-namespace image-ns]) (eval exp))]) + (cond + [(image? result) + (let ([fn (exp->filename exp)]) + (set! mapping (cons `(list ',exp 'image ,fn) mapping)) + (save-image result (build-path "img" fn)))] + [else + (unless (equal? result (read/write result)) + (error 'handle-image "expression ~s produced ~s, which I can't write" + exp result)) + (set! mapping (cons `(list ',exp 'val ,result) mapping))]))) +(define (exp->filename exp) + (let loop ([prev 0]) + (let ([candidate + (format "~a~a.png" + (number->string (abs (equal-hash-code exp)) 16) ;; abs to avoid filenames beginning with hyphens + (if (zero? prev) + "" + (format "-~a" (string->number prev 16))))]) + (cond + [(anywhere? candidate mapping) + (loop (+ prev 1))] + [else + candidate])))) + +(define (anywhere? x sexp) + (let loop ([sexp sexp]) + (cond + [(pair? sexp) (or (loop (car sexp)) + (loop (cdr sexp)))] + [else (equal? x sexp)]))) + (define (read/write result) (let-values ([(in out) (make-pipe)]) (thread (λ () (write result out) (close-output-port out))) diff --git a/collects/teachpack/2htdp/scribblings/image-toc.ss b/collects/teachpack/2htdp/scribblings/image-toc.ss index e2151c083d..7c4e3a8f3b 100644 --- a/collects/teachpack/2htdp/scribblings/image-toc.ss +++ b/collects/teachpack/2htdp/scribblings/image-toc.ss @@ -28,18 +28,21 @@ (ellipse 20 30 "solid" "slateblue") (ellipse 20 10 "solid" "navy")) 'image - "49.png") - (list '(frame (ellipse 20 20 "outline" "black")) 'image "48.png") - (list '(ellipse 60 60 "solid" "blue") 'image "47.png") - (list '(scale/xy 3 2 (ellipse 20 30 "solid" "blue")) 'image "46.png") - (list '(ellipse 40 60 "solid" "blue") 'image "45.png") - (list '(scale 2 (ellipse 20 30 "solid" "blue")) 'image "44.png") - (list '(rotate 5 (rectangle 50 50 "outline" "black")) 'image "43.png") - (list '(rotate 45 (ellipse 60 20 "solid" "olivedrab")) 'image "42.png") + "33aaed94.png") + (list '(frame (ellipse 20 20 "outline" "black")) 'image "b3e371c.png") + (list '(ellipse 60 60 "solid" "blue") 'image "80c7ec4.png") + (list '(scale/xy 3 2 (ellipse 20 30 "solid" "blue")) 'image "1bebb5af.png") + (list '(ellipse 40 60 "solid" "blue") 'image "3f9b7651.png") + (list '(scale 2 (ellipse 20 30 "solid" "blue")) 'image "1a14c856.png") + (list '(rotate 5 (rectangle 50 50 "outline" "black")) 'image "24e78945.png") + (list + '(rotate 45 (ellipse 60 20 "solid" "olivedrab")) + 'image + "36abd0a6.png") (list '(beside/places "baseline" (text "ijy" 18 "black") (text "ijy" 24 "black")) 'image - "41.png") + "128db302.png") (list '(beside/places "center" @@ -48,7 +51,7 @@ (ellipse 20 30 "solid" "purple") (ellipse 20 10 "solid" "indigo")) 'image - "40.png") + "120469a1.png") (list '(beside/places "bottom" @@ -57,7 +60,7 @@ (ellipse 20 30 "solid" "slateblue") (ellipse 20 10 "solid" "navy")) 'image - "39.png") + "1cdad38e.png") (list '(beside (ellipse 20 70 "solid" "gray") @@ -65,7 +68,7 @@ (ellipse 20 30 "solid" "dimgray") (ellipse 20 10 "solid" "black")) 'image - "38.png") + "5965553.png") (list '(overlay/xy (rectangle 10 10 "solid" "red") @@ -73,7 +76,7 @@ -10 (rectangle 10 10 "solid" "black")) 'image - "37.png") + "2e92034e.png") (list '(overlay/xy (rectangle 10 10 "solid" "red") @@ -81,7 +84,7 @@ 10 (rectangle 10 10 "solid" "black")) 'image - "36.png") + "107a175b.png") (list '(overlay/xy (rectangle 10 10 "outline" "red") @@ -89,7 +92,7 @@ 0 (rectangle 10 10 "outline" "black")) 'image - "35.png") + "f404e3c.png") (list '(overlay/xy (ellipse 40 40 "outline" "black") @@ -97,7 +100,7 @@ 25 (ellipse 10 10 "solid" "forestgreen")) 'image - "34.png") + "28fdf75c.png") (list '(overlay/places "right" @@ -107,7 +110,7 @@ (rectangle 40 40 "solid" "red") (rectangle 50 50 "solid" "black")) 'image - "33.png") + "1331b42e.png") (list '(overlay/places "middle" @@ -115,7 +118,7 @@ (rectangle 30 60 "solid" "orange") (ellipse 60 30 "solid" "purple")) 'image - "32.png") + "10078cfc.png") (list '(overlay (ellipse 10 10 "solid" "red") @@ -125,49 +128,75 @@ (ellipse 50 50 "solid" "red") (ellipse 60 60 "solid" "black")) 'image - "31.png") + "975b778.png") (list '(overlay (ellipse 60 30 "solid" "purple") (rectangle 30 60 "solid" "orange")) 'image - "30.png") + "cd2e82.png") (list '(text/font "not really a link" 18 "blue" #f 'roman 'normal 'normal #t) 'image - "29.png") + "11536865.png") (list '(text/font "Goodbye" 18 "indigo" #f 'modern 'italic 'normal #f) 'image - "28.png") + "2c27a4ab.png") (list '(text/font "Hello" 24 "olive" "Gill Sans" 'swiss 'normal 'bold #f) 'image - "27.png") - (list '(text "Goodbye" 36 "indigo") 'image "26.png") - (list '(text "Hello" 24 "olive") 'image "25.png") - (list '(line 30 -20 "red") 'image "24.png") - (list '(line -30 20 "red") 'image "23.png") - (list '(line 30 30 "black") 'image "22.png") - (list '(star-polygon 20 10 3 "solid" "cornflowerblue") 'image "21.png") - (list '(star-polygon 40 7 3 "outline" "darkred") 'image "20.png") - (list '(star-polygon 40 5 2 "solid" "seagreen") 'image "19.png") - (list '(star 40 "solid" "gray") 'image "18.png") - (list '(regular-polygon 20 8 "solid" "red") 'image "17.png") - (list '(regular-polygon 20 4 "outline" "blue") 'image "16.png") - (list '(regular-polygon 30 3 "outline" "red") 'image "15.png") - (list '(rhombus 80 150 "solid" "mediumpurple") 'image "14.png") - (list '(rhombus 40 45 "solid" "magenta") 'image "13.png") - (list '(rectangle 20 40 "solid" "blue") 'image "12.png") - (list '(rectangle 40 20 "outline" "black") 'image "11.png") - (list '(square 50 "outline" "darkmagenta") 'image "10.png") - (list '(square 40 "solid" "slateblue") 'image "9.png") - (list '(isosceles-triangle 60 330 "solid" "lightseagreen") 'image "8.png") - (list '(isosceles-triangle 60 30 "solid" "aquamarine") 'image "7.png") - (list '(isosceles-triangle 200 170 "solid" "seagreen") 'image "6.png") - (list '(right-triangle 36 48 "solid" "black") 'image "5.png") - (list '(triangle 40 "solid" "tan") 'image "4.png") - (list '(ellipse 20 40 "solid" "blue") 'image "3.png") - (list '(ellipse 40 20 "outline" "black") 'image "2.png") - (list '(circle 20 "solid" "blue") 'image "1.png") - (list '(circle 30 "outline" "red") 'image "0.png"))) + "3a5f8054.png") + (list '(text "Goodbye" 36 "indigo") 'image "f6b7cc9.png") + (list '(text "Hello" 24 "olive") 'image "116768e2.png") + (list + '(add-line + (ellipse 80 60 "outline" "darkolivegreen") + (+ 40 (* 40 (cos (* pi 1/4)))) + (+ 30 (* 30 (sin (* pi 1/4)))) + (+ 40 (* 40 (cos (* pi 5/4)))) + (+ 30 (* 30 (sin (* pi 5/4)))) + "darkolivegreen") + 'image + "3c068285.png") + (list + '(add-line (ellipse 40 40 "outline" "maroon") 0 40 40 0 "maroon") + 'image + "370a84fa.png") + (list '(line 30 -20 "red") 'image "35ca3e57.png") + (list '(line -30 20 "red") 'image "149f7bed.png") + (list '(line 30 30 "black") 'image "216299fe.png") + (list + '(star-polygon 20 10 3 "solid" "cornflowerblue") + 'image + "1564e03e.png") + (list '(star-polygon 40 7 3 "outline" "darkred") 'image "33ded4e2.png") + (list '(star-polygon 40 5 2 "solid" "seagreen") 'image "35eefac.png") + (list '(star 40 "solid" "gray") 'image "194b0e44.png") + (list '(regular-polygon 20 8 "solid" "red") 'image "1343ddbd.png") + (list '(regular-polygon 40 4 "outline" "blue") 'image "36dc3be7.png") + (list '(regular-polygon 50 3 "outline" "red") 'image "110659e0.png") + (list '(rhombus 80 150 "solid" "mediumpurple") 'image "1817baf0.png") + (list '(rhombus 40 45 "solid" "magenta") 'image "eab359b.png") + (list '(rectangle 20 40 "solid" "blue") 'image "3f241026.png") + (list '(rectangle 40 20 "outline" "black") 'image "2c0ddeae.png") + (list '(square 50 "outline" "darkmagenta") 'image "97be4d.png") + (list '(square 40 "solid" "slateblue") 'image "5da309d.png") + (list + '(isosceles-triangle 60 330 "solid" "lightseagreen") + 'image + "2fa1cd58.png") + (list + '(isosceles-triangle 60 30 "solid" "aquamarine") + 'image + "1ea53369.png") + (list + '(isosceles-triangle 200 170 "solid" "seagreen") + 'image + "1a19d76d.png") + (list '(right-triangle 36 48 "solid" "black") 'image "17923882.png") + (list '(triangle 40 "solid" "tan") 'image "264fff73.png") + (list '(ellipse 20 40 "solid" "blue") 'image "33bc4cc8.png") + (list '(ellipse 40 20 "outline" "black") 'image "3603dbc6.png") + (list '(circle 20 "solid" "blue") 'image "90999b2.png") + (list '(circle 30 "outline" "red") 'image "115c97e6.png"))) diff --git a/collects/teachpack/2htdp/scribblings/image.scrbl b/collects/teachpack/2htdp/scribblings/image.scrbl index 0c9c7db446..1610fd0781 100644 --- a/collects/teachpack/2htdp/scribblings/image.scrbl +++ b/collects/teachpack/2htdp/scribblings/image.scrbl @@ -126,8 +126,8 @@ other. The top and bottom pair of angles is @scheme[angle] and the left and righ image?]{ Constructs a regular polygon with @scheme[side-count] sides. - @image-examples[(regular-polygon 30 3 "outline" "red") - (regular-polygon 20 4 "outline" "blue") + @image-examples[(regular-polygon 50 3 "outline" "red") + (regular-polygon 40 4 "outline" "blue") (regular-polygon 20 8 "solid" "red")] } @@ -171,7 +171,26 @@ other. The top and bottom pair of angles is @scheme[angle] and the left and righ (line -30 20 "red") (line 30 -20 "red")] } - + +@defproc[(add-line [image image?] + [x1 real?] [y1 real?] + [x2 real?] [y2 real?] + [color (or/c symbol? string?)]) + image?]{ + + Adds a line to the image @scheme[image], starting from the point (@scheme[x1],@scheme[y1]) + and going to the point (@scheme[x2],@scheme[y2]). + + @image-examples[(add-line (ellipse 40 40 "outline" "maroon") + 0 40 40 0 "maroon") + (add-line (ellipse 80 60 "outline" "darkolivegreen") + (+ 40 (* 40 (cos (* pi 1/4)))) + (+ 30 (* 30 (sin (* pi 1/4)))) + (+ 40 (* 40 (cos (* pi 5/4)))) + (+ 30 (* 30 (sin (* pi 5/4)))) + "darkolivegreen")] +} + @defproc[(text [string string?] [font-size (and/c integer? (<=/c 1 255))] [color (or/c symbol? string?)]) image?]{ diff --git a/collects/teachpack/2htdp/scribblings/img/0.png b/collects/teachpack/2htdp/scribblings/img/0.png deleted file mode 100644 index 0dd50084e1..0000000000 Binary files a/collects/teachpack/2htdp/scribblings/img/0.png and /dev/null differ diff --git a/collects/teachpack/2htdp/scribblings/img/1.png b/collects/teachpack/2htdp/scribblings/img/1.png deleted file mode 100644 index 8d9a9a112c..0000000000 Binary files a/collects/teachpack/2htdp/scribblings/img/1.png and /dev/null differ diff --git a/collects/teachpack/2htdp/scribblings/img/10.png b/collects/teachpack/2htdp/scribblings/img/10.png deleted file mode 100644 index e7aaad3eb2..0000000000 Binary files a/collects/teachpack/2htdp/scribblings/img/10.png and /dev/null differ diff --git a/collects/teachpack/2htdp/scribblings/img/10078cfc.png b/collects/teachpack/2htdp/scribblings/img/10078cfc.png new file mode 100644 index 0000000000..699793483d Binary files /dev/null and b/collects/teachpack/2htdp/scribblings/img/10078cfc.png differ diff --git a/collects/teachpack/2htdp/scribblings/img/107a175b.png b/collects/teachpack/2htdp/scribblings/img/107a175b.png new file mode 100644 index 0000000000..6ecebf4d7e Binary files /dev/null and b/collects/teachpack/2htdp/scribblings/img/107a175b.png differ diff --git a/collects/teachpack/2htdp/scribblings/img/11.png b/collects/teachpack/2htdp/scribblings/img/11.png deleted file mode 100644 index 02ac08dccb..0000000000 Binary files a/collects/teachpack/2htdp/scribblings/img/11.png and /dev/null differ diff --git a/collects/teachpack/2htdp/scribblings/img/110659e0.png b/collects/teachpack/2htdp/scribblings/img/110659e0.png new file mode 100644 index 0000000000..419e0ebcc7 Binary files /dev/null and b/collects/teachpack/2htdp/scribblings/img/110659e0.png differ diff --git a/collects/teachpack/2htdp/scribblings/img/11536865.png b/collects/teachpack/2htdp/scribblings/img/11536865.png new file mode 100644 index 0000000000..32e97fb0fd Binary files /dev/null and b/collects/teachpack/2htdp/scribblings/img/11536865.png differ diff --git a/collects/teachpack/2htdp/scribblings/img/115c97e6.png b/collects/teachpack/2htdp/scribblings/img/115c97e6.png new file mode 100644 index 0000000000..3be5f40092 Binary files /dev/null and b/collects/teachpack/2htdp/scribblings/img/115c97e6.png differ diff --git a/collects/teachpack/2htdp/scribblings/img/116768e2.png b/collects/teachpack/2htdp/scribblings/img/116768e2.png new file mode 100644 index 0000000000..faeb22e0d6 Binary files /dev/null and b/collects/teachpack/2htdp/scribblings/img/116768e2.png differ diff --git a/collects/teachpack/2htdp/scribblings/img/12.png b/collects/teachpack/2htdp/scribblings/img/12.png deleted file mode 100644 index 3b61141be6..0000000000 Binary files a/collects/teachpack/2htdp/scribblings/img/12.png and /dev/null differ diff --git a/collects/teachpack/2htdp/scribblings/img/120469a1.png b/collects/teachpack/2htdp/scribblings/img/120469a1.png new file mode 100644 index 0000000000..5a40e1c91f Binary files /dev/null and b/collects/teachpack/2htdp/scribblings/img/120469a1.png differ diff --git a/collects/teachpack/2htdp/scribblings/img/128db302.png b/collects/teachpack/2htdp/scribblings/img/128db302.png new file mode 100644 index 0000000000..642c76872e Binary files /dev/null and b/collects/teachpack/2htdp/scribblings/img/128db302.png differ diff --git a/collects/teachpack/2htdp/scribblings/img/13.png b/collects/teachpack/2htdp/scribblings/img/13.png deleted file mode 100644 index f79f1198ad..0000000000 Binary files a/collects/teachpack/2htdp/scribblings/img/13.png and /dev/null differ diff --git a/collects/teachpack/2htdp/scribblings/img/1331b42e.png b/collects/teachpack/2htdp/scribblings/img/1331b42e.png new file mode 100644 index 0000000000..ccf681af8d Binary files /dev/null and b/collects/teachpack/2htdp/scribblings/img/1331b42e.png differ diff --git a/collects/teachpack/2htdp/scribblings/img/1343ddbd.png b/collects/teachpack/2htdp/scribblings/img/1343ddbd.png new file mode 100644 index 0000000000..f8f6a0b22a Binary files /dev/null and b/collects/teachpack/2htdp/scribblings/img/1343ddbd.png differ diff --git a/collects/teachpack/2htdp/scribblings/img/14.png b/collects/teachpack/2htdp/scribblings/img/14.png deleted file mode 100644 index 1031d90f80..0000000000 Binary files a/collects/teachpack/2htdp/scribblings/img/14.png and /dev/null differ diff --git a/collects/teachpack/2htdp/scribblings/img/149f7bed.png b/collects/teachpack/2htdp/scribblings/img/149f7bed.png new file mode 100644 index 0000000000..c0cb686d8a Binary files /dev/null and b/collects/teachpack/2htdp/scribblings/img/149f7bed.png differ diff --git a/collects/teachpack/2htdp/scribblings/img/15.png b/collects/teachpack/2htdp/scribblings/img/15.png deleted file mode 100644 index 92b60ba84a..0000000000 Binary files a/collects/teachpack/2htdp/scribblings/img/15.png and /dev/null differ diff --git a/collects/teachpack/2htdp/scribblings/img/1564e03e.png b/collects/teachpack/2htdp/scribblings/img/1564e03e.png new file mode 100644 index 0000000000..bca40f1df7 Binary files /dev/null and b/collects/teachpack/2htdp/scribblings/img/1564e03e.png differ diff --git a/collects/teachpack/2htdp/scribblings/img/16.png b/collects/teachpack/2htdp/scribblings/img/16.png deleted file mode 100644 index 40966d3298..0000000000 Binary files a/collects/teachpack/2htdp/scribblings/img/16.png and /dev/null differ diff --git a/collects/teachpack/2htdp/scribblings/img/17.png b/collects/teachpack/2htdp/scribblings/img/17.png deleted file mode 100644 index 27c7c2cec9..0000000000 Binary files a/collects/teachpack/2htdp/scribblings/img/17.png and /dev/null differ diff --git a/collects/teachpack/2htdp/scribblings/img/17923882.png b/collects/teachpack/2htdp/scribblings/img/17923882.png new file mode 100644 index 0000000000..4f493ae5de Binary files /dev/null and b/collects/teachpack/2htdp/scribblings/img/17923882.png differ diff --git a/collects/teachpack/2htdp/scribblings/img/18.png b/collects/teachpack/2htdp/scribblings/img/18.png deleted file mode 100644 index dbbf37c78f..0000000000 Binary files a/collects/teachpack/2htdp/scribblings/img/18.png and /dev/null differ diff --git a/collects/teachpack/2htdp/scribblings/img/1817baf0.png b/collects/teachpack/2htdp/scribblings/img/1817baf0.png new file mode 100644 index 0000000000..47b5a22a31 Binary files /dev/null and b/collects/teachpack/2htdp/scribblings/img/1817baf0.png differ diff --git a/collects/teachpack/2htdp/scribblings/img/19.png b/collects/teachpack/2htdp/scribblings/img/19.png deleted file mode 100644 index af23c00a64..0000000000 Binary files a/collects/teachpack/2htdp/scribblings/img/19.png and /dev/null differ diff --git a/collects/teachpack/2htdp/scribblings/img/194b0e44.png b/collects/teachpack/2htdp/scribblings/img/194b0e44.png new file mode 100644 index 0000000000..d18e479f50 Binary files /dev/null and b/collects/teachpack/2htdp/scribblings/img/194b0e44.png differ diff --git a/collects/teachpack/2htdp/scribblings/img/1a14c856.png b/collects/teachpack/2htdp/scribblings/img/1a14c856.png new file mode 100644 index 0000000000..b7251087dc Binary files /dev/null and b/collects/teachpack/2htdp/scribblings/img/1a14c856.png differ diff --git a/collects/teachpack/2htdp/scribblings/img/1a19d76d.png b/collects/teachpack/2htdp/scribblings/img/1a19d76d.png new file mode 100644 index 0000000000..e93f84df13 Binary files /dev/null and b/collects/teachpack/2htdp/scribblings/img/1a19d76d.png differ diff --git a/collects/teachpack/2htdp/scribblings/img/1bebb5af.png b/collects/teachpack/2htdp/scribblings/img/1bebb5af.png new file mode 100644 index 0000000000..3f184495d2 Binary files /dev/null and b/collects/teachpack/2htdp/scribblings/img/1bebb5af.png differ diff --git a/collects/teachpack/2htdp/scribblings/img/1cdad38e.png b/collects/teachpack/2htdp/scribblings/img/1cdad38e.png new file mode 100644 index 0000000000..8e0087d366 Binary files /dev/null and b/collects/teachpack/2htdp/scribblings/img/1cdad38e.png differ diff --git a/collects/teachpack/2htdp/scribblings/img/1ea53369.png b/collects/teachpack/2htdp/scribblings/img/1ea53369.png new file mode 100644 index 0000000000..1fd5d93d55 Binary files /dev/null and b/collects/teachpack/2htdp/scribblings/img/1ea53369.png differ diff --git a/collects/teachpack/2htdp/scribblings/img/2.png b/collects/teachpack/2htdp/scribblings/img/2.png deleted file mode 100644 index b7991ba733..0000000000 Binary files a/collects/teachpack/2htdp/scribblings/img/2.png and /dev/null differ diff --git a/collects/teachpack/2htdp/scribblings/img/20.png b/collects/teachpack/2htdp/scribblings/img/20.png deleted file mode 100644 index b7ee277187..0000000000 Binary files a/collects/teachpack/2htdp/scribblings/img/20.png and /dev/null differ diff --git a/collects/teachpack/2htdp/scribblings/img/21.png b/collects/teachpack/2htdp/scribblings/img/21.png deleted file mode 100644 index ee1f8e9d9f..0000000000 Binary files a/collects/teachpack/2htdp/scribblings/img/21.png and /dev/null differ diff --git a/collects/teachpack/2htdp/scribblings/img/216299fe.png b/collects/teachpack/2htdp/scribblings/img/216299fe.png new file mode 100644 index 0000000000..cfabacdc92 Binary files /dev/null and b/collects/teachpack/2htdp/scribblings/img/216299fe.png differ diff --git a/collects/teachpack/2htdp/scribblings/img/22.png b/collects/teachpack/2htdp/scribblings/img/22.png deleted file mode 100644 index 9cd644b314..0000000000 Binary files a/collects/teachpack/2htdp/scribblings/img/22.png and /dev/null differ diff --git a/collects/teachpack/2htdp/scribblings/img/23.png b/collects/teachpack/2htdp/scribblings/img/23.png deleted file mode 100644 index df5da613c9..0000000000 Binary files a/collects/teachpack/2htdp/scribblings/img/23.png and /dev/null differ diff --git a/collects/teachpack/2htdp/scribblings/img/24.png b/collects/teachpack/2htdp/scribblings/img/24.png deleted file mode 100644 index df5da613c9..0000000000 Binary files a/collects/teachpack/2htdp/scribblings/img/24.png and /dev/null differ diff --git a/collects/teachpack/2htdp/scribblings/img/24e78945.png b/collects/teachpack/2htdp/scribblings/img/24e78945.png new file mode 100644 index 0000000000..e13d1cbf45 Binary files /dev/null and b/collects/teachpack/2htdp/scribblings/img/24e78945.png differ diff --git a/collects/teachpack/2htdp/scribblings/img/25.png b/collects/teachpack/2htdp/scribblings/img/25.png deleted file mode 100644 index cd170b1c51..0000000000 Binary files a/collects/teachpack/2htdp/scribblings/img/25.png and /dev/null differ diff --git a/collects/teachpack/2htdp/scribblings/img/26.png b/collects/teachpack/2htdp/scribblings/img/26.png deleted file mode 100644 index b2593ebe1a..0000000000 Binary files a/collects/teachpack/2htdp/scribblings/img/26.png and /dev/null differ diff --git a/collects/teachpack/2htdp/scribblings/img/264fff73.png b/collects/teachpack/2htdp/scribblings/img/264fff73.png new file mode 100644 index 0000000000..8324d511c7 Binary files /dev/null and b/collects/teachpack/2htdp/scribblings/img/264fff73.png differ diff --git a/collects/teachpack/2htdp/scribblings/img/27.png b/collects/teachpack/2htdp/scribblings/img/27.png deleted file mode 100644 index d4b7ede7b8..0000000000 Binary files a/collects/teachpack/2htdp/scribblings/img/27.png and /dev/null differ diff --git a/collects/teachpack/2htdp/scribblings/img/28.png b/collects/teachpack/2htdp/scribblings/img/28.png deleted file mode 100644 index 43659d6e16..0000000000 Binary files a/collects/teachpack/2htdp/scribblings/img/28.png and /dev/null differ diff --git a/collects/teachpack/2htdp/scribblings/img/28fdf75c.png b/collects/teachpack/2htdp/scribblings/img/28fdf75c.png new file mode 100644 index 0000000000..6b722603b2 Binary files /dev/null and b/collects/teachpack/2htdp/scribblings/img/28fdf75c.png differ diff --git a/collects/teachpack/2htdp/scribblings/img/29.png b/collects/teachpack/2htdp/scribblings/img/29.png deleted file mode 100644 index f1985bc035..0000000000 Binary files a/collects/teachpack/2htdp/scribblings/img/29.png and /dev/null differ diff --git a/collects/teachpack/2htdp/scribblings/img/2c0ddeae.png b/collects/teachpack/2htdp/scribblings/img/2c0ddeae.png new file mode 100644 index 0000000000..ee9e64901d Binary files /dev/null and b/collects/teachpack/2htdp/scribblings/img/2c0ddeae.png differ diff --git a/collects/teachpack/2htdp/scribblings/img/2c27a4ab.png b/collects/teachpack/2htdp/scribblings/img/2c27a4ab.png new file mode 100644 index 0000000000..0d98e92b40 Binary files /dev/null and b/collects/teachpack/2htdp/scribblings/img/2c27a4ab.png differ diff --git a/collects/teachpack/2htdp/scribblings/img/2e92034e.png b/collects/teachpack/2htdp/scribblings/img/2e92034e.png new file mode 100644 index 0000000000..3efd53971f Binary files /dev/null and b/collects/teachpack/2htdp/scribblings/img/2e92034e.png differ diff --git a/collects/teachpack/2htdp/scribblings/img/2fa1cd58.png b/collects/teachpack/2htdp/scribblings/img/2fa1cd58.png new file mode 100644 index 0000000000..96188e8df1 Binary files /dev/null and b/collects/teachpack/2htdp/scribblings/img/2fa1cd58.png differ diff --git a/collects/teachpack/2htdp/scribblings/img/3.png b/collects/teachpack/2htdp/scribblings/img/3.png deleted file mode 100644 index 6203b7f95b..0000000000 Binary files a/collects/teachpack/2htdp/scribblings/img/3.png and /dev/null differ diff --git a/collects/teachpack/2htdp/scribblings/img/30.png b/collects/teachpack/2htdp/scribblings/img/30.png deleted file mode 100644 index e5bec8f1d1..0000000000 Binary files a/collects/teachpack/2htdp/scribblings/img/30.png and /dev/null differ diff --git a/collects/teachpack/2htdp/scribblings/img/31.png b/collects/teachpack/2htdp/scribblings/img/31.png deleted file mode 100644 index c7a53e79ba..0000000000 Binary files a/collects/teachpack/2htdp/scribblings/img/31.png and /dev/null differ diff --git a/collects/teachpack/2htdp/scribblings/img/32.png b/collects/teachpack/2htdp/scribblings/img/32.png deleted file mode 100644 index aab464a076..0000000000 Binary files a/collects/teachpack/2htdp/scribblings/img/32.png and /dev/null differ diff --git a/collects/teachpack/2htdp/scribblings/img/33.png b/collects/teachpack/2htdp/scribblings/img/33.png deleted file mode 100644 index 755b55bf26..0000000000 Binary files a/collects/teachpack/2htdp/scribblings/img/33.png and /dev/null differ diff --git a/collects/teachpack/2htdp/scribblings/img/33aaed94.png b/collects/teachpack/2htdp/scribblings/img/33aaed94.png new file mode 100644 index 0000000000..01b14884a7 Binary files /dev/null and b/collects/teachpack/2htdp/scribblings/img/33aaed94.png differ diff --git a/collects/teachpack/2htdp/scribblings/img/33bc4cc8.png b/collects/teachpack/2htdp/scribblings/img/33bc4cc8.png new file mode 100644 index 0000000000..2120aa2bb9 Binary files /dev/null and b/collects/teachpack/2htdp/scribblings/img/33bc4cc8.png differ diff --git a/collects/teachpack/2htdp/scribblings/img/33ded4e2.png b/collects/teachpack/2htdp/scribblings/img/33ded4e2.png new file mode 100644 index 0000000000..8863bca869 Binary files /dev/null and b/collects/teachpack/2htdp/scribblings/img/33ded4e2.png differ diff --git a/collects/teachpack/2htdp/scribblings/img/34.png b/collects/teachpack/2htdp/scribblings/img/34.png deleted file mode 100644 index 841284164b..0000000000 Binary files a/collects/teachpack/2htdp/scribblings/img/34.png and /dev/null differ diff --git a/collects/teachpack/2htdp/scribblings/img/35.png b/collects/teachpack/2htdp/scribblings/img/35.png deleted file mode 100644 index 60a97a2408..0000000000 Binary files a/collects/teachpack/2htdp/scribblings/img/35.png and /dev/null differ diff --git a/collects/teachpack/2htdp/scribblings/img/35ca3e57.png b/collects/teachpack/2htdp/scribblings/img/35ca3e57.png new file mode 100644 index 0000000000..c0cb686d8a Binary files /dev/null and b/collects/teachpack/2htdp/scribblings/img/35ca3e57.png differ diff --git a/collects/teachpack/2htdp/scribblings/img/35eefac.png b/collects/teachpack/2htdp/scribblings/img/35eefac.png new file mode 100644 index 0000000000..f62f5b0d10 Binary files /dev/null and b/collects/teachpack/2htdp/scribblings/img/35eefac.png differ diff --git a/collects/teachpack/2htdp/scribblings/img/36.png b/collects/teachpack/2htdp/scribblings/img/36.png deleted file mode 100644 index 79bb91c201..0000000000 Binary files a/collects/teachpack/2htdp/scribblings/img/36.png and /dev/null differ diff --git a/collects/teachpack/2htdp/scribblings/img/3603dbc6.png b/collects/teachpack/2htdp/scribblings/img/3603dbc6.png new file mode 100644 index 0000000000..e4a42684b4 Binary files /dev/null and b/collects/teachpack/2htdp/scribblings/img/3603dbc6.png differ diff --git a/collects/teachpack/2htdp/scribblings/img/36abd0a6.png b/collects/teachpack/2htdp/scribblings/img/36abd0a6.png new file mode 100644 index 0000000000..b65f82c9e0 Binary files /dev/null and b/collects/teachpack/2htdp/scribblings/img/36abd0a6.png differ diff --git a/collects/teachpack/2htdp/scribblings/img/36dc3be7.png b/collects/teachpack/2htdp/scribblings/img/36dc3be7.png new file mode 100644 index 0000000000..f26f88da69 Binary files /dev/null and b/collects/teachpack/2htdp/scribblings/img/36dc3be7.png differ diff --git a/collects/teachpack/2htdp/scribblings/img/37.png b/collects/teachpack/2htdp/scribblings/img/37.png deleted file mode 100644 index 2b68c09f35..0000000000 Binary files a/collects/teachpack/2htdp/scribblings/img/37.png and /dev/null differ diff --git a/collects/teachpack/2htdp/scribblings/img/370a84fa.png b/collects/teachpack/2htdp/scribblings/img/370a84fa.png new file mode 100644 index 0000000000..54574602fb Binary files /dev/null and b/collects/teachpack/2htdp/scribblings/img/370a84fa.png differ diff --git a/collects/teachpack/2htdp/scribblings/img/38.png b/collects/teachpack/2htdp/scribblings/img/38.png deleted file mode 100644 index 08e8736666..0000000000 Binary files a/collects/teachpack/2htdp/scribblings/img/38.png and /dev/null differ diff --git a/collects/teachpack/2htdp/scribblings/img/39.png b/collects/teachpack/2htdp/scribblings/img/39.png deleted file mode 100644 index 99a2eca320..0000000000 Binary files a/collects/teachpack/2htdp/scribblings/img/39.png and /dev/null differ diff --git a/collects/teachpack/2htdp/scribblings/img/3a5f8054.png b/collects/teachpack/2htdp/scribblings/img/3a5f8054.png new file mode 100644 index 0000000000..ceed37389f Binary files /dev/null and b/collects/teachpack/2htdp/scribblings/img/3a5f8054.png differ diff --git a/collects/teachpack/2htdp/scribblings/img/3c068285.png b/collects/teachpack/2htdp/scribblings/img/3c068285.png new file mode 100644 index 0000000000..632e9293ac Binary files /dev/null and b/collects/teachpack/2htdp/scribblings/img/3c068285.png differ diff --git a/collects/teachpack/2htdp/scribblings/img/3f241026.png b/collects/teachpack/2htdp/scribblings/img/3f241026.png new file mode 100644 index 0000000000..6c34d4d5c6 Binary files /dev/null and b/collects/teachpack/2htdp/scribblings/img/3f241026.png differ diff --git a/collects/teachpack/2htdp/scribblings/img/3f9b7651.png b/collects/teachpack/2htdp/scribblings/img/3f9b7651.png new file mode 100644 index 0000000000..b7251087dc Binary files /dev/null and b/collects/teachpack/2htdp/scribblings/img/3f9b7651.png differ diff --git a/collects/teachpack/2htdp/scribblings/img/4.png b/collects/teachpack/2htdp/scribblings/img/4.png deleted file mode 100644 index d2acf6703a..0000000000 Binary files a/collects/teachpack/2htdp/scribblings/img/4.png and /dev/null differ diff --git a/collects/teachpack/2htdp/scribblings/img/40.png b/collects/teachpack/2htdp/scribblings/img/40.png deleted file mode 100644 index 9c4330165b..0000000000 Binary files a/collects/teachpack/2htdp/scribblings/img/40.png and /dev/null differ diff --git a/collects/teachpack/2htdp/scribblings/img/41.png b/collects/teachpack/2htdp/scribblings/img/41.png deleted file mode 100644 index 8e2f621748..0000000000 Binary files a/collects/teachpack/2htdp/scribblings/img/41.png and /dev/null differ diff --git a/collects/teachpack/2htdp/scribblings/img/42.png b/collects/teachpack/2htdp/scribblings/img/42.png deleted file mode 100644 index 5cc44ce573..0000000000 Binary files a/collects/teachpack/2htdp/scribblings/img/42.png and /dev/null differ diff --git a/collects/teachpack/2htdp/scribblings/img/43.png b/collects/teachpack/2htdp/scribblings/img/43.png deleted file mode 100644 index 7322f66859..0000000000 Binary files a/collects/teachpack/2htdp/scribblings/img/43.png and /dev/null differ diff --git a/collects/teachpack/2htdp/scribblings/img/44.png b/collects/teachpack/2htdp/scribblings/img/44.png deleted file mode 100644 index 26ebdc8f87..0000000000 Binary files a/collects/teachpack/2htdp/scribblings/img/44.png and /dev/null differ diff --git a/collects/teachpack/2htdp/scribblings/img/45.png b/collects/teachpack/2htdp/scribblings/img/45.png deleted file mode 100644 index 26ebdc8f87..0000000000 Binary files a/collects/teachpack/2htdp/scribblings/img/45.png and /dev/null differ diff --git a/collects/teachpack/2htdp/scribblings/img/46.png b/collects/teachpack/2htdp/scribblings/img/46.png deleted file mode 100644 index 5051608ba5..0000000000 Binary files a/collects/teachpack/2htdp/scribblings/img/46.png and /dev/null differ diff --git a/collects/teachpack/2htdp/scribblings/img/47.png b/collects/teachpack/2htdp/scribblings/img/47.png deleted file mode 100644 index 5051608ba5..0000000000 Binary files a/collects/teachpack/2htdp/scribblings/img/47.png and /dev/null differ diff --git a/collects/teachpack/2htdp/scribblings/img/48.png b/collects/teachpack/2htdp/scribblings/img/48.png deleted file mode 100644 index 96584002be..0000000000 Binary files a/collects/teachpack/2htdp/scribblings/img/48.png and /dev/null differ diff --git a/collects/teachpack/2htdp/scribblings/img/49.png b/collects/teachpack/2htdp/scribblings/img/49.png deleted file mode 100644 index 12adfdabfc..0000000000 Binary files a/collects/teachpack/2htdp/scribblings/img/49.png and /dev/null differ diff --git a/collects/teachpack/2htdp/scribblings/img/5.png b/collects/teachpack/2htdp/scribblings/img/5.png deleted file mode 100644 index 47c9606c83..0000000000 Binary files a/collects/teachpack/2htdp/scribblings/img/5.png and /dev/null differ diff --git a/collects/teachpack/2htdp/scribblings/img/5965553.png b/collects/teachpack/2htdp/scribblings/img/5965553.png new file mode 100644 index 0000000000..51bc91e9c0 Binary files /dev/null and b/collects/teachpack/2htdp/scribblings/img/5965553.png differ diff --git a/collects/teachpack/2htdp/scribblings/img/5da309d.png b/collects/teachpack/2htdp/scribblings/img/5da309d.png new file mode 100644 index 0000000000..e4abcd6a5c Binary files /dev/null and b/collects/teachpack/2htdp/scribblings/img/5da309d.png differ diff --git a/collects/teachpack/2htdp/scribblings/img/6.png b/collects/teachpack/2htdp/scribblings/img/6.png deleted file mode 100644 index e650be6e69..0000000000 Binary files a/collects/teachpack/2htdp/scribblings/img/6.png and /dev/null differ diff --git a/collects/teachpack/2htdp/scribblings/img/7.png b/collects/teachpack/2htdp/scribblings/img/7.png deleted file mode 100644 index a2bf256127..0000000000 Binary files a/collects/teachpack/2htdp/scribblings/img/7.png and /dev/null differ diff --git a/collects/teachpack/2htdp/scribblings/img/8.png b/collects/teachpack/2htdp/scribblings/img/8.png deleted file mode 100644 index 44d0e23667..0000000000 Binary files a/collects/teachpack/2htdp/scribblings/img/8.png and /dev/null differ diff --git a/collects/teachpack/2htdp/scribblings/img/80c7ec4.png b/collects/teachpack/2htdp/scribblings/img/80c7ec4.png new file mode 100644 index 0000000000..3f184495d2 Binary files /dev/null and b/collects/teachpack/2htdp/scribblings/img/80c7ec4.png differ diff --git a/collects/teachpack/2htdp/scribblings/img/9.png b/collects/teachpack/2htdp/scribblings/img/9.png deleted file mode 100644 index ba63077485..0000000000 Binary files a/collects/teachpack/2htdp/scribblings/img/9.png and /dev/null differ diff --git a/collects/teachpack/2htdp/scribblings/img/90999b2.png b/collects/teachpack/2htdp/scribblings/img/90999b2.png new file mode 100644 index 0000000000..a17b480c1e Binary files /dev/null and b/collects/teachpack/2htdp/scribblings/img/90999b2.png differ diff --git a/collects/teachpack/2htdp/scribblings/img/975b778.png b/collects/teachpack/2htdp/scribblings/img/975b778.png new file mode 100644 index 0000000000..b15c97c4f5 Binary files /dev/null and b/collects/teachpack/2htdp/scribblings/img/975b778.png differ diff --git a/collects/teachpack/2htdp/scribblings/img/97be4d.png b/collects/teachpack/2htdp/scribblings/img/97be4d.png new file mode 100644 index 0000000000..bd15d8fe49 Binary files /dev/null and b/collects/teachpack/2htdp/scribblings/img/97be4d.png differ diff --git a/collects/teachpack/2htdp/scribblings/img/b3e371c.png b/collects/teachpack/2htdp/scribblings/img/b3e371c.png new file mode 100644 index 0000000000..b5ef099a8c Binary files /dev/null and b/collects/teachpack/2htdp/scribblings/img/b3e371c.png differ diff --git a/collects/teachpack/2htdp/scribblings/img/cd2e82.png b/collects/teachpack/2htdp/scribblings/img/cd2e82.png new file mode 100644 index 0000000000..d3abd4688e Binary files /dev/null and b/collects/teachpack/2htdp/scribblings/img/cd2e82.png differ diff --git a/collects/teachpack/2htdp/scribblings/img/eab359b.png b/collects/teachpack/2htdp/scribblings/img/eab359b.png new file mode 100644 index 0000000000..e5f998d425 Binary files /dev/null and b/collects/teachpack/2htdp/scribblings/img/eab359b.png differ diff --git a/collects/teachpack/2htdp/scribblings/img/f404e3c.png b/collects/teachpack/2htdp/scribblings/img/f404e3c.png new file mode 100644 index 0000000000..42033ae105 Binary files /dev/null and b/collects/teachpack/2htdp/scribblings/img/f404e3c.png differ diff --git a/collects/teachpack/2htdp/scribblings/img/f6b7cc9.png b/collects/teachpack/2htdp/scribblings/img/f6b7cc9.png new file mode 100644 index 0000000000..7e1e9a3726 Binary files /dev/null and b/collects/teachpack/2htdp/scribblings/img/f6b7cc9.png differ diff --git a/collects/tests/2htdp/test-image.ss b/collects/tests/2htdp/test-image.ss index b5bf42f5d7..0845792796 100644 --- a/collects/tests/2htdp/test-image.ss +++ b/collects/tests/2htdp/test-image.ss @@ -651,3 +651,61 @@ (check-equal? (round-numbers (line -30 20 "red")) (round-numbers (line 30 -20 "red"))) + +(check-equal? (image-width (add-line (rectangle 100 200 'solid 'black) + 10 10 90 190 "red")) + 100) +(check-equal? (image-height (add-line (rectangle 100 200 'solid 'black) + 10 10 90 190 "red")) + 200) +(check-equal? (image-width (add-line (rectangle 100 200 'solid 'black) + 10 10 200 200 "red")) + 200) +(check-equal? (image-height (add-line (rectangle 100 200 'solid 'black) + 10 10 200 200 "red")) + 200) + +(check-equal? (image-width (add-line (rectangle 100 200 'solid 'black) + 10 10 300 300 "red")) + 300) +(check-equal? (image-height (add-line (rectangle 100 200 'solid 'black) + 10 10 300 300 "red")) + 300) + +(check-equal? (image-width (add-line (rectangle 100 200 'solid 'black) + -10 10 100 200 "red")) + 110) +(check-equal? (image-height (add-line (rectangle 100 200 'solid 'black) + -10 10 100 200 "red")) + 200) + +(check-equal? (image-width (add-line (rectangle 100 200 'solid 'black) + 10 -10 100 200 "red")) + 100) +(check-equal? (image-height (add-line (rectangle 100 200 'solid 'black) + 10 -10 100 200 "red")) + 210) + +(check-equal? (image-width (add-line (rectangle 100 200 'solid 'black) + 100 200 10 -10 "red")) + 100) +(check-equal? (image-height (add-line (rectangle 100 200 'solid 'black) + 100 200 10 -10 "red")) + 210) + +(check-equal? (image-width (add-line (rectangle 100 200 'solid 'black) + 100 200 -10 10 "red")) + 110) +(check-equal? (image-height (add-line (rectangle 100 200 'solid 'black) + 100 200 -10 10 "red")) + 200) + +(let* ([txt (text "H" 24 'black)] + [bl (image-baseline txt)]) + (check-equal? (image-baseline (add-line txt 0 0 100 100 'red)) + bl)) + +(let* ([txt (text "H" 24 'black)] + [bl (image-baseline txt)]) + (check-equal? (image-baseline (add-line txt 0 -10 100 100 'red)) + (+ bl 10))) \ No newline at end of file