Artifact
15975fd137cb2289d819d97da39bfded82d64aee:
- File
sdl2/pixels-functions.ss
— part of check-in
[c9770d8f7f]
at
2016-08-17 07:47:19
on branch trunk
— added sdl2
(user:
ovenpasta@pizzahack.eu
size: 1751)
0000: 28 64 65 66 69 6e 65 2d 73 64 6c 2d 66 75 6e 63 (define-sdl-func
0010: 20 73 74 72 69 6e 67 20 73 64 6c 2d 67 65 74 2d string sdl-get-
0020: 70 69 78 65 6c 2d 66 6f 72 6d 61 74 2d 6e 61 6d pixel-format-nam
0030: 65 20 28 28 66 6f 72 6d 61 74 20 75 69 6e 74 33 e ((format uint3
0040: 32 29 29 20 22 53 44 4c 5f 47 65 74 50 69 78 65 2)) "SDL_GetPixe
0050: 6c 46 6f 72 6d 61 74 4e 61 6d 65 22 29 0a 28 64 lFormatName").(d
0060: 65 66 69 6e 65 2d 73 64 6c 2d 66 75 6e 63 20 73 efine-sdl-func s
0070: 64 6c 2d 62 6f 6f 6c 2d 74 20 73 64 6c 2d 70 69 dl-bool-t sdl-pi
0080: 78 65 6c 2d 66 6f 72 6d 61 74 2d 65 6e 75 6d 2d xel-format-enum-
0090: 74 6f 2d 6d 61 73 6b 73 20 28 28 66 6f 72 6d 61 to-masks ((forma
00a0: 74 20 75 69 6e 74 33 32 29 20 28 62 70 70 20 28 t uint32) (bpp (
00b0: 2a 20 69 6e 74 29 29 20 28 52 6d 61 73 6b 20 28 * int)) (Rmask (
00c0: 2a 20 75 69 6e 74 33 32 29 29 20 28 47 6d 61 73 * uint32)) (Gmas
00d0: 6b 20 28 2a 20 75 69 6e 74 33 32 29 29 20 28 42 k (* uint32)) (B
00e0: 6d 61 73 6b 20 28 2a 20 75 69 6e 74 33 32 29 29 mask (* uint32))
00f0: 20 28 41 6d 61 73 6b 20 28 2a 20 75 69 6e 74 33 (Amask (* uint3
0100: 32 29 29 29 20 22 53 44 4c 5f 50 69 78 65 6c 46 2))) "SDL_PixelF
0110: 6f 72 6d 61 74 45 6e 75 6d 54 6f 4d 61 73 6b 73 ormatEnumToMasks
0120: 22 29 0a 28 64 65 66 69 6e 65 2d 73 64 6c 2d 66 ").(define-sdl-f
0130: 75 6e 63 20 75 69 6e 74 33 32 20 73 64 6c 2d 6d unc uint32 sdl-m
0140: 61 73 6b 73 2d 74 6f 2d 70 69 78 65 6c 2d 66 6f asks-to-pixel-fo
0150: 72 6d 61 74 2d 65 6e 75 6d 20 28 28 62 70 70 20 rmat-enum ((bpp
0160: 69 6e 74 29 20 28 52 6d 61 73 6b 20 75 69 6e 74 int) (Rmask uint
0170: 33 32 29 20 28 47 6d 61 73 6b 20 75 69 6e 74 33 32) (Gmask uint3
0180: 32 29 20 28 42 6d 61 73 6b 20 75 69 6e 74 33 32 2) (Bmask uint32
0190: 29 20 28 41 6d 61 73 6b 20 75 69 6e 74 33 32 29 ) (Amask uint32)
01a0: 29 20 22 53 44 4c 5f 4d 61 73 6b 73 54 6f 50 69 ) "SDL_MasksToPi
01b0: 78 65 6c 46 6f 72 6d 61 74 45 6e 75 6d 22 29 0a xelFormatEnum").
01c0: 28 64 65 66 69 6e 65 2d 73 64 6c 2d 66 75 6e 63 (define-sdl-func
01d0: 20 28 2a 20 73 64 6c 2d 70 69 78 65 6c 2d 66 6f (* sdl-pixel-fo
01e0: 72 6d 61 74 2d 74 29 20 73 64 6c 2d 61 6c 6c 6f rmat-t) sdl-allo
01f0: 63 2d 66 6f 72 6d 61 74 20 28 28 70 69 78 65 6c c-format ((pixel
0200: 5f 66 6f 72 6d 61 74 20 75 69 6e 74 33 32 29 29 _format uint32))
0210: 20 22 53 44 4c 5f 41 6c 6c 6f 63 46 6f 72 6d 61 "SDL_AllocForma
0220: 74 22 29 0a 28 64 65 66 69 6e 65 2d 73 64 6c 2d t").(define-sdl-
0230: 66 75 6e 63 20 76 6f 69 64 20 73 64 6c 2d 66 72 func void sdl-fr
0240: 65 65 2d 66 6f 72 6d 61 74 20 28 28 66 6f 72 6d ee-format ((form
0250: 61 74 20 28 2a 20 73 64 6c 2d 70 69 78 65 6c 2d at (* sdl-pixel-
0260: 66 6f 72 6d 61 74 2d 74 29 29 29 20 22 53 44 4c format-t))) "SDL
0270: 5f 46 72 65 65 46 6f 72 6d 61 74 22 29 0a 28 64 _FreeFormat").(d
0280: 65 66 69 6e 65 2d 73 64 6c 2d 66 75 6e 63 20 28 efine-sdl-func (
0290: 2a 20 73 64 6c 2d 70 61 6c 65 74 74 65 2d 74 29 * sdl-palette-t)
02a0: 20 73 64 6c 2d 61 6c 6c 6f 63 2d 70 61 6c 65 74 sdl-alloc-palet
02b0: 74 65 20 28 28 6e 63 6f 6c 6f 72 73 20 69 6e 74 te ((ncolors int
02c0: 29 29 20 22 53 44 4c 5f 41 6c 6c 6f 63 50 61 6c )) "SDL_AllocPal
02d0: 65 74 74 65 22 29 0a 28 64 65 66 69 6e 65 2d 73 ette").(define-s
02e0: 64 6c 2d 66 75 6e 63 20 69 6e 74 20 73 64 6c 2d dl-func int sdl-
02f0: 73 65 74 2d 70 69 78 65 6c 2d 66 6f 72 6d 61 74 set-pixel-format
0300: 2d 70 61 6c 65 74 74 65 20 28 28 66 6f 72 6d 61 -palette ((forma
0310: 74 20 28 2a 20 73 64 6c 2d 70 69 78 65 6c 2d 66 t (* sdl-pixel-f
0320: 6f 72 6d 61 74 2d 74 29 29 20 28 70 61 6c 65 74 ormat-t)) (palet
0330: 74 65 20 28 2a 20 73 64 6c 2d 70 61 6c 65 74 74 te (* sdl-palett
0340: 65 2d 74 29 29 29 20 22 53 44 4c 5f 53 65 74 50 e-t))) "SDL_SetP
0350: 69 78 65 6c 46 6f 72 6d 61 74 50 61 6c 65 74 74 ixelFormatPalett
0360: 65 22 29 0a 28 64 65 66 69 6e 65 2d 73 64 6c 2d e").(define-sdl-
0370: 66 75 6e 63 20 69 6e 74 20 73 64 6c 2d 73 65 74 func int sdl-set
0380: 2d 70 61 6c 65 74 74 65 2d 63 6f 6c 6f 72 73 20 -palette-colors
0390: 28 28 70 61 6c 65 74 74 65 20 28 2a 20 73 64 6c ((palette (* sdl
03a0: 2d 70 61 6c 65 74 74 65 2d 74 29 29 20 28 63 6f -palette-t)) (co
03b0: 6c 6f 72 73 20 28 2a 20 73 64 6c 2d 63 6f 6c 6f lors (* sdl-colo
03c0: 72 2d 74 29 29 20 28 66 69 72 73 74 63 6f 6c 6f r-t)) (firstcolo
03d0: 72 20 69 6e 74 29 20 28 6e 63 6f 6c 6f 72 73 20 r int) (ncolors
03e0: 69 6e 74 29 29 20 22 53 44 4c 5f 53 65 74 50 61 int)) "SDL_SetPa
03f0: 6c 65 74 74 65 43 6f 6c 6f 72 73 22 29 0a 28 64 letteColors").(d
0400: 65 66 69 6e 65 2d 73 64 6c 2d 66 75 6e 63 20 76 efine-sdl-func v
0410: 6f 69 64 20 73 64 6c 2d 66 72 65 65 2d 70 61 6c oid sdl-free-pal
0420: 65 74 74 65 20 28 28 70 61 6c 65 74 74 65 20 28 ette ((palette (
0430: 2a 20 73 64 6c 2d 70 61 6c 65 74 74 65 2d 74 29 * sdl-palette-t)
0440: 29 29 20 22 53 44 4c 5f 46 72 65 65 50 61 6c 65 )) "SDL_FreePale
0450: 74 74 65 22 29 0a 28 64 65 66 69 6e 65 2d 73 64 tte").(define-sd
0460: 6c 2d 66 75 6e 63 20 75 69 6e 74 33 32 20 73 64 l-func uint32 sd
0470: 6c 2d 6d 61 70 2d 72 67 62 20 28 28 66 6f 72 6d l-map-rgb ((form
0480: 61 74 20 28 2a 20 73 64 6c 2d 70 69 78 65 6c 2d at (* sdl-pixel-
0490: 66 6f 72 6d 61 74 2d 74 29 29 20 28 72 20 75 69 format-t)) (r ui
04a0: 6e 74 38 29 20 28 67 20 75 69 6e 74 38 29 20 28 nt8) (g uint8) (
04b0: 62 20 75 69 6e 74 38 29 29 20 22 53 44 4c 5f 4d b uint8)) "SDL_M
04c0: 61 70 52 47 42 22 29 0a 28 64 65 66 69 6e 65 2d apRGB").(define-
04d0: 73 64 6c 2d 66 75 6e 63 20 75 69 6e 74 33 32 20 sdl-func uint32
04e0: 73 64 6c 2d 6d 61 70 2d 72 67 62 61 20 28 28 66 sdl-map-rgba ((f
04f0: 6f 72 6d 61 74 20 28 2a 20 73 64 6c 2d 70 69 78 ormat (* sdl-pix
0500: 65 6c 2d 66 6f 72 6d 61 74 2d 74 29 29 20 28 72 el-format-t)) (r
0510: 20 75 69 6e 74 38 29 20 28 67 20 75 69 6e 74 38 uint8) (g uint8
0520: 29 20 28 62 20 75 69 6e 74 38 29 20 28 61 20 75 ) (b uint8) (a u
0530: 69 6e 74 38 29 29 20 22 53 44 4c 5f 4d 61 70 52 int8)) "SDL_MapR
0540: 47 42 41 22 29 0a 28 64 65 66 69 6e 65 2d 73 64 GBA").(define-sd
0550: 6c 2d 66 75 6e 63 20 76 6f 69 64 20 73 64 6c 2d l-func void sdl-
0560: 67 65 74 2d 72 67 62 20 28 28 70 69 78 65 6c 20 get-rgb ((pixel
0570: 75 69 6e 74 33 32 29 20 28 66 6f 72 6d 61 74 20 uint32) (format
0580: 28 2a 20 73 64 6c 2d 70 69 78 65 6c 2d 66 6f 72 (* sdl-pixel-for
0590: 6d 61 74 2d 74 29 29 20 28 72 20 28 2a 20 75 69 mat-t)) (r (* ui
05a0: 6e 74 38 29 29 20 28 67 20 28 2a 20 75 69 6e 74 nt8)) (g (* uint
05b0: 38 29 29 20 28 62 20 28 2a 20 75 69 6e 74 38 29 8)) (b (* uint8)
05c0: 29 29 20 22 53 44 4c 5f 47 65 74 52 47 42 22 29 )) "SDL_GetRGB")
05d0: 0a 28 64 65 66 69 6e 65 2d 73 64 6c 2d 66 75 6e .(define-sdl-fun
05e0: 63 20 76 6f 69 64 20 73 64 6c 2d 67 65 74 2d 72 c void sdl-get-r
05f0: 67 62 61 20 28 28 70 69 78 65 6c 20 75 69 6e 74 gba ((pixel uint
0600: 33 32 29 20 28 66 6f 72 6d 61 74 20 28 2a 20 73 32) (format (* s
0610: 64 6c 2d 70 69 78 65 6c 2d 66 6f 72 6d 61 74 2d dl-pixel-format-
0620: 74 29 29 20 28 72 20 28 2a 20 75 69 6e 74 38 29 t)) (r (* uint8)
0630: 29 20 28 67 20 28 2a 20 75 69 6e 74 38 29 29 20 ) (g (* uint8))
0640: 28 62 20 28 2a 20 75 69 6e 74 38 29 29 20 28 61 (b (* uint8)) (a
0650: 20 28 2a 20 75 69 6e 74 38 29 29 29 20 22 53 44 (* uint8))) "SD
0660: 4c 5f 47 65 74 52 47 42 41 22 29 0a 28 64 65 66 L_GetRGBA").(def
0670: 69 6e 65 2d 73 64 6c 2d 66 75 6e 63 20 76 6f 69 ine-sdl-func voi
0680: 64 20 73 64 6c 2d 63 61 6c 63 75 6c 61 74 65 2d d sdl-calculate-
0690: 67 61 6d 6d 61 2d 72 61 6d 70 20 28 28 67 61 6d gamma-ramp ((gam
06a0: 6d 61 20 66 6c 6f 61 74 29 20 28 72 61 6d 70 20 ma float) (ramp
06b0: 28 2a 20 75 69 6e 74 31 36 29 29 29 20 22 53 44 (* uint16))) "SD
06c0: 4c 5f 43 61 6c 63 75 6c 61 74 65 47 61 6d 6d 61 L_CalculateGamma
06d0: 52 61 6d 70 22 29 0a Ramp").