Hex Artifact Content
Not logged in

Artifact be466fc68a6b2048190b8bd40bb22d20c3a3815e:


0000: 28 64 65 66 69 6e 65 2d 73 64 6c 2d 66 75 6e 63  (define-sdl-func
0010: 20 73 64 6c 2d 62 6f 6f 6c 2d 74 20 73 64 6c 2d   sdl-bool-t sdl-
0020: 70 6f 69 6e 74 2d 69 6e 2d 72 65 63 74 20 28 28  point-in-rect ((
0030: 70 20 28 2a 20 73 64 6c 2d 70 6f 69 6e 74 2d 74  p (* sdl-point-t
0040: 29 29 20 28 72 20 28 2a 20 73 64 6c 2d 72 65 63  )) (r (* sdl-rec
0050: 74 2d 74 29 29 29 20 22 53 44 4c 5f 50 6f 69 6e  t-t))) "SDL_Poin
0060: 74 49 6e 52 65 63 74 22 29 0a 28 64 65 66 69 6e  tInRect").(defin
0070: 65 2d 73 64 6c 2d 66 75 6e 63 20 73 64 6c 2d 62  e-sdl-func sdl-b
0080: 6f 6f 6c 2d 74 20 73 64 6c 2d 72 65 63 74 2d 65  ool-t sdl-rect-e
0090: 6d 70 74 79 20 28 28 72 20 28 2a 20 73 64 6c 2d  mpty ((r (* sdl-
00a0: 72 65 63 74 2d 74 29 29 29 20 22 53 44 4c 5f 52  rect-t))) "SDL_R
00b0: 65 63 74 45 6d 70 74 79 22 29 0a 28 64 65 66 69  ectEmpty").(defi
00c0: 6e 65 2d 73 64 6c 2d 66 75 6e 63 20 73 64 6c 2d  ne-sdl-func sdl-
00d0: 62 6f 6f 6c 2d 74 20 73 64 6c 2d 72 65 63 74 2d  bool-t sdl-rect-
00e0: 65 71 75 61 6c 73 20 28 28 61 20 28 2a 20 73 64  equals ((a (* sd
00f0: 6c 2d 72 65 63 74 2d 74 29 29 20 28 62 20 28 2a  l-rect-t)) (b (*
0100: 20 73 64 6c 2d 72 65 63 74 2d 74 29 29 29 20 22   sdl-rect-t))) "
0110: 53 44 4c 5f 52 65 63 74 45 71 75 61 6c 73 22 29  SDL_RectEquals")
0120: 0a 28 64 65 66 69 6e 65 2d 73 64 6c 2d 66 75 6e  .(define-sdl-fun
0130: 63 20 73 64 6c 2d 62 6f 6f 6c 2d 74 20 73 64 6c  c sdl-bool-t sdl
0140: 2d 68 61 73 2d 69 6e 74 65 72 73 65 63 74 69 6f  -has-intersectio
0150: 6e 20 28 28 41 20 28 2a 20 73 64 6c 2d 72 65 63  n ((A (* sdl-rec
0160: 74 2d 74 29 29 20 28 42 20 28 2a 20 73 64 6c 2d  t-t)) (B (* sdl-
0170: 72 65 63 74 2d 74 29 29 29 20 22 53 44 4c 5f 48  rect-t))) "SDL_H
0180: 61 73 49 6e 74 65 72 73 65 63 74 69 6f 6e 22 29  asIntersection")
0190: 0a 28 64 65 66 69 6e 65 2d 73 64 6c 2d 66 75 6e  .(define-sdl-fun
01a0: 63 20 73 64 6c 2d 62 6f 6f 6c 2d 74 20 73 64 6c  c sdl-bool-t sdl
01b0: 2d 69 6e 74 65 72 73 65 63 74 2d 72 65 63 74 20  -intersect-rect 
01c0: 28 28 41 20 28 2a 20 73 64 6c 2d 72 65 63 74 2d  ((A (* sdl-rect-
01d0: 74 29 29 20 28 42 20 28 2a 20 73 64 6c 2d 72 65  t)) (B (* sdl-re
01e0: 63 74 2d 74 29 29 20 28 72 65 73 75 6c 74 20 28  ct-t)) (result (
01f0: 2a 20 73 64 6c 2d 72 65 63 74 2d 74 29 29 29 20  * sdl-rect-t))) 
0200: 22 53 44 4c 5f 49 6e 74 65 72 73 65 63 74 52 65  "SDL_IntersectRe
0210: 63 74 22 29 0a 28 64 65 66 69 6e 65 2d 73 64 6c  ct").(define-sdl
0220: 2d 66 75 6e 63 20 76 6f 69 64 20 73 64 6c 2d 75  -func void sdl-u
0230: 6e 69 6f 6e 2d 72 65 63 74 20 28 28 41 20 28 2a  nion-rect ((A (*
0240: 20 73 64 6c 2d 72 65 63 74 2d 74 29 29 20 28 42   sdl-rect-t)) (B
0250: 20 28 2a 20 73 64 6c 2d 72 65 63 74 2d 74 29 29   (* sdl-rect-t))
0260: 20 28 72 65 73 75 6c 74 20 28 2a 20 73 64 6c 2d   (result (* sdl-
0270: 72 65 63 74 2d 74 29 29 29 20 22 53 44 4c 5f 55  rect-t))) "SDL_U
0280: 6e 69 6f 6e 52 65 63 74 22 29 0a 28 64 65 66 69  nionRect").(defi
0290: 6e 65 2d 73 64 6c 2d 66 75 6e 63 20 73 64 6c 2d  ne-sdl-func sdl-
02a0: 62 6f 6f 6c 2d 74 20 73 64 6c 2d 65 6e 63 6c 6f  bool-t sdl-enclo
02b0: 73 65 2d 70 6f 69 6e 74 73 20 28 28 70 6f 69 6e  se-points ((poin
02c0: 74 73 20 28 2a 20 73 64 6c 2d 70 6f 69 6e 74 2d  ts (* sdl-point-
02d0: 74 29 29 20 28 63 6f 75 6e 74 20 69 6e 74 29 20  t)) (count int) 
02e0: 28 63 6c 69 70 20 28 2a 20 73 64 6c 2d 72 65 63  (clip (* sdl-rec
02f0: 74 2d 74 29 29 20 28 72 65 73 75 6c 74 20 28 2a  t-t)) (result (*
0300: 20 73 64 6c 2d 72 65 63 74 2d 74 29 29 29 20 22   sdl-rect-t))) "
0310: 53 44 4c 5f 45 6e 63 6c 6f 73 65 50 6f 69 6e 74  SDL_EnclosePoint
0320: 73 22 29 0a 28 64 65 66 69 6e 65 2d 73 64 6c 2d  s").(define-sdl-
0330: 66 75 6e 63 20 73 64 6c 2d 62 6f 6f 6c 2d 74 20  func sdl-bool-t 
0340: 73 64 6c 2d 69 6e 74 65 72 73 65 63 74 2d 72 65  sdl-intersect-re
0350: 63 74 2d 61 6e 64 2d 6c 69 6e 65 20 28 28 72 65  ct-and-line ((re
0360: 63 74 20 28 2a 20 73 64 6c 2d 72 65 63 74 2d 74  ct (* sdl-rect-t
0370: 29 29 20 28 58 31 20 28 2a 20 69 6e 74 29 29 20  )) (X1 (* int)) 
0380: 28 59 31 20 28 2a 20 69 6e 74 29 29 20 28 58 32  (Y1 (* int)) (X2
0390: 20 28 2a 20 69 6e 74 29 29 20 28 59 32 20 28 2a   (* int)) (Y2 (*
03a0: 20 69 6e 74 29 29 29 20 22 53 44 4c 5f 49 6e 74   int))) "SDL_Int
03b0: 65 72 73 65 63 74 52 65 63 74 41 6e 64 4c 69 6e  ersectRectAndLin
03c0: 65 22 29 0a                                      e").