4240
((3) 0 () 11 ((q lib "games/cards.rkt") (c (? . 0) q table<%>) (c (? . 0) q card<%>) (q 522 . 10) (q 3933 . 9) (q 5039 . 3) (q 3761 . 5) (q 5169 . 3) (q 5405 . 5) (q 4614 . 5) (q 4286 . 7)) () (h ! (equal) ((c def c (c (? . 0) q region-h)) c (? . 3)) ((c meth c (c (? . 2) q orientation)) q (7307 . 2)) ((c meth c (c (? . 1) q add-help-button)) q (6257 . 9)) ((c meth c (c (? . 1) q move-cards-to-region)) q (3580 . 5)) ((c meth c (c (? . 1) q animated)) q (6014 . 4)) ((c def c (c (? . 0) q make-background-region)) q (1209 . 11)) ((c def c (? . 2)) q (6851 . 2)) ((c meth c (c (? . 1) q set-double-click-action)) q (5724 . 3)) ((c meth c (c (? . 2) q card-width)) q (6884 . 2)) ((c meth c (c (? . 1) q set-single-click-action)) q (5836 . 3)) ((c def c (c (? . 0) q region-y)) c (? . 3)) ((c meth c (c (? . 1) q cards-face-down)) c (? . 4)) ((c meth c (c (? . 1) q add-cards-to-region)) q (2660 . 5)) ((c meth c (c (? . 1) q pause)) q (5948 . 3)) ((c def c (c (? . 0) q struct:region)) c (? . 3)) ((c meth c (c (? . 1) q add-scribble-button)) q (6587 . 7)) ((c def c (c (? . 0) q make-button-region)) q (883 . 9)) ((c meth c (c (? . 2) q snap-back-after-move)) q (7740 . 4)) ((c meth c (c (? . 1) q card-face-up)) c (? . 4)) ((c def c (c (? . 0) q make-region)) c (? . 3)) ((c def c (c (? . 0) q region-interactive-callback)) q (1928 . 4)) ((c meth c (c (? . 1) q add-cards)) q (2227 . 11)) ((c meth c (c (? . 1) q table-height)) c (? . 5)) ((c meth c (c (? . 2) q get-suit)) q (7417 . 2)) ((c meth c (c (? . 2) q rotate)) q (7190 . 3)) ((c meth c (c (? . 1) q set-status)) q (6186 . 3)) ((c meth c (c (? . 2) q get-value)) q (7462 . 2)) ((c meth c (c (? . 2) q stay-in-region)) q (8004 . 4)) ((c meth c (c (? . 1) q remove-cards)) q (2924 . 3)) ((c def c (c (? . 0) q make-deck)) q (172 . 2)) ((c def c (c (? . 0) q set-region-interactive-callback!)) q (1682 . 6)) ((c meth c (c (? . 1) q table-width)) c (? . 5)) ((c meth c (c (? . 1) q card-to-front)) c (? . 9)) ((c meth c (c (? . 1) q cards-face-up)) c (? . 4)) ((c meth c (c (? . 2) q dim)) q (8274 . 4)) ((c def c (c (? . 0) q region-w)) c (? . 3)) ((c meth c (c (? . 1) q hilite-region)) c (? . 8)) ((c meth c (c (? . 1) q move-card)) q (3022 . 5)) ((c meth c (c (? . 1) q flip-card)) c (? . 6)) ((c meth c (c (? . 2) q snap-back-after-regions)) q (7869 . 4)) ((c meth c (c (? . 1) q rotate-card)) c (? . 10)) ((c meth c (c (? . 1) q add-region)) q (5270 . 3)) ((c meth c (c (? . 1) q begin-card-sequence)) c (? . 7)) ((c meth c (c (? . 2) q user-can-move)) q (7623 . 4)) ((c meth c (c (? . 1) q card-location)) q (4877 . 3)) ((c meth c (c (? . 2) q get-suit-id)) q (7371 . 2)) ((c def c (c (? . 0) q make-card)) q (217 . 6)) ((c meth c (c (? . 1) q add-card)) q (2107 . 5)) ((c meth c (c (? . 1) q all-cards)) q (4971 . 2)) ((c meth c (c (? . 2) q copy)) q (8371 . 2)) ((c meth c (c (? . 2) q user-can-flip)) q (7506 . 4)) ((c def c (c (? . 0) q region-label)) c (? . 3)) ((c meth c (c (? . 2) q face-down?)) q (7142 . 2)) ((c meth c (c (? . 1) q stack-cards)) q (4780 . 3)) ((c meth c (c (? . 1) q flip-cards)) c (? . 6)) ((c def c (c (? . 0) q shuffle-list)) q (423 . 4)) ((c meth c (c (? . 1) q end-card-sequence)) c (? . 7)) ((c def c (c (? . 0) q region)) c (? . 3)) ((c meth c (c (? . 2) q face-up)) q (7056 . 2)) ((c meth c (c (? . 1) q move-cards)) q (3143 . 11)) ((c meth c (c (? . 2) q card-height)) q (6950 . 2)) ((c meth c (c (? . 1) q unhilite-region)) c (? . 8)) ((c def c (? . 1)) q (2049 . 3)) ((c meth c (c (? . 1) q card-face-down)) c (? . 4)) ((c def c (c (? . 0) q region-callback)) c (? . 3)) ((c def c (c (? . 0) q region?)) c (? . 3)) ((c meth c (c (? . 1) q set-button-action)) q (5540 . 5)) ((c meth c (c (? . 1) q remove-region)) q (5336 . 3)) ((c meth c (c (? . 1) q create-status-pane)) q (6121 . 2)) ((c meth c (c (? . 1) q remove-card)) q (2839 . 3)) ((c meth c (c (? . 2) q home-region)) q (8142 . 4)) ((c meth c (c (? . 1) q card-to-back)) c (? . 9)) ((c def c (c (? . 0) q make-table)) q (0 . 5)) ((c def c (c (? . 0) q region-x)) c (? . 3)) ((c meth c (c (? . 2) q flip)) q (7017 . 2)) ((c meth c (c (? . 1) q rotate-cards)) c (? . 10)) ((c def c (c (? . 0) q set-region-callback!)) c (? . 3)) ((c meth c (c (? . 2) q face-down)) q (7098 . 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%) #f)
  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? #f)
  callback : (or/c ((listof (is-a?/c card<%>)) . -> . any)
                   #f)
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? #f)
  callback : (or/c ((listof (is-a?/c card<%>)) . -> . any)
                   #f)
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)
                   #f)
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 : string?
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 snap-back-after-regions) -> boolean?
(send a-card snap-back-after-regions on?) -> void?
  on? : any/c
method
(send a-card stay-in-region) -> (or/c region? #f)
(send a-card stay-in-region r) -> void?
  r : (or/c region? #f)
method
(send a-card home-region) -> (or/c region? #f)
(send a-card home-region r) -> void?
  r : (or/c region? #f)
method
(send a-card dim) -> boolean?
(send a-card dim can?) -> void?
  can? : any/c
method
(send a-card copy) -> (is-a?/c card<%>)
