5451
#hash(((meth (((lib "games/cards.rkt") table<%>) add-cards-to-region)) . ((2692 . 5))) ((meth (((lib "games/cards.rkt") table<%>) hilite-region)) . ((5437 . 5))) ((meth (((lib "games/cards.rkt") card<%>) get-value)) . ((7492 . 2))) ((meth (((lib "games/cards.rkt") card<%>) face-down?)) . ((7172 . 2))) ((meth (((lib "games/cards.rkt") card<%>) get-suit)) . ((7447 . 2))) ((meth (((lib "games/cards.rkt") table<%>) unhilite-region)) . ((5437 . 5))) ((def ((lib "games/cards.rkt") make-deck)) . ((172 . 2))) ((meth (((lib "games/cards.rkt") table<%>) card-to-back)) . ((4646 . 5))) ((meth (((lib "games/cards.rkt") table<%>) card-to-front)) . ((4646 . 5))) ((def ((lib "games/cards.rkt") make-region)) . ((527 . 10))) ((meth (((lib "games/cards.rkt") card<%>) dim)) . ((8189 . 4))) ((meth (((lib "games/cards.rkt") table<%>) set-status)) . ((6218 . 3))) ((meth (((lib "games/cards.rkt") table<%>) add-cards)) . ((2259 . 11))) ((meth (((lib "games/cards.rkt") table<%>) end-card-sequence)) . ((5201 . 3))) ((def ((lib "games/cards.rkt") make-background-region)) . ((1236 . 11))) ((meth (((lib "games/cards.rkt") card<%>) orientation)) . ((7337 . 2))) ((meth (((lib "games/cards.rkt") table<%>) set-single-click-action)) . ((5868 . 3))) ((meth (((lib "games/cards.rkt") table<%>) animated)) . ((6046 . 4))) ((meth (((lib "games/cards.rkt") table<%>) set-double-click-action)) . ((5756 . 3))) ((meth (((lib "games/cards.rkt") table<%>) rotate-card)) . ((4318 . 7))) ((meth (((lib "games/cards.rkt") table<%>) add-help-button)) . ((6287 . 9))) ((def ((lib "games/cards.rkt") set-region-interactive-callback!)) . ((1709 . 6))) ((meth (((lib "games/cards.rkt") table<%>) remove-region)) . ((5368 . 3))) ((meth (((lib "games/cards.rkt") table<%>) table-width)) . ((5071 . 3))) ((meth (((lib "games/cards.rkt") card<%>) get-suit-id)) . ((7401 . 2))) ((meth (((lib "games/cards.rkt") table<%>) add-card)) . ((2139 . 5))) ((meth (((lib "games/cards.rkt") table<%>) rotate-cards)) . ((4318 . 7))) ((def ((lib "games/cards.rkt") make-table)) . ((0 . 5))) ((meth (((lib "games/cards.rkt") card<%>) home-region)) . ((8047 . 4))) ((meth (((lib "games/cards.rkt") card<%>) copy)) . ((8286 . 2))) ((meth (((lib "games/cards.rkt") card<%>) user-can-flip)) . ((7536 . 4))) ((def ((lib "games/cards.rkt") region-x)) . ((527 . 10))) ((meth (((lib "games/cards.rkt") card<%>) face-up)) . ((7086 . 2))) ((def ((lib "games/cards.rkt") set-region-callback!)) . ((527 . 10))) ((def ((lib "games/cards.rkt") make-card)) . ((217 . 6))) ((meth (((lib "games/cards.rkt") table<%>) table-height)) . ((5071 . 3))) ((meth (((lib "games/cards.rkt") table<%>) set-button-action)) . ((5572 . 5))) ((meth (((lib "games/cards.rkt") table<%>) pause)) . ((5980 . 3))) ((meth (((lib "games/cards.rkt") table<%>) stack-cards)) . ((4812 . 3))) ((meth (((lib "games/cards.rkt") table<%>) remove-cards)) . ((2956 . 3))) ((def ((lib "games/cards.rkt") table<%>)) . ((2081 . 3))) ((def ((lib "games/cards.rkt") region-h)) . ((527 . 10))) ((def ((lib "games/cards.rkt") region-y)) . ((527 . 10))) ((meth (((lib "games/cards.rkt") table<%>) begin-card-sequence)) . ((5201 . 3))) ((meth (((lib "games/cards.rkt") card<%>) snap-back-after-move)) . ((7770 . 4))) ((meth (((lib "games/cards.rkt") card<%>) stay-in-region)) . ((7899 . 4))) ((meth (((lib "games/cards.rkt") card<%>) card-width)) . ((6914 . 2))) ((meth (((lib "games/cards.rkt") table<%>) remove-card)) . ((2871 . 3))) ((meth (((lib "games/cards.rkt") table<%>) cards-face-down)) . ((3965 . 9))) ((meth (((lib "games/cards.rkt") table<%>) add-scribble-button)) . ((6617 . 7))) ((meth (((lib "games/cards.rkt") card<%>) face-down)) . ((7128 . 2))) ((meth (((lib "games/cards.rkt") table<%>) move-cards-to-region)) . ((3612 . 5))) ((meth (((lib "games/cards.rkt") table<%>) card-location)) . ((4909 . 3))) ((def ((lib "games/cards.rkt") region-interactive-callback)) . ((1960 . 4))) ((meth (((lib "games/cards.rkt") table<%>) card-face-down)) . ((3965 . 9))) ((def ((lib "games/cards.rkt") region)) . ((527 . 10))) ((def ((lib "games/cards.rkt") shuffle-list)) . ((428 . 4))) ((meth (((lib "games/cards.rkt") table<%>) flip-cards)) . ((3793 . 5))) ((def ((lib "games/cards.rkt") struct:region)) . ((527 . 10))) ((meth (((lib "games/cards.rkt") card<%>) user-can-move)) . ((7653 . 4))) ((meth (((lib "games/cards.rkt") table<%>) all-cards)) . ((5003 . 2))) ((meth (((lib "games/cards.rkt") card<%>) rotate)) . ((7220 . 3))) ((meth (((lib "games/cards.rkt") table<%>) move-card)) . ((3054 . 5))) ((meth (((lib "games/cards.rkt") table<%>) flip-card)) . ((3793 . 5))) ((def ((lib "games/cards.rkt") region-w)) . ((527 . 10))) ((meth (((lib "games/cards.rkt") table<%>) cards-face-up)) . ((3965 . 9))) ((def ((lib "games/cards.rkt") region?)) . ((527 . 10))) ((def ((lib "games/cards.rkt") card<%>)) . ((6881 . 2))) ((def ((lib "games/cards.rkt") make-button-region)) . ((900 . 9))) ((meth (((lib "games/cards.rkt") table<%>) move-cards)) . ((3175 . 11))) ((meth (((lib "games/cards.rkt") table<%>) create-status-pane)) . ((6153 . 2))) ((meth (((lib "games/cards.rkt") table<%>) add-region)) . ((5302 . 3))) ((meth (((lib "games/cards.rkt") card<%>) flip)) . ((7047 . 2))) ((meth (((lib "games/cards.rkt") table<%>) card-face-up)) . ((3965 . 9))) ((def ((lib "games/cards.rkt") region-callback)) . ((527 . 10))) ((def ((lib "games/cards.rkt") region-label)) . ((527 . 10))) ((meth (((lib "games/cards.rkt") card<%>) card-height)) . ((6980 . 2))))
procedure
(make-table [title w h]) -> table<%>
  title : string? = "Cards"
  w : exact-nonnegative-integer? = 7
  h : exact-nonnegative-integer? = 3
procedure
(make-deck) -> (listof card<%>)
procedure
(make-card front-bm back-bm suit-id value) -> (is-a?/c card<%>)
  front-bm : (is-a?/c bitmap?)
  back-bm : (or/c (is-a?/c bitmap%) false/c)
  suit-id : any/c
  value : any/c
procedure
(shuffle-list lst n) -> list?
  lst : list?
  n : exact-nonnegative-integer?
struct
(struct region (x y w h label [callback #:mutable])
        #:extra-constructor-name make-region)
  x : real?
  y : real?
  w : (and/c real? (not/c negative?))
  h : (and/c real? (not/c negative?))
  label : (or/c string? false/c)
  callback : (or/c ((listof (is-a?/c card<%>)) . -> . any)
                   false/c)
procedure
(make-button-region x y w h label callback) -> region?
  x : real?
  y : real?
  w : (and/c real? (not/c negative?))
  h : (and/c real? (not/c negative?))
  label : (or/c string? false/c)
  callback : (or/c ((listof (is-a?/c card<%>)) . -> . any)
                   false/c)
procedure
(make-background-region x                   
                        y                   
                        w                   
                        h                   
                        paint-callback) -> region?
  x : real?
  y : real?
  w : (and/c real? (not/c negative?))
  h : (and/c real? (not/c negative?))
  paint-callback : ((is-a?/c dc<%>) real? real? real? real? . -> . any)
procedure
(set-region-interactive-callback! r             
                                  callback) -> void?
  r : region?
  callback : (or/c (boolean? (listof (is-a?/c card<%>)) . -> . any)
                   false/c)
procedure
(region-interactive-callback r)
 -> (boolean? (listof (is-a?/c card<%>)) . -> . any)
  r : region?
interface
table<%> : interface?
  implements: frame%
method
(send a-table add-card card x y) -> void?
  card : (is-a?/c card<%>)
  x : real?
  y : real?
method
(send a-table add-cards  cards             
                         x                 
                         y                 
                        [offset-proc]) -> void?
  cards : (listof (is-a?/c card<%>))
  x : real?
  y : real?
  offset-proc : (exact-nonnegative-integer?
                 . -> . (values real? real?))
              = (lambda (i) (values 0 0))
method
(send a-table add-cards-to-region cards        
                                  region?) -> void?
  cards : (listof (is-a?/c card<%>))
  region? : r
method
(send a-table remove-card card) -> void?
  card : (is-a?/c card<%>)
method
(send a-table remove-cards cards) -> void?
  cards : (listof (is-a?/c card<%>))
method
(send a-table move-card card x y) -> void?
  card : (is-a?/c card<%>)
  x : real?
  y : real?
method
(send a-table move-cards  cards             
                          x                 
                          y                 
                         [offset-proc]) -> void?
  cards : (listof (is-a?/c card<%>))
  x : real?
  y : real?
  offset-proc : (exact-nonnegative-integer?
                 . -> . (values real? real?))
              = (lambda (i) (values 0 0))
method
(send a-table move-cards-to-region cards        
                                   region?) -> void?
  cards : (listof (is-a?/c card<%>))
  region? : r
method
(send a-table flip-card card) -> void?
  card : (is-a?/c card<%>)
(send a-table flip-cards cards) -> void?
  cards : (listof (is-a?/c card<%>))
method
(send a-table card-face-up card) -> void?
  card : (is-a?/c card<%>)
(send a-table cards-face-up cards) -> void?
  cards : (listof (is-a?/c card<%>))
(send a-table card-face-down card) -> void?
  card : (is-a?/c card<%>)
(send a-table cards-face-down cards) -> void?
  cards : (listof (is-a?/c card<%>))
method
(send a-table rotate-card card mode) -> void?
  card : (is-a?/c card<%>)
  mode : (or/c 'cw 'ccw 0 90 -90 180 -180 270 -270 360)
(send a-table rotate-cards cards mode) -> void?
  cards : (listof (is-a?/c card<%>))
  mode : (or/c 'cw 'ccw 0 90 -90 180 -180 270 -270 360)
method
(send a-table card-to-front card) -> void?
  card : (is-a?/c card<%>)
(send a-table card-to-back card) -> void?
  card : (is-a?/c card<%>)
method
(send a-table stack-cards cards) -> void?
  cards : (listof (is-a?/c card<%>))
method
(send a-table card-location card) -> real? real?
  card : (is-a?/c card<%>)
method
(send a-table all-cards) -> (listof (is-a?/c card<%>))
method
(send a-table table-width) -> exact-nonnegative-integer?
(send a-table table-height) -> exact-nonnegative-integer?
method
(send a-table begin-card-sequence) -> void?
(send a-table end-card-sequence) -> void?
method
(send a-table add-region r) -> void
  r : region?
method
(send a-table remove-region r) -> void
  r : region?
method
(send a-table hilite-region r) -> void?
  r : region?
(send a-table unhilite-region r) -> void?
  r : region?
method
(send a-table set-button-action which       
                                action) -> void?
  which : (one-of/c 'left 'middle 'right)
  action : symbol?
method
(send a-table set-double-click-action proc) -> void?
  proc : ((is-a?/c card<%>) . -> . any)
method
(send a-table set-single-click-action proc) -> void?
  proc : ((is-a?/c card<%>) . -> . any)
method
(send a-table pause secs) -> void?
  secs : real?
method
(send a-table animated) -> boolean?
(send a-table animated on?) -> void?
  on? : any/c
method
(send a-table create-status-pane) -> (is-a?/c pane%)
method
(send a-table set-status str) -> void?
  str : sring
method
(send a-table add-help-button pane          
                              coll-path     
                              str           
                              tt?)      -> void?
  pane : (is-a?/c area-container<%>)
  coll-path : (listof string?)
  str : string?
  tt? : any/c
method
(send a-table add-scribble-button pane         
                                  mod-path     
                                  tag)     -> void?
  pane : (is-a?/c area-container<%>)
  mod-path : module-path?
  tag : string?
interface
card<%> : interface?
method
(send a-card card-width) -> exact-nonnegative-integer?
method
(send a-card card-height) -> exact-nonnegative-integer?
method
(send a-card flip) -> void?
method
(send a-card face-up) -> void?
method
(send a-card face-down) -> void?
method
(send a-card face-down?) -> boolean?
method
(send a-card rotate mode) -> void?
  mode : (or/c 'cw 'ccw 0 90 -90 180 -180 270 -270 360)
method
(send a-card orientation) -> (or/c 0 90 180 270)
method
(send a-card get-suit-id) -> any/c
method
(send a-card get-suit) -> symbol?
method
(send a-card get-value) -> any/c
method
(send a-card user-can-flip) -> boolean?
(send a-card user-can-flip can?) -> void?
  can? : any/c
method
(send a-card user-can-move) -> boolean?
(send a-card user-can-move can?) -> void?
  can? : any/c
method
(send a-card snap-back-after-move) -> boolean?
(send a-card snap-back-after-move on?) -> void?
  on? : any/c
method
(send a-card stay-in-region) -> (or/c region? false/c)
(send a-card stay-in-region r) -> void?
  r : (or/c region? false/c)
method
(send a-card home-region) -> (or/c region? false/c)
(send a-card home-region r) -> void?
  r : (or/c region? false/c)
method
(send a-card dim) -> boolean?
(send a-card dim can?) -> void?
  can? : any/c
method
(send a-card copy) -> (is-a?/c card<%>)
