Artifact
be466fc68a6b2048190b8bd40bb22d20c3a3815e:
- File
sdl2/rect-functions.ss
— part of check-in
[b358a80757]
at
2016-09-04 14:50:46
on branch trunk
— added missing file changes
(user:
aldo
size: 964)
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").