From e9ba1bb480c99f46170fdce21e7bacc98fcbad0d Mon Sep 17 00:00:00 2001 From: Robby Findler Date: Fri, 13 Nov 2009 17:15:59 +0000 Subject: [PATCH] improved the docs a little, added a color? predicate svn: r16747 --- collects/2htdp/image.ss | 1 + collects/2htdp/private/image-more.ss | 2 + .../teachpack/2htdp/scribblings/image-toc.ss | 76 +++++++------ .../teachpack/2htdp/scribblings/image.scrbl | 103 ++++++++++-------- .../2htdp/scribblings/img/10847861f4b.png | Bin 0 -> 1354 bytes .../2htdp/scribblings/img/11477a8292d.png | Bin 1005 -> 1007 bytes .../2htdp/scribblings/img/12795bb439c.png | Bin 121 -> 0 bytes .../2htdp/scribblings/img/133309751d2.png | Bin 0 -> 159 bytes .../2htdp/scribblings/img/15717b87d30.png | Bin 0 -> 161 bytes .../2htdp/scribblings/img/1bc43bb84a.png | Bin 282 -> 0 bytes .../2htdp/scribblings/img/1d4f067776.png | Bin 142 -> 0 bytes .../2htdp/scribblings/img/1f0b671ed7b.png | Bin 0 -> 118 bytes .../2htdp/scribblings/img/201133dd679.png | Bin 0 -> 316 bytes .../2htdp/scribblings/img/255506ac6ca.png | Bin 1297 -> 0 bytes .../2htdp/scribblings/img/27bbbb6fd64.png | Bin 1459 -> 1388 bytes .../2htdp/scribblings/img/2813b45d923.png | Bin 1135 -> 0 bytes .../2htdp/scribblings/img/4e85791a5.png | Bin 0 -> 764 bytes .../2htdp/scribblings/img/fecb6311a8.png | Bin 144 -> 0 bytes 18 files changed, 103 insertions(+), 79 deletions(-) create mode 100644 collects/teachpack/2htdp/scribblings/img/10847861f4b.png delete mode 100644 collects/teachpack/2htdp/scribblings/img/12795bb439c.png create mode 100644 collects/teachpack/2htdp/scribblings/img/133309751d2.png create mode 100644 collects/teachpack/2htdp/scribblings/img/15717b87d30.png delete mode 100644 collects/teachpack/2htdp/scribblings/img/1bc43bb84a.png delete mode 100644 collects/teachpack/2htdp/scribblings/img/1d4f067776.png create mode 100644 collects/teachpack/2htdp/scribblings/img/1f0b671ed7b.png create mode 100644 collects/teachpack/2htdp/scribblings/img/201133dd679.png delete mode 100644 collects/teachpack/2htdp/scribblings/img/255506ac6ca.png delete mode 100644 collects/teachpack/2htdp/scribblings/img/2813b45d923.png create mode 100644 collects/teachpack/2htdp/scribblings/img/4e85791a5.png delete mode 100644 collects/teachpack/2htdp/scribblings/img/fecb6311a8.png diff --git a/collects/2htdp/image.ss b/collects/2htdp/image.ss index 25dc30a30e..67cf9f528f 100644 --- a/collects/2htdp/image.ss +++ b/collects/2htdp/image.ss @@ -88,6 +88,7 @@ and they all have good sample contracts. (It is amazing what we can do with kids mode? angle? side-count? + color? image-width image-height diff --git a/collects/2htdp/private/image-more.ss b/collects/2htdp/private/image-more.ss index 1f62dd7da2..c13d49376a 100644 --- a/collects/2htdp/private/image-more.ss +++ b/collects/2htdp/private/image-more.ss @@ -246,6 +246,7 @@ (define (step-count? i) (and (integer? i) (1 . <= . i))) +(define (color? c) (or (symbol? c) (string? c))) (define (bitmap->image bm [mask-bm (send bm get-loaded-mask)]) (let ([w (send bm get-width)] @@ -911,6 +912,7 @@ mode? angle? side-count? + color? image-width image-height diff --git a/collects/teachpack/2htdp/scribblings/image-toc.ss b/collects/teachpack/2htdp/scribblings/image-toc.ss index b7ce3a649f..51c34e61d5 100644 --- a/collects/teachpack/2htdp/scribblings/image-toc.ss +++ b/collects/teachpack/2htdp/scribblings/image-toc.ss @@ -116,46 +116,50 @@ "28c73238138.png") (list '(overlay/xy - (rectangle 10 10 "solid" "red") - -10 - -10 - (rectangle 10 10 "solid" "black")) - 'image - "1d4f067776.png") - (list - '(overlay/xy - (rectangle 10 10 "solid" "red") - 10 - 10 - (rectangle 10 10 "solid" "black")) - 'image - "fecb6311a8.png") - (list - '(overlay/xy - (rectangle 10 10 "outline" "red") - 10 - 0 - (rectangle 10 10 "outline" "black")) - 'image - "12795bb439c.png") - (list - '(overlay/xy - (ellipse 40 40 "outline" "black") - 25 - 25 + (overlay/xy + (ellipse 40 40 "outline" "black") + 10 + 15 + (ellipse 10 10 "solid" "forestgreen")) + 20 + 15 (ellipse 10 10 "solid" "forestgreen")) 'image - "255506ac6ca.png") + "10847861f4b.png") + (list + '(overlay/xy + (rectangle 20 20 "solid" "red") + -20 + -20 + (rectangle 20 20 "solid" "black")) + 'image + "133309751d2.png") + (list + '(overlay/xy + (rectangle 20 20 "solid" "red") + 20 + 20 + (rectangle 20 20 "solid" "black")) + 'image + "15717b87d30.png") + (list + '(overlay/xy + (rectangle 20 20 "outline" "black") + 20 + 0 + (rectangle 20 20 "outline" "black")) + 'image + "1f0b671ed7b.png") (list '(overlay/places "right" "bottom" - (rectangle 20 20 "solid" "red") - (rectangle 30 30 "solid" "black") - (rectangle 40 40 "solid" "red") - (rectangle 50 50 "solid" "black")) + (rectangle 20 20 "solid" "silver") + (rectangle 30 30 "solid" "seagreen") + (rectangle 40 40 "solid" "silver") + (rectangle 50 50 "solid" "seagreen")) 'image - "1bc43bb84a.png") + "201133dd679.png") (list '(overlay/places "middle" @@ -176,10 +180,10 @@ "26c4c403875.png") (list '(overlay - (ellipse 60 30 "solid" "purple") - (rectangle 30 60 "solid" "orange")) + (rectangle 30 60 "solid" "orange") + (ellipse 60 30 "solid" "purple")) 'image - "2813b45d923.png") + "4e85791a5.png") (list '(text/font "not really a link" 18 "blue" #f 'roman 'normal 'normal #t) 'image diff --git a/collects/teachpack/2htdp/scribblings/image.scrbl b/collects/teachpack/2htdp/scribblings/image.scrbl index 0fb8ed7b72..2d5448b8ea 100644 --- a/collects/teachpack/2htdp/scribblings/image.scrbl +++ b/collects/teachpack/2htdp/scribblings/image.scrbl @@ -1,7 +1,8 @@ #lang scribble/doc -@(require (for-label (except-in 2htdp/image image?) - ;lang/htdp-beginner;(only-in beginner-require) +@(require (for-label (only-in scheme/contract and/c or/c any/c not/c) + 2htdp/image + (except-in lang/htdp-beginner make-posn posn? posn-x posn-y image?) lang/posn scheme/gui/base) lang/posn @@ -16,18 +17,14 @@ The image teachpack provides a number of basic image construction functions, along with combinators for building more complex images out of existing images. Basic images include various polygons, ellipses and circles, and text, as well as bitmaps (typically bitmaps -come about via the @onscreen{Insert Image...} menu item in DrScheme. +come about via the @onscreen{Insert Image...} menu item in DrScheme). Existing images can be rotated, scaled, and overlaid on top of each other. -@emph{This library is currently a work in progress. - I don't expect the existing primitives to change, but more will be added - (and bugs will be fixed...).} - @section{Basic Images} -@defproc[(circle [radius (and/c real? (not/c negative?))] +@defproc[(circle [radius (and/c real? (not/c negative?))] [mode mode?] - [color (or/c symbol? string?)]) + [color color?]) image?]{ Constructs a circle with the given radius, height, mode, and color. @@ -40,7 +37,7 @@ Existing images can be rotated, scaled, and overlaid on top of each other. @defproc[(ellipse [width (and/c real? (not/c negative?))] [height (and/c real? (not/c negative?))] [mode mode?] - [color (or/c symbol? string?)]) image?]{ + [color color?]) image?]{ Constructs an ellipsis with the given width, height, mode, and color. @image-examples[(ellipse 40 20 "outline" "black") @@ -50,7 +47,7 @@ Existing images can be rotated, scaled, and overlaid on top of each other. @defproc[(triangle [side-length (and/c real? (not/c negative?))] [mode mode?] - [color (or/c symbol? string?)]) + [color color?]) image?]{ Constructs a upward-pointing equilateral triangle. The @scheme[side-length] argument @@ -63,7 +60,7 @@ Existing images can be rotated, scaled, and overlaid on top of each other. @defproc[(right-triangle [side-length1 (and/c real? (not/c negative?))] [side-length2 (and/c real? (not/c negative?))] [mode mode?] - [color (or/c symbol? string?)]) + [color color?]) image?]{ Constructs a triangle with a right angle where the two sides adjacent @@ -75,7 +72,7 @@ Existing images can be rotated, scaled, and overlaid on top of each other. @defproc[(isosceles-triangle [side-length (and/c real? (not/c negative?))] [angle angle?] [mode mode?] - [color (or/c symbol? string?)]) + [color color?]) image?]{ Creates a triangle with two equal-length sides, of length @scheme[side-length] @@ -92,7 +89,7 @@ Existing images can be rotated, scaled, and overlaid on top of each other. @defproc[(square [side-length (and/c real? (not/c negative?))] [mode mode?] - [color (or/c symbol? string?)]) + [color color?]) image?]{ Constructs a square. @@ -102,7 +99,7 @@ Existing images can be rotated, scaled, and overlaid on top of each other. } -@defproc[(rectangle [width real?] [height real?] [mode mode?] [color (or/c symbol? string?)]) image?]{ +@defproc[(rectangle [width real?] [height real?] [mode mode?] [color color?]) image?]{ Constructs a rectangle with the given width, height, mode, and color. @image-examples[(rectangle 40 20 "outline" "black") (rectangle 20 40 "solid" "blue")] @@ -111,7 +108,7 @@ Existing images can be rotated, scaled, and overlaid on top of each other. @defproc[(rhombus [side-length (and/c real? (not/c negative?))] [angle angle?] [mode mode?] - [color (or/c symbol? string?)]) + [color color?]) image?]{ Constructs a four sided polygon with all equal sides and thus where opposite angles are equal to each @@ -124,7 +121,7 @@ other. The top and bottom pair of angles is @scheme[angle] and the left and righ @defproc[(regular-polygon [side-length (and/c real? (not/c negative?))] [side-count side-count?] [mode mode?] - [color (or/c symbol? string?)]) + [color color?]) image?]{ Constructs a regular polygon with @scheme[side-count] sides. @@ -135,7 +132,7 @@ other. The top and bottom pair of angles is @scheme[angle] and the left and righ @defproc[(star [side-length (and/c real? (not/c negative?))] [mode mode?] - [color (or/c symbol? string?)]) + [color color?]) image?]{ Constructs a star with five points. The @scheme[side-length] argument determines the side length of the enclosing pentagon. @@ -148,7 +145,7 @@ other. The top and bottom pair of angles is @scheme[angle] and the left and righ [side-count side-count?] [step-count step-count?] [mode mode?] - [color (or/c symbol? string?)]) + [color color?]) image?]{ Constructs an arbitrary regular star polygon (a generalization of the regular polygons). @@ -167,7 +164,7 @@ other. The top and bottom pair of angles is @scheme[angle] and the left and righ @defproc[(polygon [verticies (listof posn?)] [mode mode?] - [color (or/c symbol? string?)]) + [color color?]) image?]{ Constructs a polygon connecting the given verticies. @@ -187,7 +184,7 @@ other. The top and bottom pair of angles is @scheme[angle] and the left and righ "solid" "plum")] } -@defproc[(line [x1 real?] [y1 real?] [color (or/c symbol? string?)]) image?]{ +@defproc[(line [x1 real?] [y1 real?] [color color?]) image?]{ Constructs an image representing a line segment that connects the points (0,0) to (x1,y1). @@ -199,7 +196,7 @@ other. The top and bottom pair of angles is @scheme[angle] and the left and righ @defproc[(add-line [image image?] [x1 real?] [y1 real?] [x2 real?] [y2 real?] - [color (or/c symbol? string?)]) + [color color?]) image?]{ Adds a line to the image @scheme[image], starting from the point (@scheme[x1],@scheme[y1]) @@ -215,7 +212,7 @@ other. The top and bottom pair of angles is @scheme[angle] and the left and righ "darkolivegreen")] } -@defproc[(text [string string?] [font-size (and/c integer? (<=/c 1 255))] [color (or/c symbol? string?)]) +@defproc[(text [string string?] [font-size (and/c integer? (<=/c 1 255))] [color color?]) image?]{ Constructs an image that draws the given string, using the font size and color. @@ -224,7 +221,7 @@ other. The top and bottom pair of angles is @scheme[angle] and the left and righ (text "Goodbye" 36 "indigo")] } -@defproc[(text/font [string string?] [font-size (and/c integer? (<=/c 1 255))] [color (or/c symbol? string?)] +@defproc[(text/font [string string?] [font-size (and/c integer? (<=/c 1 255))] [color color?] [face (or/c string? #f)] [family (or/c 'default 'decorative 'roman 'script 'swiss 'modern 'symbol 'system)] [style (or/c 'normal 'italic 'slant)] @@ -258,8 +255,8 @@ other. The top and bottom pair of angles is @scheme[angle] and the left and righ on top of the second argument, which goes on top of the third argument, etc. The images are all lined up on their upper-right corners - @image-examples[(overlay (ellipse 60 30 "solid" "purple") - (rectangle 30 60 "solid" "orange")) + @image-examples[(overlay (rectangle 30 60 "solid" "orange") + (ellipse 60 30 "solid" "purple")) (overlay (ellipse 10 10 "solid" "red") (ellipse 20 20 "solid" "black") (ellipse 30 30 "solid" "red") @@ -279,10 +276,10 @@ other. The top and bottom pair of angles is @scheme[angle] and the left and righ (rectangle 30 60 "solid" "orange") (ellipse 60 30 "solid" "purple")) (overlay/places "right" "bottom" - (rectangle 20 20 "solid" "red") - (rectangle 30 30 "solid" "black") - (rectangle 40 40 "solid" "red") - (rectangle 50 50 "solid" "black"))] + (rectangle 20 20 "solid" "silver") + (rectangle 30 30 "solid" "seagreen") + (rectangle 40 40 "solid" "silver") + (rectangle 50 50 "solid" "seagreen"))] } @@ -291,19 +288,23 @@ other. The top and bottom pair of angles is @scheme[angle] and the left and righ Constructs an image by overlaying @scheme[i1] on top of @scheme[i2] after shifting @scheme[i2] over by @scheme[x] pixels to the right and @scheme[y] pixels down. - @image-examples[(overlay/xy (ellipse 40 40 "outline" "black") - 25 - 25 - (ellipse 10 10 "solid" "forestgreen")) - (overlay/xy (rectangle 10 10 "outline" "red") - 10 0 - (rectangle 10 10 "outline" "black")) - (overlay/xy (rectangle 10 10 "solid" "red") - 10 10 - (rectangle 10 10 "solid" "black")) - (overlay/xy (rectangle 10 10 "solid" "red") - -10 -10 - (rectangle 10 10 "solid" "black"))] + @image-examples[(overlay/xy (rectangle 20 20 "outline" "black") + 20 0 + (rectangle 20 20 "outline" "black")) + (overlay/xy (rectangle 20 20 "solid" "red") + 20 20 + (rectangle 20 20 "solid" "black")) + (overlay/xy (rectangle 20 20 "solid" "red") + -20 -20 + (rectangle 20 20 "solid" "black")) + (overlay/xy + (overlay/xy (ellipse 40 40 "outline" "black") + 10 + 15 + (ellipse 10 10 "solid" "forestgreen")) + 20 + 15 + (ellipse 10 10 "solid" "forestgreen"))] } @defproc[(beside [i1 image?] [i2 image?] [is image?] ...) image?]{ @@ -483,6 +484,22 @@ This section lists predicates for the basic structures provided by the image lib filled in or not. } +@defproc[(color? [x any/c]) boolean?]{ + + Determines if @scheme[x] represents a color. Both strings and symbols are allowed as colors. + For example, + @scheme["magenta"], @scheme["black"], @scheme['orange], and @scheme['purple] + are allowed. Colors are not case-sensitive, so + @scheme["Magenta"], @scheme["Black"], @scheme['Orange], and @scheme['Purple] + are also allowed, and are the same colors as in the previous sentence. + + If a color is not recognized, black is used in its place. + + The complete list of colors is available in the documentation for + @scheme[color-database<%>]. + +} + @defproc[(y-place? [x any/c]) boolean?]{ Determines if @scheme[x] is a placement option for the vertical direction. It can be one diff --git a/collects/teachpack/2htdp/scribblings/img/10847861f4b.png b/collects/teachpack/2htdp/scribblings/img/10847861f4b.png new file mode 100644 index 0000000000000000000000000000000000000000..cac464ece3f5806696e78a1f07c876d821dcac13 GIT binary patch literal 1354 zcmV-Q1-1H#P)>71IHnw*?;I-T|P^;fQ3 zAqXOYoP)r!Y)?;*LZL7i3>J%JXJ-di8HdB+xO(-fL?XF!=g#Klragnz-_f!aU6f};K9#X_cJ~|j^lVoM@Lfbsi`RdfYoX} zx|ql1a;eqouCA^G?&0C#jEoGs-JU8jkK64A0JOEWLEUz{9mny-#l_T$c~(|d6bi-I z*w`WNNF<`wY6k}gk3-D!{P}aaTpkPtgtAuh8TuPd-?L^&6_uct3O3P zS(Yu{4X+p#BM4HKT~;73NHRT$OeV|B%%o`=$tYvNi10BA3*I-|mV!35H?*jbo66bemG zPoulLy8>f|W!ZADHP8L&`xAdp2&62>!rB%T6f7+*p&ZA-ZW;jK-SEPq;AZfx@2x=k z+VdKg;y4}(g-`$h%R(nTrN6y?wn4iQz#UN z7Ri29})BNwpeV6~8G2QV|OM8jXyM002Zrqmf}4ilSh3#eWp5&Zyo8-*4?~ z0RT`0H5Hgzjjg9drxKNH0kxHc= zj|cdCK8Zw<{P=xztX3;UQ5^sLK7amv3J24K7>!1LYy}+0J$dq^yuAEm#P8m{BM2fI zjqbUl(WqQ5pP!#U0e3}3#lwdW`OkZ^;^W7UbvoT~i@UnI3JVJvhWXCTFbqkOu;nEs zxLhs_!)9k^zn*;C4Hgy_;<6O7wY8O(muEJc_aA<@6ZQA^0|4A^cWTA!>+6Muh1aiN zk2{aw1v@)CRVr0D98Q%u6bb|vL({`| z|GvIH48z*n+ke`+ySv-m+?Fc@f>{vj*Nvc0{%TCMit#fu(~ zN1zhw<~S}EiwjxG*s>@%48JBM=DOyLT@qC#R&O80$&=Xq z6`#*HIyy?zwB2s^`~Bf?SSpp`IG&f6m!F@n*Xv1=OiN2kvKs*4e?u2xf$k_EQ~&?~ M07*qoM6N<$g09Dn+5i9m literal 0 HcmV?d00001 diff --git a/collects/teachpack/2htdp/scribblings/img/11477a8292d.png b/collects/teachpack/2htdp/scribblings/img/11477a8292d.png index 8e2f621748defdad00f1bb8e665eee56d61b8627..36949fd2ba1eda81e667819120c20e16ba33c0a9 100644 GIT binary patch delta 985 zcmV;~119|K2k!@vB!9L^L_t(|oW+*UODa(m$B+87%paizWl|CN143vM7A-1hF-@U{ z1*Jt$R?v@yAh{{%2Sl6jFGymA(N$Yip}qF2B0ELcbLX zMI;ho4~s^lp-@Px)sBviGDDqCXEvKX9?#9qjaI9jo0}_$a=YEJSWK_iqbL9Xnx+>P z7MxBe>IIw4wtu|5{5P$)x3>oXVzD@#PUnYYGMVb?Y5+JmIAF}L@BCykDHI9;fFOwc zkdu=W0FX+h`LD$V0K473y1I&rVYk~iHZ}lYb8{2Naf+gt(j}8g9LKk}x7qhaB9R!4 zMgTZGJk0mKUM~O)4-Z#XRx&0R0D{5b#l;002ZO=O%YRD%P%4#vzaPCa(&_1`-|ug1 zY-Gm+z{JD^0FWe^$z+g|&1MOLU>^N~FDkRyED#8ej*b||=kp1LLX*i<5|3e6ZEbBb znGA(O$O(tTi9|xFRQC4veh4p<$@=^I1A#y)l>&ftI(>F_HaIvakw{A7`FuX=ZB%gh zu@P3Qm4D0qg~)d5SuB=RDisI>03a9)zP`R%ES8dNBvj<%&ZQY1+Z z4GrZtZAqbAyi5!p1WynIK@dD1ub}5YgvT&U zCX=~bE`>tT*Vk7TUaeMlbaXsFKR-P^VHl=RD9XkQ1cH%~k@xrasi`R*k5?8R^8V#E zo2}@CZvYUB#aNcmXfzxSXJ%$5-*h+}4u_*8zP-I20P5@O4F*He35D5H6jfDK#SCeh zc7MCwIF7fpw6I`uxm;1-*Eo&?z}ngxauydCF$@EMXf(=x z1I^FR1Hj74O1^n_cPAE$D=I4P@9+N<_!EDAe%{^P?Ql3=US5!+*Xz5wx^{PWS-|`I z`*n47C=-$-k?C|gdwP20aybAjEiJKxe^TQ`6SgRxX!A=JfP50Py*I ztJTURQ&fNZv6ai^-rn8{j-yN_6OYFm8XEq%kxs7M+q zq!vMiQPe^Z+7v`Wv?%%ul3KWl1gEs{XG8=-n|AJ7R4z(IDm6pzVz~2qyI#xQc;D}8 zp6{IJeCB!1nK{EM6bh(Zu~_Wp=7!JbOQljKY;0_lNFTk1^&DA13*_-mp~x6yu75ZMIuo+ z94?<0i9~|IpiCwkA0KBzxm-RrHs*9XudlCVGTGeR+`BA?!x4=}6$%BN1ptLY!E83q z&(G6)!C){j*MDEzdV70&0C+rJI-M>~$!4<+4GjPe4h|Ue`*(gSm8z|+1wc_$af;XL z1yEmKU;J2A0IXK)>gp=p46D_;zP=8?Znvw|>O>;Jv@VrOsnzPu&CT-bLXxCbs|9d) zcv$SaTrL25y`ID2FlH5iKp=2_eon`MK;Yuy0)SX7_J8?&^dr+cIXUt9e66jmGRMcqI-QPw zqdqCRR+q~~FTvE*)SqKMIC4xTQ#>BG+wJjq{D05ZeFjfa6h%>NHv8S4{}f)OQt|ox zt*tGgP&hn1ToJyrv$MCiHy)2aK0YdyN|8uZF`gg@gTe6j_BK5|&1SPJ!lURdpPij8 zIp7C?Xf#@83aM1eVzDe1OR;IQ*=#o3hxneJ9steF%_ActB?r8(K9NXpxm+eJ6bcT9 zLw}`Gb#!!;!Q}J#lD^aF1YogP2!be`$$b5)qzkB2swmzM_z2L%EFfTg9SGU;DDa8McT?Ch{uthTncjg5_bK2Mu7Gcy1Pf-sxS zOfe<(Z-2J(`TXnaYw;NhAe+s`VllB;{MRM_rT_U~?FSZzn189WdZI@@Ccl z`l7rHot3BD(y}D)N~$h&6;Iia6`DKAd44kgntgkoz2E=Vyz5&~ZMmF^-}fC)7%%FI V$VMH^n-4UL!PC{xWt~$(697wIDX0Jd diff --git a/collects/teachpack/2htdp/scribblings/img/133309751d2.png b/collects/teachpack/2htdp/scribblings/img/133309751d2.png new file mode 100644 index 0000000000000000000000000000000000000000..80fac7f6bd54aea0f123d0763a9c9229e01e19b3 GIT binary patch literal 159 zcmeAS@N?(olHy`uVBq!ia0vp^njp-<1SHj&rY{6iX`U{QAr*7pUfamaV94PdSk!$m zL$257*wk?Lt`|%4FGlrW(l$1}d`?*K-93%EiC6Tl>70M@F>=F3F!-OozI%3NXz2dE z+qeGP#!^GbukZv%7l%V*|2WesZHywdfJqXp1L22WQ%mvv4FO#mFm BKC=J- literal 0 HcmV?d00001 diff --git a/collects/teachpack/2htdp/scribblings/img/15717b87d30.png b/collects/teachpack/2htdp/scribblings/img/15717b87d30.png new file mode 100644 index 0000000000000000000000000000000000000000..bcf769afe8de2c984725ef8df112b22ebbd21633 GIT binary patch literal 161 zcmeAS@N?(olHy`uVBq!ia0vp^njp-<1SHj&rY{6i8J;eVAr*7pUfamaV94PdSk!$m zL$257Sm||nk-#PS7Z*LhwAx7bvQ($R_j8Y@Pdc@xIOy!Bp04vvyFVdQ&MBb@ E0BoX0QUCw| literal 0 HcmV?d00001 diff --git a/collects/teachpack/2htdp/scribblings/img/1bc43bb84a.png b/collects/teachpack/2htdp/scribblings/img/1bc43bb84a.png deleted file mode 100644 index 755b55bf26b2837379efe9f5e5a8225a58f57ddf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 282 zcmeAS@N?(olHy`uVBq!ia0vp^#vshW1SGc}US12N9(uYshE&XXdvhaivw=YCLuIci zM#>ZPZXQ~8o-gvK@I+BPX@e&Bf|utq1%=$svlM*%_pRlNr~1uJ86lyeOP8(LdQ775 zoUHE5XLGzY=k}$Yag&rwt(fxgs<8DXZJ(9RyrQdC&{b<{ApP=_kpXCO%xr0=E zJtgLMt0rFX@8sk=x-7ecmfgN1@LpgEl6=_QEkC>N3tX2-4W6mHSJBSU>+J0%JpD#C zr#@&LUJPSof2xm*e*ga7dEa({Hi2i$`X%NYip|iA{r>8=+R~5@ANl?=#OyX>xvwR( Q1L#=>Pgg&ebxsLQ0CB5(fdBvi diff --git a/collects/teachpack/2htdp/scribblings/img/1d4f067776.png b/collects/teachpack/2htdp/scribblings/img/1d4f067776.png deleted file mode 100644 index 2b68c09f3500c9410a923622b5dfb820cb23abb0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 142 zcmeAS@N?(olHy`uVBq!ia0vp^q9Dw{1SHi;jSd2-P)`@fkcv5PCvD_CV8Ce^L_`T7-R17knKTUKnoZ=UHx3vIVCg!062L#fB*mh diff --git a/collects/teachpack/2htdp/scribblings/img/1f0b671ed7b.png b/collects/teachpack/2htdp/scribblings/img/1f0b671ed7b.png new file mode 100644 index 0000000000000000000000000000000000000000..b68c8817267346d22ac828ef6ab1e4291017ff27 GIT binary patch literal 118 zcmeAS@N?(olHy`uVBq!ia0vp^nm{bd!2~2jb_J9JDO*n$$B>FSZ?7HXWH1n5a`gRg zn_u;T&&lEc>6)pzuA6N$8NHb{)m>sz*VrDmyX@_)t=ZTAoxgVa{FJ%#rp7XM2^lgz S*PRbEh{4m<&t;ucLK6VS_$Xxn literal 0 HcmV?d00001 diff --git a/collects/teachpack/2htdp/scribblings/img/201133dd679.png b/collects/teachpack/2htdp/scribblings/img/201133dd679.png new file mode 100644 index 0000000000000000000000000000000000000000..1487ee2f21cd31f4ee2a18678032a0c688ca90b0 GIT binary patch literal 316 zcmeAS@N?(olHy`uVBq!ia0vp^#vshW1SGc}US7+9zyS+?NFHQm#u<~_GR zo6ox|?;rcex_tMi+k->)Kkw>Tx^>-#os8vgGIUBW-f?#Vh6;nHtDnm{r-UW|n7WWX literal 0 HcmV?d00001 diff --git a/collects/teachpack/2htdp/scribblings/img/255506ac6ca.png b/collects/teachpack/2htdp/scribblings/img/255506ac6ca.png deleted file mode 100644 index 841284164bf07a52bf92369249af6ab72b1a8b5c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1297 zcmV+s1@8KZP)bC90&0CCWd-8bz&xl7-Mp&npT@2vb974f(H*OMfVi!#RP3B1;L0|Ej@^<2aBmt zi9zwOD%gs#iQuNX{i9B|V~t8N5?%9W60=?^l|(Z$dx%)8CZc`SadD zhG9SqAxY9?GT}JBxVY$YxqLn!MNtq!hGE!jwm={diA05kg?I1XRVtMTg2d7%jBW>m z!I6=Xo}QksU%!@>mC5CDg+hU07=~dG!mv$I)aK@VZb~qgO@87ShtHUtt z9Gr;|nx+Q^2KaowN~JQJ&HMZNkt$EbZnxLh*QcbUG&MEt?(RmZJlkGhU%zwbjzXdM z^yyQKUN$qG(rF*TvN1nVg(NQS{}@moeG1v$FsIi^UQ@ z9M0zErbr~}@9#gy9vd6ua=8RSToxS8*47pPK(E(FvX-E+mlMABO@bM0f#d)GsENYyk74~yS25oyuAGC;BXon8>_3Uf3iuEp^v{)>jpPy$K26_ATtw11< zNF=em{o@aWu%@QQU@!mx5UbUyQmGOHhf`BiGdemN3WbmlA3hWn6(!P6OG`^nPseeb z1tEO!;6X}CN+S7ht*^gfJ8eCHT~7n!a}J8p39?nb@X_ml&_td;R)#BsDeFs8Q@7`TvzdL(7<~6hHn~ROGA%w-5#WJ4k zcmYLG4?`M7v|`|JjX3qtE9HU+_a40H9W@1A#zaUtc^ngfLPQ0ugbNxS^q;udnau z^KodiSS*9VpwsC-fBt-7yEwBrQd7C4y!Q9nwzjssyu2R+I@-$4&VK&@Cdf$jt1>%=#ni z(Vve106LxSbmbXq;P&=*u~@vix_V)rqN(@)zBm43eErvJu~^*F(sE|m*=zryp`p~& z)ZX6S3-bpD2Tz_n;c~fA)_4*BdDv_=g+ifHsc;!NEbPR9aC{;dDBqR7SKJ zhM_3x#fujhhLx6{(V;R#8#W)YR0uqdez7696C(2n-Jo>-BoO z-CkB!rcfy4ayf=!X=!QO+uMG>|I3#z%gf7Vv)ScxRaRE2)#`$Rf>@r5^X;R!-R_Br z2^_}>g7A1ee!ri?;h-pbzER9iKw$I2|00000NkvXX Hu0mjf@oR|` diff --git a/collects/teachpack/2htdp/scribblings/img/27bbbb6fd64.png b/collects/teachpack/2htdp/scribblings/img/27bbbb6fd64.png index f1985bc03559fee23d3db6a48542b6408c253722..ffe47dc980d9cdbf9445eba5db68a43aa2e4e063 100644 GIT binary patch delta 1369 zcmV-f1*ZD53+xJzB!4qWL_t(|ob6a^NK{)C{*IKHjAcQ?==6Zgh^-nLrDMS&~)qm*du(xM4(a;boE8%vJ zS*>{g-pLqeB@70xSwlc9FP~)3Xd;pqE)WoFYFtgZdX)hIR4N^h{*s_=ZNDLuxA0)1lFzpg^L&d>OA_qqP;EoQC0@mvW&xG!MStTxDnae`1~0F(BIGKX!`gtH<#bPv$T|en4d3I1g(}yNs|5X zBYl0DmL^?lG~BewaUC%l85~T1f9B@$-aVc;L6Y0I^V27iY-^)j&d5k9SgmGererT# z#4A@M`+wCd0^+l0_V%GeoHK{*?NZpgcRX^$@iLq-+hLsCWMW|<0rBx;x|ZeOL8*pz zc5>f7HZ<7SK=Sx;0^+z!q2Pf7Bw1ZeK&+^+Meo{0L12A7Noq9QyxH**NhT+A;X+$= zFD>QDmAr97`m9|`KpYb#KcBU=Bx$vB)he4h&VK}LYooWf^dpfxc8niBI9`J@W@mzu zeDg*U)P*ekOHiYcDJksho5VKf=bbN;!D0b`swx0bDs4j%5qS8JH8ny|5a6;)%%2aL z%vRkE1_TBoG*r6O>j4O3r9C49-QCE~hag~h7-qAZgSm7mv|1DvA}b3r85$a(QaO&C zDu1(UjLR~H!9hesAR_|{7EB6rAm}(oM*+ZS#2D?nOoh6betN0IXh(_;{Q@kDE8KXOH8U z=`l|UIvwKTkeG=2dYjV=z~CSNSgn$)uMaN%LP!Vz$mM8h zL4QA*n;j&xSTHbP6M^5q1? z)2C@RGbe|DxMT^-%1F{=VthQKqF7waygVi+(`=TiZ*egNfh$(9q{P0=>-AJ92#9HE zY-*C6RaFcOBp?E!M#GK{$-jFyy??y8ZXJt@nU%%4bE(tu?OSRz1jOiQUcYX$C%zPh zhtpti+-F=c+hJlNy`DRE5D=rHc}&$!vSl251`z1Mx&8JH zjg1HjvVTJ`nc(XSA0M{_5=b;R!_N#Pq0wMs4N`H4X)ymH z1VEheB>x$Zf=4@a_Tc$*96gGV5HvQzVE7$7ZmO8Q|A#t+T#nIEeE9;sem1HJ;9s^w bXFvV~yc+9?)-lTE00000NkvXXu0mjf&L)dg delta 1441 zcmV;S1z!5>3bPB4B!7BIL_t(|ob8x-XjE4e#(!^&HO2-Sw@Hm!3K2m?8zM=N)Ci`v zwA6xx7)5Yj5|p~d{vj=hnz(?X($Ar{qZ>WoO8c(-#6#o``#Fmc!z%uuK#)gZGWM%lKb}^?6+6Q@8{~( zu%=X3JNrARpr=mp>8HfU>%xUr_FF9k{PGKf2I>6ywx$#nF=!AYMg$4#4RGbko6HV@ zeftFFfdh8?trq(8Ppw&_XU{@R$;wh(oO7uC9s1*sOrG5C*{}Yt*f#U`-v=-ZyZz?O zHnb$~+n3y2x_@*D!P&ig(2(o$WpZ;#Oyu4@CQKkEhRjU-{y>JuLq-M@CXkj!ak1rG zyO!Ks%FFrcD>iSolis~cem-ewR8)|XLUOWoV|jT@n#6zs4UI z;za;1T~b1VqNA0at+Fz$SRpVA3#|su&sS=y{C-K=vqy%ZpMJ7J>FG*Nc5eIPV#UVF z?bgDDTCzmR$udpNovXcjCF#~Jb?c_7Q?2B&W3_0JB$=k7qO@(B-bZx5tiE zWTbpPD}Sw`LRneP%LvA7!%On3SCyM9F!%0N+p^^3SdYBluNgD6Z(o27N%Q9m%*IA5 zqgyw9`>iD1zOAlZRa_j%9x*~6e4v^dOVE@Q=Os!SKVA_Lx^u@GmX~Yr;6QZrXc>kc zKbE9~1Qirm{s9BDbgBJ5ZFXs?!2I=BD{aFD?SI+hyoO-RHnb!!E3*V`Ll(Udw5dti z**bZ$6;{#h)QW9llI(^z0GbY62)1wD&H?gtS zaMvz;KBi2uhCO>SZXC6>L`QS(96)_NMMc!sa_3G6=G0V%4Kp@xX8Lr1ugtmG&A*NdQ$<)-e22qOy|y{n@g`A>{Y7aU)e# zEMCm|^&t+BX3U+-%$YiO&gj<SYbX7qn|vu3f`49YV8aarP{mHh=NaN8z$foJdTJQBc6HU1VkkO=|~p_=t?; zx8FE>mb|=H{^-UkNLHbn#yMV}Bex z$de~l$m?b5R6hO~AU2kpH>s-zMm-EKxs4o{!br%$ULsU_NAwxK0?ZEfHhOcvnTGwart zEo10Vva+~!>jmAhW9r{uV1EC-e1AUW=L^hUy{uP(+FFetue3Dn*rC;{HGR73>#gIg zq(m;4`t{S!o%VCnfBk2 z7Rl??=+Of6^Ut+qOTa#JCQv0Ut<~^VI5OMNvQS~6zWh>PjvA$(e-0{3QGb#8^bwe= zR;i{&D_084xHzp_CrO6Fco-f$prV3-1Br=g<*%tBDvHR+kOTo#RuUae@80$vY5rUR z8XH4@r~rOH>FFFj8X~P7%x?$-!rlnqArvGdtPbrsIC6vq3m7tl>(?nQ{Wm)9bnv00000NkvXXu0mjfn4#B% diff --git a/collects/teachpack/2htdp/scribblings/img/2813b45d923.png b/collects/teachpack/2htdp/scribblings/img/2813b45d923.png deleted file mode 100644 index e5bec8f1d1f4846edccb0d4fe1dd3e5ed77e3f90..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1135 zcmV-#1d#iQP)zfzrQg@4Y=fz$nxHg>o+s_w&@;p4@(W zIq5y;21KVvVP+K8DihZx!^Y%1pNi_G=Lcnl{HGrlD>1|kV z!@Lb4X3d`o0KmY^DExe~+~E{Qrroo_N5jFc$V}Vf%tPsvsqpB#h2Fp{s&QhI3)gor z4c(-^gJ4ZX*-+NE7Veq?HwQxg{z?C?qM_x=3N+%EB7W)5a{>SmEo$7!H2Ik3J*=)C zm2(C}Z=5WAy-{eQe`4%#$louC6<&}v!3?rL#k3yOICe8ov_Jp#rj*>da_Gi4Z${^~ zZAf4NS&;@ugy4u!(?UGQv=8iO5zap{PxqwXH}>WGi?a`IY-3T;Kcveik~hzgo_9Fg zPV)Z&_jQXI{)geyw|^RxE3brw3F*SiiPk~QV{hw-?!LEj-HC`}N>82rTeADe$CVSq0&jE zA%wgi={YNcm3398@07Fs3q`9+Kp5?KmuvDZ|7zd+@kUwifg_j*zh8ezv9!WiJ$m9a z*F38-sm(UmEp9UKxnXrQtnLN?0NSzZgS|)hnytUdSyl+EM_ng$ z&kh?*uK#W`^K3gC9AnSD{$$U-w{-lREO~hlEpi{$zIe&#Ii^KTBi z{r+fdp?O0qSL1Eibx_mxibiWGc0Vls{A78|q`&X>l|#W>dxQ*M)yN!eEo$mxx4ppH zy(ONUEGcI(NbRnRcGpEoevYpgE7t(d9aEUV6@0TF>W z2Y7QJcc`NQ+MlV)$@41x$K9ONZh5KQ@>09yrFP3p?Ut9?EibiOUTU|z)NXmH-SSeq z<)wDZOYN2yTIc_n7G&)O>(kXg?LCN6T6)yx^Dk`*N3F=0B2@qY002ovPDHLkV1g-~ BG3x*T diff --git a/collects/teachpack/2htdp/scribblings/img/4e85791a5.png b/collects/teachpack/2htdp/scribblings/img/4e85791a5.png new file mode 100644 index 0000000000000000000000000000000000000000..8c933e82c478aa430f745fcefb3675e927153620 GIT binary patch literal 764 zcmV9rF%+4;`mV$iLm6TvL5G9m@CTKN9BPK=<#sm(;=+(r8E5?HdZXP@s{U7`b zOfZrNy*eHO3Re_EDDyiS5U|UK*s9MSls}m1Q8USLA+HF5kSx{6wBHUTKT+$$pbeRPSj0 zn#8_QBuaEOX?Of4!8S0?CjfA2mbP*&Gg5JpV2n8Zc3GQ3`1M@zk z7#(Gvv6h2p^87k{Z)fqnoyGTd7T?=hd~av*y`9DPb{5~;S$uD2@x7hJ_jVTF+gW^X uXQ4gbGc8HvA|e;|KkOe!N{`*+DDoSxhpm=W&=K|k0000