;;;; WeScheme Starter Code: Chapters 1 and 3

;; Chapter 1 Images
;; pic:bloch
;; pic:hieroglyphics
;; pic:hacker
;; pic:book
;; pic:stick-figure
;; pic:scheme-logo
;; pic:calendar
;; pic:train-engine  ; not a variable in DrRacket
;; pic:train-car     ; not a variable in DrRacket

(define pic:bloch 
  (bitmap/url "http://picturingprograms.com/pictures/bloch.jpg"))
(define pic:hieroglyphics
  (bitmap/url "http://picturingprograms.com/pictures/hieroglyphics.png"))
(define pic:hacker
  (bitmap/url "http://picturingprograms.com/pictures/mad_hacker.png"))
(define pic:book
  (bitmap/url "http://picturingprograms.com/pictures/qbook.png"))
(define pic:stick-figure
  (bitmap/url "http://picturingprograms.com/pictures/stick-figure.png"))
(define pic:scheme-logo
  (bitmap/url "http://picturingprograms.com/pictures/schemelogo.png"))
(define pic:calendar
  (bitmap/url "http://picturingprograms.com/pictures/calendar.png"))
(define pic:train-engine
  (bitmap/url "http://picturingprograms.com/pictures/train_engine.png"))
(define pic:train-car
  (bitmap/url "http://picturingprograms.com/pictures/train_car.png"))
;;

;; Chapter 1 Functions: rotate-cw rotate-ccw rotate-180
;; This section defines simple functions used in Chapter 1
;; rotate-cw 
;; rotate-ccw
;; rotate-180

(define (rotate-cw x) 
  (rotate -90 x))
(define (rotate-ccw x)
  (rotate 90 x))
(define (rotate-180 x)
  (rotate 180 x))

;; Chapter 3 Functions for WeScheme

;; Chapter 3: crop-left crop-right crop-top crop-bottom
(define (crop-left img x)
  (crop x 0 (- (image-width img) x) (image-height img) img))
(define (crop-right img x)
  (crop 0 0 (- (image-width img) x) (image-height img) img))
(define (crop-top img y)
  (crop 0 y (image-width img) (- (image-height img) y) img))
(define (crop-bottom img y)
  (crop 0 0 (image-width img) (- (image-height img) y) img))
;; 
Last modified September 14, 2021: swap incorrect rotate-cw and rotate-ccw (cef1c29)