Hex Artifact Content
Not logged in

Artifact 0c51e9dbb192e6cfe97a75c890fe149fb3fb14fc:


0000: 3b 3b 0a 3b 3b 20 43 6f 70 79 72 69 67 68 74 20  ;;.;; Copyright 
0010: 32 30 31 36 20 41 6c 64 6f 20 4e 69 63 6f 6c 61  2016 Aldo Nicola
0020: 73 20 42 72 75 6e 6f 0a 3b 3b 0a 3b 3b 20 4c 69  s Bruno.;;.;; Li
0030: 63 65 6e 73 65 64 20 75 6e 64 65 72 20 74 68 65  censed under the
0040: 20 41 70 61 63 68 65 20 4c 69 63 65 6e 73 65 2c   Apache License,
0050: 20 56 65 72 73 69 6f 6e 20 32 2e 30 20 28 74 68   Version 2.0 (th
0060: 65 20 22 4c 69 63 65 6e 73 65 22 29 3b 0a 3b 3b  e "License");.;;
0070: 20 79 6f 75 20 6d 61 79 20 6e 6f 74 20 75 73 65   you may not use
0080: 20 74 68 69 73 20 66 69 6c 65 20 65 78 63 65 70   this file excep
0090: 74 20 69 6e 20 63 6f 6d 70 6c 69 61 6e 63 65 20  t in compliance 
00a0: 77 69 74 68 20 74 68 65 20 4c 69 63 65 6e 73 65  with the License
00b0: 2e 0a 3b 3b 20 59 6f 75 20 6d 61 79 20 6f 62 74  ..;; You may obt
00c0: 61 69 6e 20 61 20 63 6f 70 79 20 6f 66 20 74 68  ain a copy of th
00d0: 65 20 4c 69 63 65 6e 73 65 20 61 74 0a 3b 3b 0a  e License at.;;.
00e0: 3b 3b 20 20 20 20 20 68 74 74 70 3a 2f 2f 77 77  ;;     http://ww
00f0: 77 2e 61 70 61 63 68 65 2e 6f 72 67 2f 6c 69 63  w.apache.org/lic
0100: 65 6e 73 65 73 2f 4c 49 43 45 4e 53 45 2d 32 2e  enses/LICENSE-2.
0110: 30 0a 3b 3b 0a 3b 3b 20 55 6e 6c 65 73 73 20 72  0.;;.;; Unless r
0120: 65 71 75 69 72 65 64 20 62 79 20 61 70 70 6c 69  equired by appli
0130: 63 61 62 6c 65 20 6c 61 77 20 6f 72 20 61 67 72  cable law or agr
0140: 65 65 64 20 74 6f 20 69 6e 20 77 72 69 74 69 6e  eed to in writin
0150: 67 2c 20 73 6f 66 74 77 61 72 65 0a 3b 3b 20 64  g, software.;; d
0160: 69 73 74 72 69 62 75 74 65 64 20 75 6e 64 65 72  istributed under
0170: 20 74 68 65 20 4c 69 63 65 6e 73 65 20 69 73 20   the License is 
0180: 64 69 73 74 72 69 62 75 74 65 64 20 6f 6e 20 61  distributed on a
0190: 6e 20 22 41 53 20 49 53 22 20 42 41 53 49 53 2c  n "AS IS" BASIS,
01a0: 0a 3b 3b 20 57 49 54 48 4f 55 54 20 57 41 52 52  .;; WITHOUT WARR
01b0: 41 4e 54 49 45 53 20 4f 52 20 43 4f 4e 44 49 54  ANTIES OR CONDIT
01c0: 49 4f 4e 53 20 4f 46 20 41 4e 59 20 4b 49 4e 44  IONS OF ANY KIND
01d0: 2c 20 65 69 74 68 65 72 20 65 78 70 72 65 73 73  , either express
01e0: 20 6f 72 20 69 6d 70 6c 69 65 64 2e 0a 3b 3b 20   or implied..;; 
01f0: 53 65 65 20 74 68 65 20 4c 69 63 65 6e 73 65 20  See the License 
0200: 66 6f 72 20 74 68 65 20 73 70 65 63 69 66 69 63  for the specific
0210: 20 6c 61 6e 67 75 61 67 65 20 67 6f 76 65 72 6e   language govern
0220: 69 6e 67 20 70 65 72 6d 69 73 73 69 6f 6e 73 20  ing permissions 
0230: 61 6e 64 0a 3b 3b 20 6c 69 6d 69 74 61 74 69 6f  and.;; limitatio
0240: 6e 73 20 75 6e 64 65 72 20 74 68 65 20 4c 69 63  ns under the Lic
0250: 65 6e 73 65 2e 0a 0a 28 62 65 67 69 6e 0a 20 20  ense...(begin.  
0260: 28 64 65 66 69 6e 65 20 73 64 6c 2d 61 6c 70 68  (define sdl-alph
0270: 61 2d 6f 70 61 71 75 65 20 32 35 35 29 0a 20 20  a-opaque 255).  
0280: 28 64 65 66 69 6e 65 20 73 64 6c 2d 61 6c 70 68  (define sdl-alph
0290: 61 2d 74 72 61 6e 73 70 61 72 65 6e 74 20 30 29  a-transparent 0)
02a0: 0a 0a 20 20 28 64 65 66 69 6e 65 2d 65 6e 75 6d  ..  (define-enum
02b0: 65 72 61 74 69 6f 6e 2a 20 73 64 6c 2d 70 69 78  eration* sdl-pix
02c0: 65 6c 74 79 70 65 20 28 20 75 6e 6b 6e 6f 77 6e  eltype ( unknown
02d0: 20 69 6e 64 65 78 2d 31 20 69 6e 64 65 78 2d 34   index-1 index-4
02e0: 20 69 6e 64 65 78 2d 38 20 70 61 63 6b 65 64 2d   index-8 packed-
02f0: 38 20 70 61 63 6b 65 64 2d 31 36 20 0a 09 09 09  8 packed-16 ....
0300: 09 09 09 70 61 63 6b 65 64 2d 33 32 20 61 72 72  ...packed-32 arr
0310: 61 79 2d 75 38 20 61 72 72 61 79 2d 75 31 36 20  ay-u8 array-u16 
0320: 61 72 72 61 79 2d 75 33 32 20 61 72 72 61 79 2d  array-u32 array-
0330: 66 31 36 20 61 72 72 61 79 2d 66 33 32 29 29 0a  f16 array-f32)).
0340: 0a 20 20 28 64 65 66 69 6e 65 2d 65 6e 75 6d 65  .  (define-enume
0350: 72 61 74 69 6f 6e 2a 20 73 64 6c 2d 62 69 74 6d  ration* sdl-bitm
0360: 61 70 6f 72 64 65 72 20 20 28 6e 6f 6e 65 20 24  aporder  (none $
0370: 34 33 32 31 20 24 31 32 33 34 29 29 0a 0a 20 20  4321 $1234))..  
0380: 28 64 65 66 69 6e 65 2d 65 6e 75 6d 65 72 61 74  (define-enumerat
0390: 69 6f 6e 2a 20 73 64 6c 2d 70 61 63 6b 65 64 6f  ion* sdl-packedo
03a0: 72 64 65 72 20 28 6e 6f 6e 65 20 78 72 67 62 20  rder (none xrgb 
03b0: 72 67 62 78 20 61 72 67 62 20 72 67 62 61 20 78  rgbx argb rgba x
03c0: 62 67 72 20 62 67 72 78 20 61 62 67 72 20 62 67  bgr bgrx abgr bg
03d0: 72 61 29 29 0a 0a 20 20 28 64 65 66 69 6e 65 2d  ra))..  (define-
03e0: 65 6e 75 6d 65 72 61 74 69 6f 6e 2a 20 73 64 6c  enumeration* sdl
03f0: 2d 61 72 72 61 79 6f 72 64 65 72 20 28 6e 6f 6e  -arrayorder (non
0400: 65 20 72 67 62 20 72 67 62 61 20 61 72 67 62 20  e rgb rgba argb 
0410: 62 67 72 20 62 67 72 61 20 61 62 67 72 29 29 0a  bgr bgra abgr)).
0420: 0a 20 20 28 64 65 66 69 6e 65 2d 65 6e 75 6d 65  .  (define-enume
0430: 72 61 74 69 6f 6e 2a 20 73 64 6c 2d 70 61 63 6b  ration* sdl-pack
0440: 65 64 6c 61 79 6f 75 74 20 28 6e 6f 6e 65 20 24  edlayout (none $
0450: 33 33 32 20 24 34 34 34 34 20 24 31 35 35 35 20  332 $4444 $1555 
0460: 24 35 35 35 31 20 24 35 36 35 20 24 38 38 38 38  $5551 $565 $8888
0470: 20 24 32 31 30 31 30 31 30 20 24 31 30 31 30 31   $2101010 $10101
0480: 30 32 29 29 0a 0a 20 20 28 64 65 66 69 6e 65 20  02))..  (define 
0490: 28 73 64 6c 2d 64 65 66 69 6e 65 2d 70 69 78 65  (sdl-define-pixe
04a0: 6c 66 6f 72 6d 61 74 20 74 79 70 65 20 6f 72 64  lformat type ord
04b0: 65 72 20 6c 61 79 6f 75 74 20 62 69 74 73 20 62  er layout bits b
04c0: 79 74 65 73 29 0a 20 20 20 20 28 64 65 66 69 6e  ytes).    (defin
04d0: 65 20 3c 3c 20 62 69 74 77 69 73 65 2d 61 72 69  e << bitwise-ari
04e0: 74 68 6d 65 74 69 63 2d 73 68 69 66 74 2d 6c 65  thmetic-shift-le
04f0: 66 74 29 0a 20 20 20 20 28 6c 6f 67 6f 72 20 28  ft).    (logor (
0500: 3c 3c 20 31 20 32 38 29 20 28 3c 3c 20 74 79 70  << 1 28) (<< typ
0510: 65 20 32 34 29 20 28 3c 3c 20 6f 72 64 65 72 20  e 24) (<< order 
0520: 32 30 29 20 28 3c 3c 20 6c 61 79 6f 75 74 20 31  20) (<< layout 1
0530: 36 29 20 28 3c 3c 20 62 69 74 73 20 38 29 20 28  6) (<< bits 8) (
0540: 3c 3c 20 62 79 74 65 73 20 30 29 29 29 0a 0a 20  << bytes 0))).. 
0550: 20 28 64 65 66 69 6e 65 20 28 73 64 6c 2d 70 69   (define (sdl-pi
0560: 78 65 6c 66 6c 61 67 25 20 78 29 0a 20 20 20 20  xelflag% x).    
0570: 28 6c 6f 67 61 6e 64 20 28 62 69 74 77 69 73 65  (logand (bitwise
0580: 2d 61 72 69 74 68 6d 65 74 69 63 2d 73 68 69 66  -arithmetic-shif
0590: 74 2d 72 69 67 68 74 20 78 20 32 38 29 20 23 78  t-right x 28) #x
05a0: 30 66 29 29 0a 20 20 28 64 65 66 69 6e 65 20 28  0f)).  (define (
05b0: 73 64 6c 2d 70 69 78 65 6c 74 79 70 65 25 20 78  sdl-pixeltype% x
05c0: 29 0a 20 20 20 20 28 6c 6f 67 61 6e 64 20 28 62  ).    (logand (b
05d0: 69 74 77 69 73 65 2d 61 72 69 74 68 6d 65 74 69  itwise-arithmeti
05e0: 63 2d 73 68 69 66 74 2d 72 69 67 68 74 20 78 20  c-shift-right x 
05f0: 32 34 29 20 23 78 30 66 29 29 0a 20 20 28 64 65  24) #x0f)).  (de
0600: 66 69 6e 65 20 28 73 64 6c 2d 70 69 78 65 6c 6f  fine (sdl-pixelo
0610: 72 64 65 72 25 20 78 29 0a 20 20 20 20 28 6c 6f  rder% x).    (lo
0620: 67 61 6e 64 20 28 62 69 74 77 69 73 65 2d 61 72  gand (bitwise-ar
0630: 69 74 68 6d 65 74 69 63 2d 73 68 69 66 74 2d 72  ithmetic-shift-r
0640: 69 67 68 74 20 78 20 32 30 29 20 23 78 30 66 29  ight x 20) #x0f)
0650: 29 0a 20 20 28 64 65 66 69 6e 65 20 28 73 64 6c  ).  (define (sdl
0660: 2d 70 69 78 65 6c 6c 61 79 6f 75 74 20 78 29 0a  -pixellayout x).
0670: 20 20 20 20 28 6c 6f 67 61 6e 64 20 28 62 69 74      (logand (bit
0680: 77 69 73 65 2d 61 72 69 74 68 6d 65 74 69 63 2d  wise-arithmetic-
0690: 73 68 69 66 74 2d 72 69 67 68 74 20 78 20 31 36  shift-right x 16
06a0: 29 20 23 78 30 66 29 29 0a 20 20 28 64 65 66 69  ) #x0f)).  (defi
06b0: 6e 65 20 28 73 64 6c 2d 62 69 74 73 70 65 72 70  ne (sdl-bitsperp
06c0: 69 78 65 6c 25 20 78 29 0a 20 20 20 20 28 6c 6f  ixel% x).    (lo
06d0: 67 61 6e 64 20 28 62 69 74 77 69 73 65 2d 61 72  gand (bitwise-ar
06e0: 69 74 68 6d 65 74 69 63 2d 73 68 69 66 74 2d 72  ithmetic-shift-r
06f0: 69 67 68 74 20 78 20 38 29 20 23 78 66 66 29 29  ight x 8) #xff))
0700: 0a 20 20 0a 20 20 28 64 65 66 69 6e 65 20 28 73  .  .  (define (s
0710: 64 6c 2d 69 73 70 69 78 65 6c 66 6f 72 6d 61 74  dl-ispixelformat
0720: 2d 66 6f 75 72 63 63 20 66 6f 72 6d 61 74 29 0a  -fourcc format).
0730: 20 20 20 20 28 6e 6f 74 20 28 6f 72 20 28 7a 65      (not (or (ze
0740: 72 6f 3f 20 66 6f 72 6d 61 74 29 20 28 3d 20 28  ro? format) (= (
0750: 73 64 6c 2d 70 69 78 65 6c 66 6c 61 67 25 20 66  sdl-pixelflag% f
0760: 6f 72 6d 61 74 29 20 31 29 29 29 29 0a 0a 20 20  ormat) 1))))..  
0770: 3b 3b 54 4f 44 4f 3a 20 4e 45 45 44 53 20 54 45  ;;TODO: NEEDS TE
0780: 53 54 0a 20 20 28 64 65 66 69 6e 65 20 28 73 64  ST.  (define (sd
0790: 6c 2d 66 6f 75 72 63 63 20 61 20 62 20 63 20 64  l-fourcc a b c d
07a0: 29 0a 20 20 20 20 28 64 65 66 69 6e 65 20 3c 3c  ).    (define <<
07b0: 20 62 69 74 77 69 73 65 2d 61 72 69 74 68 6d 65   bitwise-arithme
07c0: 74 69 63 2d 73 68 69 66 74 2d 6c 65 66 74 29 0a  tic-shift-left).
07d0: 20 20 20 20 28 6c 6f 67 6f 72 20 28 3c 3c 20 28      (logor (<< (
07e0: 6c 6f 67 61 6e 64 20 61 20 23 78 66 66 29 20 30  logand a #xff) 0
07f0: 29 0a 09 20 20 20 28 3c 3c 20 28 6c 6f 67 61 6e  )..   (<< (logan
0800: 64 20 62 20 23 78 66 66 29 20 38 29 0a 09 20 20  d b #xff) 8)..  
0810: 20 28 3c 3c 20 28 6c 6f 67 61 6e 64 20 63 20 23   (<< (logand c #
0820: 78 66 66 29 20 31 36 29 0a 09 20 20 20 28 3c 3c  xff) 16)..   (<<
0830: 20 28 6c 6f 67 61 6e 64 20 64 20 23 78 66 66 29   (logand d #xff)
0840: 20 32 34 29 29 29 0a 0a 20 20 28 64 65 66 69 6e   24)))..  (defin
0850: 65 20 28 73 64 6c 2d 66 6f 75 72 63 63 2f 63 68  e (sdl-fourcc/ch
0860: 61 72 20 61 20 62 20 63 20 64 29 0a 20 20 20 20  ar a b c d).    
0870: 28 73 64 6c 2d 66 6f 75 72 63 63 20 28 63 68 61  (sdl-fourcc (cha
0880: 72 2d 3e 69 6e 74 65 67 65 72 20 61 29 20 28 63  r->integer a) (c
0890: 68 61 72 2d 3e 69 6e 74 65 67 65 72 20 62 29 20  har->integer b) 
08a0: 28 63 68 61 72 2d 3e 69 6e 74 65 67 65 72 20 63  (char->integer c
08b0: 29 20 28 63 68 61 72 2d 3e 69 6e 74 65 67 65 72  ) (char->integer
08c0: 20 64 29 29 29 0a 20 20 0a 20 20 28 64 65 66 69   d))).  .  (defi
08d0: 6e 65 2d 66 6c 61 67 73 20 73 64 6c 2d 70 69 78  ne-flags sdl-pix
08e0: 65 6c 66 6f 72 6d 61 74 0a 20 20 20 20 20 20 28  elformat.      (
08f0: 75 6e 6b 6e 6f 77 6e 20 20 30 29 0a 20 20 20 20  unknown  0).    
0900: 20 20 28 69 6e 64 65 78 2d 31 2d 6c 73 62 20 20    (index-1-lsb  
0910: 20 28 73 64 6c 2d 64 65 66 69 6e 65 2d 70 69 78   (sdl-define-pix
0920: 65 6c 66 6f 72 6d 61 74 20 28 73 64 6c 2d 70 69  elformat (sdl-pi
0930: 78 65 6c 74 79 70 65 20 27 69 6e 64 65 78 2d 31  xeltype 'index-1
0940: 29 20 28 73 64 6c 2d 62 69 74 6d 61 70 6f 72 64  ) (sdl-bitmapord
0950: 65 72 20 27 24 34 33 32 31 29 20 30 20 31 20 30  er '$4321) 0 1 0
0960: 29 29 0a 20 20 20 20 20 20 28 69 6e 64 65 78 2d  )).      (index-
0970: 31 2d 6d 73 62 20 20 20 28 73 64 6c 2d 64 65 66  1-msb   (sdl-def
0980: 69 6e 65 2d 70 69 78 65 6c 66 6f 72 6d 61 74 20  ine-pixelformat 
0990: 28 73 64 6c 2d 70 69 78 65 6c 74 79 70 65 20 27  (sdl-pixeltype '
09a0: 69 6e 64 65 78 2d 31 29 20 28 73 64 6c 2d 62 69  index-1) (sdl-bi
09b0: 74 6d 61 70 6f 72 64 65 72 20 27 24 31 32 33 34  tmaporder '$1234
09c0: 29 20 30 20 31 20 30 29 29 0a 20 20 20 20 20 20  ) 0 1 0)).      
09d0: 28 69 6e 64 65 78 2d 34 2d 6c 73 62 20 20 20 28  (index-4-lsb   (
09e0: 73 64 6c 2d 64 65 66 69 6e 65 2d 70 69 78 65 6c  sdl-define-pixel
09f0: 66 6f 72 6d 61 74 20 28 73 64 6c 2d 70 69 78 65  format (sdl-pixe
0a00: 6c 74 79 70 65 20 27 69 6e 64 65 78 2d 34 29 20  ltype 'index-4) 
0a10: 28 73 64 6c 2d 62 69 74 6d 61 70 6f 72 64 65 72  (sdl-bitmaporder
0a20: 20 27 24 34 33 32 31 29 20 30 20 34 20 30 29 29   '$4321) 0 4 0))
0a30: 0a 20 20 20 20 20 20 28 69 6e 64 65 78 2d 34 2d  .      (index-4-
0a40: 6d 73 62 20 20 20 28 73 64 6c 2d 64 65 66 69 6e  msb   (sdl-defin
0a50: 65 2d 70 69 78 65 6c 66 6f 72 6d 61 74 20 28 73  e-pixelformat (s
0a60: 64 6c 2d 70 69 78 65 6c 74 79 70 65 20 27 69 6e  dl-pixeltype 'in
0a70: 64 65 78 2d 34 29 20 28 73 64 6c 2d 62 69 74 6d  dex-4) (sdl-bitm
0a80: 61 70 6f 72 64 65 72 20 27 24 31 32 33 34 29 20  aporder '$1234) 
0a90: 30 20 34 20 30 29 29 0a 20 20 20 20 20 20 28 69  0 4 0)).      (i
0aa0: 6e 64 65 78 2d 38 20 20 20 20 28 73 64 6c 2d 64  ndex-8    (sdl-d
0ab0: 65 66 69 6e 65 2d 70 69 78 65 6c 66 6f 72 6d 61  efine-pixelforma
0ac0: 74 20 28 73 64 6c 2d 70 69 78 65 6c 74 79 70 65  t (sdl-pixeltype
0ad0: 20 27 69 6e 64 65 78 2d 38 29 20 30 20 30 20 38   'index-8) 0 0 8
0ae0: 20 31 29 29 0a 20 20 20 20 20 20 28 72 67 62 2d   1)).      (rgb-
0af0: 33 33 32 20 20 20 20 28 73 64 6c 2d 64 65 66 69  332    (sdl-defi
0b00: 6e 65 2d 70 69 78 65 6c 66 6f 72 6d 61 74 20 28  ne-pixelformat (
0b10: 73 64 6c 2d 70 69 78 65 6c 74 79 70 65 20 27 70  sdl-pixeltype 'p
0b20: 61 63 6b 65 64 2d 38 29 20 28 73 64 6c 2d 70 61  acked-8) (sdl-pa
0b30: 63 6b 65 64 6f 72 64 65 72 20 27 78 72 67 62 29  ckedorder 'xrgb)
0b40: 20 0a 09 09 09 09 09 20 20 20 20 28 73 64 6c 2d   ......    (sdl-
0b50: 70 61 63 6b 65 64 6c 61 79 6f 75 74 20 27 24 33  packedlayout '$3
0b60: 33 32 29 20 38 20 31 29 29 0a 20 20 20 20 20 20  32) 8 1)).      
0b70: 28 72 67 62 2d 34 34 34 20 20 20 20 28 73 64 6c  (rgb-444    (sdl
0b80: 2d 64 65 66 69 6e 65 2d 70 69 78 65 6c 66 6f 72  -define-pixelfor
0b90: 6d 61 74 20 28 73 64 6c 2d 70 69 78 65 6c 74 79  mat (sdl-pixelty
0ba0: 70 65 20 27 70 61 63 6b 65 64 2d 31 36 29 20 28  pe 'packed-16) (
0bb0: 73 64 6c 2d 70 61 63 6b 65 64 6f 72 64 65 72 20  sdl-packedorder 
0bc0: 27 78 72 67 62 29 20 0a 09 09 09 09 09 20 20 20  'xrgb) ......   
0bd0: 20 28 73 64 6c 2d 70 61 63 6b 65 64 6c 61 79 6f   (sdl-packedlayo
0be0: 75 74 20 27 24 34 34 34 34 29 20 31 32 20 32 29  ut '$4444) 12 2)
0bf0: 29 0a 20 20 20 20 20 20 28 72 67 62 2d 35 35 35  ).      (rgb-555
0c00: 20 20 20 20 28 73 64 6c 2d 64 65 66 69 6e 65 2d      (sdl-define-
0c10: 70 69 78 65 6c 66 6f 72 6d 61 74 20 28 73 64 6c  pixelformat (sdl
0c20: 2d 70 69 78 65 6c 74 79 70 65 20 27 70 61 63 6b  -pixeltype 'pack
0c30: 65 64 2d 31 36 29 20 28 73 64 6c 2d 70 61 63 6b  ed-16) (sdl-pack
0c40: 65 64 6f 72 64 65 72 20 27 78 72 67 62 29 20 0a  edorder 'xrgb) .
0c50: 09 09 09 09 09 20 20 20 20 28 73 64 6c 2d 70 61  .....    (sdl-pa
0c60: 63 6b 65 64 6c 61 79 6f 75 74 20 27 24 31 35 35  ckedlayout '$155
0c70: 35 29 20 31 35 20 32 29 29 0a 20 20 20 20 20 20  5) 15 2)).      
0c80: 28 62 67 72 2d 35 35 35 20 20 20 20 28 73 64 6c  (bgr-555    (sdl
0c90: 2d 64 65 66 69 6e 65 2d 70 69 78 65 6c 66 6f 72  -define-pixelfor
0ca0: 6d 61 74 20 28 73 64 6c 2d 70 69 78 65 6c 74 79  mat (sdl-pixelty
0cb0: 70 65 20 27 70 61 63 6b 65 64 2d 31 36 29 20 28  pe 'packed-16) (
0cc0: 73 64 6c 2d 70 61 63 6b 65 64 6f 72 64 65 72 20  sdl-packedorder 
0cd0: 27 78 62 67 72 29 20 0a 09 09 09 09 09 20 20 20  'xbgr) ......   
0ce0: 20 28 73 64 6c 2d 70 61 63 6b 65 64 6c 61 79 6f   (sdl-packedlayo
0cf0: 75 74 20 27 24 31 35 35 35 29 20 31 35 20 32 29  ut '$1555) 15 2)
0d00: 29 0a 20 20 20 20 20 20 28 61 72 67 62 2d 34 34  ).      (argb-44
0d10: 34 34 20 20 28 73 64 6c 2d 64 65 66 69 6e 65 2d  44  (sdl-define-
0d20: 70 69 78 65 6c 66 6f 72 6d 61 74 20 28 73 64 6c  pixelformat (sdl
0d30: 2d 70 69 78 65 6c 74 79 70 65 20 27 70 61 63 6b  -pixeltype 'pack
0d40: 65 64 2d 31 36 29 20 28 73 64 6c 2d 70 61 63 6b  ed-16) (sdl-pack
0d50: 65 64 6f 72 64 65 72 20 27 61 72 67 62 29 20 0a  edorder 'argb) .
0d60: 09 09 09 09 09 20 20 20 20 28 73 64 6c 2d 70 61  .....    (sdl-pa
0d70: 63 6b 65 64 6c 61 79 6f 75 74 20 27 24 34 34 34  ckedlayout '$444
0d80: 34 29 20 31 36 20 32 29 29 0a 20 20 20 20 20 20  4) 16 2)).      
0d90: 28 72 67 62 61 2d 34 34 34 34 20 20 28 73 64 6c  (rgba-4444  (sdl
0da0: 2d 64 65 66 69 6e 65 2d 70 69 78 65 6c 66 6f 72  -define-pixelfor
0db0: 6d 61 74 20 28 73 64 6c 2d 70 69 78 65 6c 74 79  mat (sdl-pixelty
0dc0: 70 65 20 27 70 61 63 6b 65 64 2d 31 36 29 20 28  pe 'packed-16) (
0dd0: 73 64 6c 2d 70 61 63 6b 65 64 6f 72 64 65 72 20  sdl-packedorder 
0de0: 27 72 67 62 61 29 20 0a 09 09 09 09 09 20 20 20  'rgba) ......   
0df0: 20 28 73 64 6c 2d 70 61 63 6b 65 64 6c 61 79 6f   (sdl-packedlayo
0e00: 75 74 20 27 24 34 34 34 34 29 20 31 36 20 32 29  ut '$4444) 16 2)
0e10: 29 0a 20 20 20 20 20 20 28 61 62 67 72 2d 34 34  ).      (abgr-44
0e20: 34 34 20 20 28 73 64 6c 2d 64 65 66 69 6e 65 2d  44  (sdl-define-
0e30: 70 69 78 65 6c 66 6f 72 6d 61 74 20 28 73 64 6c  pixelformat (sdl
0e40: 2d 70 69 78 65 6c 74 79 70 65 20 27 70 61 63 6b  -pixeltype 'pack
0e50: 65 64 2d 31 36 29 20 28 73 64 6c 2d 70 61 63 6b  ed-16) (sdl-pack
0e60: 65 64 6f 72 64 65 72 20 27 61 62 67 72 29 20 0a  edorder 'abgr) .
0e70: 09 09 09 09 09 20 20 20 20 28 73 64 6c 2d 70 61  .....    (sdl-pa
0e80: 63 6b 65 64 6c 61 79 6f 75 74 20 27 24 34 34 34  ckedlayout '$444
0e90: 34 29 20 31 36 20 32 29 29 0a 20 20 20 20 20 20  4) 16 2)).      
0ea0: 28 62 67 72 61 2d 34 34 34 34 20 20 28 73 64 6c  (bgra-4444  (sdl
0eb0: 2d 64 65 66 69 6e 65 2d 70 69 78 65 6c 66 6f 72  -define-pixelfor
0ec0: 6d 61 74 20 28 73 64 6c 2d 70 69 78 65 6c 74 79  mat (sdl-pixelty
0ed0: 70 65 20 27 70 61 63 6b 65 64 2d 31 36 29 20 28  pe 'packed-16) (
0ee0: 73 64 6c 2d 70 61 63 6b 65 64 6f 72 64 65 72 20  sdl-packedorder 
0ef0: 27 62 67 72 61 29 20 0a 09 09 09 09 09 20 20 20  'bgra) ......   
0f00: 20 28 73 64 6c 2d 70 61 63 6b 65 64 6c 61 79 6f   (sdl-packedlayo
0f10: 75 74 20 27 24 34 34 34 34 29 20 31 36 20 32 29  ut '$4444) 16 2)
0f20: 29 0a 20 20 20 20 20 20 28 61 72 67 62 2d 31 35  ).      (argb-15
0f30: 35 35 20 20 28 73 64 6c 2d 64 65 66 69 6e 65 2d  55  (sdl-define-
0f40: 70 69 78 65 6c 66 6f 72 6d 61 74 20 28 73 64 6c  pixelformat (sdl
0f50: 2d 70 69 78 65 6c 74 79 70 65 20 27 70 61 63 6b  -pixeltype 'pack
0f60: 65 64 2d 31 36 29 20 28 73 64 6c 2d 70 61 63 6b  ed-16) (sdl-pack
0f70: 65 64 6f 72 64 65 72 20 27 61 72 67 62 29 20 0a  edorder 'argb) .
0f80: 09 09 09 09 09 20 20 20 20 28 73 64 6c 2d 70 61  .....    (sdl-pa
0f90: 63 6b 65 64 6c 61 79 6f 75 74 20 27 24 31 35 35  ckedlayout '$155
0fa0: 35 29 20 31 36 20 32 29 29 0a 20 20 20 20 20 20  5) 16 2)).      
0fb0: 28 72 67 62 61 2d 35 35 35 31 20 20 28 73 64 6c  (rgba-5551  (sdl
0fc0: 2d 64 65 66 69 6e 65 2d 70 69 78 65 6c 66 6f 72  -define-pixelfor
0fd0: 6d 61 74 20 28 73 64 6c 2d 70 69 78 65 6c 74 79  mat (sdl-pixelty
0fe0: 70 65 20 27 70 61 63 6b 65 64 2d 31 36 29 20 28  pe 'packed-16) (
0ff0: 73 64 6c 2d 70 61 63 6b 65 64 6f 72 64 65 72 20  sdl-packedorder 
1000: 27 72 67 62 61 29 20 0a 09 09 09 09 09 20 20 20  'rgba) ......   
1010: 20 28 73 64 6c 2d 70 61 63 6b 65 64 6c 61 79 6f   (sdl-packedlayo
1020: 75 74 20 27 24 35 35 35 31 29 20 31 36 20 32 29  ut '$5551) 16 2)
1030: 29 0a 20 20 20 20 20 20 28 61 62 67 72 2d 31 35  ).      (abgr-15
1040: 35 35 20 20 28 73 64 6c 2d 64 65 66 69 6e 65 2d  55  (sdl-define-
1050: 70 69 78 65 6c 66 6f 72 6d 61 74 20 28 73 64 6c  pixelformat (sdl
1060: 2d 70 69 78 65 6c 74 79 70 65 20 27 70 61 63 6b  -pixeltype 'pack
1070: 65 64 2d 31 36 29 20 28 73 64 6c 2d 70 61 63 6b  ed-16) (sdl-pack
1080: 65 64 6f 72 64 65 72 20 27 61 62 67 72 29 20 0a  edorder 'abgr) .
1090: 09 09 09 09 09 20 20 20 20 28 73 64 6c 2d 70 61  .....    (sdl-pa
10a0: 63 6b 65 64 6c 61 79 6f 75 74 20 27 24 31 35 35  ckedlayout '$155
10b0: 35 29 20 31 36 20 32 29 29 0a 20 20 20 20 20 20  5) 16 2)).      
10c0: 28 62 67 72 61 2d 35 35 35 31 20 20 28 73 64 6c  (bgra-5551  (sdl
10d0: 2d 64 65 66 69 6e 65 2d 70 69 78 65 6c 66 6f 72  -define-pixelfor
10e0: 6d 61 74 20 28 73 64 6c 2d 70 69 78 65 6c 74 79  mat (sdl-pixelty
10f0: 70 65 20 27 70 61 63 6b 65 64 2d 31 36 29 20 28  pe 'packed-16) (
1100: 73 64 6c 2d 70 61 63 6b 65 64 6f 72 64 65 72 20  sdl-packedorder 
1110: 27 62 67 72 61 29 20 0a 09 09 09 09 09 20 20 20  'bgra) ......   
1120: 20 28 73 64 6c 2d 70 61 63 6b 65 64 6c 61 79 6f   (sdl-packedlayo
1130: 75 74 20 27 24 35 35 35 31 29 20 31 36 20 32 29  ut '$5551) 16 2)
1140: 29 0a 20 20 20 20 20 20 28 72 67 62 2d 35 36 35  ).      (rgb-565
1150: 20 20 20 20 28 73 64 6c 2d 64 65 66 69 6e 65 2d      (sdl-define-
1160: 70 69 78 65 6c 66 6f 72 6d 61 74 20 28 73 64 6c  pixelformat (sdl
1170: 2d 70 69 78 65 6c 74 79 70 65 20 27 70 61 63 6b  -pixeltype 'pack
1180: 65 64 2d 31 36 29 20 28 73 64 6c 2d 70 61 63 6b  ed-16) (sdl-pack
1190: 65 64 6f 72 64 65 72 20 27 78 72 67 62 29 20 0a  edorder 'xrgb) .
11a0: 09 09 09 09 09 20 20 20 20 28 73 64 6c 2d 70 61  .....    (sdl-pa
11b0: 63 6b 65 64 6c 61 79 6f 75 74 20 27 24 35 36 35  ckedlayout '$565
11c0: 29 20 31 36 20 32 29 29 0a 20 20 20 20 20 20 28  ) 16 2)).      (
11d0: 62 67 72 2d 35 36 35 20 20 20 20 28 73 64 6c 2d  bgr-565    (sdl-
11e0: 64 65 66 69 6e 65 2d 70 69 78 65 6c 66 6f 72 6d  define-pixelform
11f0: 61 74 20 28 73 64 6c 2d 70 69 78 65 6c 74 79 70  at (sdl-pixeltyp
1200: 65 20 27 70 61 63 6b 65 64 2d 31 36 29 20 28 73  e 'packed-16) (s
1210: 64 6c 2d 70 61 63 6b 65 64 6f 72 64 65 72 20 27  dl-packedorder '
1220: 78 62 67 72 29 20 0a 09 09 09 09 09 20 20 20 20  xbgr) ......    
1230: 28 73 64 6c 2d 70 61 63 6b 65 64 6c 61 79 6f 75  (sdl-packedlayou
1240: 74 20 27 24 35 36 35 29 20 31 36 20 32 29 29 0a  t '$565) 16 2)).
1250: 20 20 20 20 20 20 28 72 67 62 2d 32 34 20 20 20        (rgb-24   
1260: 20 20 28 73 64 6c 2d 64 65 66 69 6e 65 2d 70 69    (sdl-define-pi
1270: 78 65 6c 66 6f 72 6d 61 74 20 28 73 64 6c 2d 70  xelformat (sdl-p
1280: 69 78 65 6c 74 79 70 65 20 27 61 72 72 61 79 2d  ixeltype 'array-
1290: 75 38 29 20 28 73 64 6c 2d 61 72 72 61 79 6f 72  u8) (sdl-arrayor
12a0: 64 65 72 20 27 72 67 62 29 20 0a 09 09 09 09 09  der 'rgb) ......
12b0: 20 20 20 20 30 20 32 34 20 33 29 29 0a 20 20 20      0 24 3)).   
12c0: 20 20 20 28 62 67 72 2d 32 34 20 20 20 20 20 28     (bgr-24     (
12d0: 73 64 6c 2d 64 65 66 69 6e 65 2d 70 69 78 65 6c  sdl-define-pixel
12e0: 66 6f 72 6d 61 74 20 28 73 64 6c 2d 70 69 78 65  format (sdl-pixe
12f0: 6c 74 79 70 65 20 27 61 72 72 61 79 2d 75 38 29  ltype 'array-u8)
1300: 20 28 73 64 6c 2d 61 72 72 61 79 6f 72 64 65 72   (sdl-arrayorder
1310: 20 27 62 67 72 29 20 0a 09 09 09 09 09 20 20 20   'bgr) ......   
1320: 20 30 20 32 34 20 33 29 29 0a 20 20 20 20 20 20   0 24 3)).      
1330: 28 72 67 62 2d 38 38 38 20 20 20 20 28 73 64 6c  (rgb-888    (sdl
1340: 2d 64 65 66 69 6e 65 2d 70 69 78 65 6c 66 6f 72  -define-pixelfor
1350: 6d 61 74 20 28 73 64 6c 2d 70 69 78 65 6c 74 79  mat (sdl-pixelty
1360: 70 65 20 27 70 61 63 6b 65 64 2d 33 32 29 20 28  pe 'packed-32) (
1370: 73 64 6c 2d 70 61 63 6b 65 64 6f 72 64 65 72 20  sdl-packedorder 
1380: 27 78 72 67 62 29 20 0a 09 09 09 09 09 20 20 20  'xrgb) ......   
1390: 20 28 73 64 6c 2d 70 61 63 6b 65 64 6c 61 79 6f   (sdl-packedlayo
13a0: 75 74 20 27 24 38 38 38 38 29 20 32 34 20 34 29  ut '$8888) 24 4)
13b0: 29 0a 20 20 20 20 20 20 28 72 67 62 78 2d 38 38  ).      (rgbx-88
13c0: 38 38 20 20 28 73 64 6c 2d 64 65 66 69 6e 65 2d  88  (sdl-define-
13d0: 70 69 78 65 6c 66 6f 72 6d 61 74 20 28 73 64 6c  pixelformat (sdl
13e0: 2d 70 69 78 65 6c 74 79 70 65 20 27 70 61 63 6b  -pixeltype 'pack
13f0: 65 64 2d 33 32 29 20 28 73 64 6c 2d 70 61 63 6b  ed-32) (sdl-pack
1400: 65 64 6f 72 64 65 72 20 27 72 67 62 78 29 20 0a  edorder 'rgbx) .
1410: 09 09 09 09 09 20 20 20 20 28 73 64 6c 2d 70 61  .....    (sdl-pa
1420: 63 6b 65 64 6c 61 79 6f 75 74 20 27 24 38 38 38  ckedlayout '$888
1430: 38 29 20 32 34 20 34 29 29 0a 20 20 20 20 20 20  8) 24 4)).      
1440: 28 72 67 62 2d 38 38 38 20 20 20 20 28 73 64 6c  (rgb-888    (sdl
1450: 2d 64 65 66 69 6e 65 2d 70 69 78 65 6c 66 6f 72  -define-pixelfor
1460: 6d 61 74 20 28 73 64 6c 2d 70 69 78 65 6c 74 79  mat (sdl-pixelty
1470: 70 65 20 27 70 61 63 6b 65 64 2d 33 32 29 20 28  pe 'packed-32) (
1480: 73 64 6c 2d 70 61 63 6b 65 64 6f 72 64 65 72 20  sdl-packedorder 
1490: 27 78 72 67 62 29 20 0a 09 09 09 09 09 20 20 20  'xrgb) ......   
14a0: 20 28 73 64 6c 2d 70 61 63 6b 65 64 6c 61 79 6f   (sdl-packedlayo
14b0: 75 74 20 27 24 38 38 38 38 29 20 32 34 20 34 29  ut '$8888) 24 4)
14c0: 29 0a 20 20 20 20 20 20 28 72 67 62 78 2d 38 38  ).      (rgbx-88
14d0: 38 38 20 20 28 73 64 6c 2d 64 65 66 69 6e 65 2d  88  (sdl-define-
14e0: 70 69 78 65 6c 66 6f 72 6d 61 74 20 28 73 64 6c  pixelformat (sdl
14f0: 2d 70 69 78 65 6c 74 79 70 65 20 27 70 61 63 6b  -pixeltype 'pack
1500: 65 64 2d 33 32 29 20 28 73 64 6c 2d 70 61 63 6b  ed-32) (sdl-pack
1510: 65 64 6f 72 64 65 72 20 27 72 67 62 78 29 20 0a  edorder 'rgbx) .
1520: 09 09 09 09 09 20 20 20 20 28 73 64 6c 2d 70 61  .....    (sdl-pa
1530: 63 6b 65 64 6c 61 79 6f 75 74 20 27 24 38 38 38  ckedlayout '$888
1540: 38 29 20 32 34 20 34 29 29 0a 20 20 20 20 20 20  8) 24 4)).      
1550: 28 62 67 72 2d 38 38 38 20 20 20 20 28 73 64 6c  (bgr-888    (sdl
1560: 2d 64 65 66 69 6e 65 2d 70 69 78 65 6c 66 6f 72  -define-pixelfor
1570: 6d 61 74 20 28 73 64 6c 2d 70 69 78 65 6c 74 79  mat (sdl-pixelty
1580: 70 65 20 27 70 61 63 6b 65 64 2d 33 32 29 20 28  pe 'packed-32) (
1590: 73 64 6c 2d 70 61 63 6b 65 64 6f 72 64 65 72 20  sdl-packedorder 
15a0: 27 78 62 67 72 29 20 0a 09 09 09 09 09 20 20 20  'xbgr) ......   
15b0: 20 28 73 64 6c 2d 70 61 63 6b 65 64 6c 61 79 6f   (sdl-packedlayo
15c0: 75 74 20 27 24 38 38 38 38 29 20 32 34 20 34 29  ut '$8888) 24 4)
15d0: 29 0a 20 20 20 20 20 20 28 62 67 72 78 2d 38 38  ).      (bgrx-88
15e0: 38 38 20 20 28 73 64 6c 2d 64 65 66 69 6e 65 2d  88  (sdl-define-
15f0: 70 69 78 65 6c 66 6f 72 6d 61 74 20 28 73 64 6c  pixelformat (sdl
1600: 2d 70 69 78 65 6c 74 79 70 65 20 27 70 61 63 6b  -pixeltype 'pack
1610: 65 64 2d 33 32 29 20 28 73 64 6c 2d 70 61 63 6b  ed-32) (sdl-pack
1620: 65 64 6f 72 64 65 72 20 27 62 67 72 78 29 20 0a  edorder 'bgrx) .
1630: 09 09 09 09 09 20 20 20 20 28 73 64 6c 2d 70 61  .....    (sdl-pa
1640: 63 6b 65 64 6c 61 79 6f 75 74 20 27 24 38 38 38  ckedlayout '$888
1650: 38 29 20 32 34 20 34 29 29 0a 20 20 20 20 20 20  8) 24 4)).      
1660: 28 61 72 67 62 2d 38 38 38 38 20 20 28 73 64 6c  (argb-8888  (sdl
1670: 2d 64 65 66 69 6e 65 2d 70 69 78 65 6c 66 6f 72  -define-pixelfor
1680: 6d 61 74 20 28 73 64 6c 2d 70 69 78 65 6c 74 79  mat (sdl-pixelty
1690: 70 65 20 27 70 61 63 6b 65 64 2d 33 32 29 20 28  pe 'packed-32) (
16a0: 73 64 6c 2d 70 61 63 6b 65 64 6f 72 64 65 72 20  sdl-packedorder 
16b0: 27 61 72 67 62 29 20 0a 09 09 09 09 09 20 20 20  'argb) ......   
16c0: 20 28 73 64 6c 2d 70 61 63 6b 65 64 6c 61 79 6f   (sdl-packedlayo
16d0: 75 74 20 27 24 38 38 38 38 29 20 33 32 20 34 29  ut '$8888) 32 4)
16e0: 29 0a 20 20 20 20 20 20 28 72 67 62 61 2d 38 38  ).      (rgba-88
16f0: 38 38 20 20 28 73 64 6c 2d 64 65 66 69 6e 65 2d  88  (sdl-define-
1700: 70 69 78 65 6c 66 6f 72 6d 61 74 20 28 73 64 6c  pixelformat (sdl
1710: 2d 70 69 78 65 6c 74 79 70 65 20 27 70 61 63 6b  -pixeltype 'pack
1720: 65 64 2d 33 32 29 20 28 73 64 6c 2d 70 61 63 6b  ed-32) (sdl-pack
1730: 65 64 6f 72 64 65 72 20 27 72 67 62 61 29 20 0a  edorder 'rgba) .
1740: 09 09 09 09 09 20 20 20 20 28 73 64 6c 2d 70 61  .....    (sdl-pa
1750: 63 6b 65 64 6c 61 79 6f 75 74 20 27 24 38 38 38  ckedlayout '$888
1760: 38 29 20 33 32 20 34 29 29 0a 20 20 20 20 20 20  8) 32 4)).      
1770: 28 61 62 67 72 2d 38 38 38 38 20 20 28 73 64 6c  (abgr-8888  (sdl
1780: 2d 64 65 66 69 6e 65 2d 70 69 78 65 6c 66 6f 72  -define-pixelfor
1790: 6d 61 74 20 28 73 64 6c 2d 70 69 78 65 6c 74 79  mat (sdl-pixelty
17a0: 70 65 20 27 70 61 63 6b 65 64 2d 33 32 29 20 28  pe 'packed-32) (
17b0: 73 64 6c 2d 70 61 63 6b 65 64 6f 72 64 65 72 20  sdl-packedorder 
17c0: 27 61 62 67 72 29 20 0a 09 09 09 09 09 20 20 20  'abgr) ......   
17d0: 20 28 73 64 6c 2d 70 61 63 6b 65 64 6c 61 79 6f   (sdl-packedlayo
17e0: 75 74 20 27 24 38 38 38 38 29 20 33 32 20 34 29  ut '$8888) 32 4)
17f0: 29 0a 20 20 20 20 20 20 28 62 67 72 61 2d 38 38  ).      (bgra-88
1800: 38 38 20 20 28 73 64 6c 2d 64 65 66 69 6e 65 2d  88  (sdl-define-
1810: 70 69 78 65 6c 66 6f 72 6d 61 74 20 28 73 64 6c  pixelformat (sdl
1820: 2d 70 69 78 65 6c 74 79 70 65 20 27 70 61 63 6b  -pixeltype 'pack
1830: 65 64 2d 33 32 29 20 28 73 64 6c 2d 70 61 63 6b  ed-32) (sdl-pack
1840: 65 64 6f 72 64 65 72 20 27 62 67 72 61 29 20 0a  edorder 'bgra) .
1850: 09 09 09 09 09 20 20 20 20 28 73 64 6c 2d 70 61  .....    (sdl-pa
1860: 63 6b 65 64 6c 61 79 6f 75 74 20 27 24 38 38 38  ckedlayout '$888
1870: 38 29 20 33 32 20 34 29 29 0a 20 20 20 20 20 20  8) 32 4)).      
1880: 28 61 72 67 62 2d 32 31 30 31 30 31 30 20 20 28  (argb-2101010  (
1890: 73 64 6c 2d 64 65 66 69 6e 65 2d 70 69 78 65 6c  sdl-define-pixel
18a0: 66 6f 72 6d 61 74 20 28 73 64 6c 2d 70 69 78 65  format (sdl-pixe
18b0: 6c 74 79 70 65 20 27 70 61 63 6b 65 64 2d 33 32  ltype 'packed-32
18c0: 29 20 28 73 64 6c 2d 70 61 63 6b 65 64 6f 72 64  ) (sdl-packedord
18d0: 65 72 20 27 61 72 67 62 29 20 0a 09 09 09 09 09  er 'argb) ......
18e0: 20 20 20 20 20 20 20 28 73 64 6c 2d 70 61 63 6b         (sdl-pack
18f0: 65 64 6c 61 79 6f 75 74 20 27 24 32 31 30 31 30  edlayout '$21010
1900: 31 30 29 20 33 32 20 34 29 29 0a 20 20 20 20 20  10) 32 4)).     
1910: 20 0a 20 20 20 20 20 20 28 79 76 31 32 20 20 28   .      (yv12  (
1920: 73 64 6c 2d 66 6f 75 72 63 63 2f 63 68 61 72 20  sdl-fourcc/char 
1930: 23 5c 59 20 23 5c 56 20 23 5c 31 20 23 5c 32 29  #\Y #\V #\1 #\2)
1940: 29 0a 20 20 20 20 20 20 28 69 79 75 76 20 20 28  ).      (iyuv  (
1950: 73 64 6c 2d 66 6f 75 72 63 63 2f 63 68 61 72 20  sdl-fourcc/char 
1960: 23 5c 49 20 23 5c 59 20 23 5c 55 20 23 5c 56 29  #\I #\Y #\U #\V)
1970: 29 0a 20 20 20 20 20 20 28 79 75 79 32 20 20 28  ).      (yuy2  (
1980: 73 64 6c 2d 66 6f 75 72 63 63 2f 63 68 61 72 20  sdl-fourcc/char 
1990: 23 5c 59 20 23 5c 55 20 23 5c 59 20 23 5c 32 29  #\Y #\U #\Y #\2)
19a0: 29 0a 20 20 20 20 20 20 28 75 79 76 79 20 20 28  ).      (uyvy  (
19b0: 73 64 6c 2d 66 6f 75 72 63 63 2f 63 68 61 72 20  sdl-fourcc/char 
19c0: 23 5c 55 20 23 5c 59 20 23 5c 56 20 23 5c 59 29  #\U #\Y #\V #\Y)
19d0: 29 0a 20 20 20 20 20 20 28 79 76 79 75 20 20 28  ).      (yvyu  (
19e0: 73 64 6c 2d 66 6f 75 72 63 63 2f 63 68 61 72 20  sdl-fourcc/char 
19f0: 23 5c 59 20 23 5c 56 20 23 5c 59 20 23 5c 55 29  #\Y #\V #\Y #\U)
1a00: 29 0a 20 20 20 20 20 20 29 29 0a 20 20 0a 20 28  ).      )).  . (
1a10: 64 65 66 69 6e 65 2d 66 74 79 70 65 20 73 64 6c  define-ftype sdl
1a20: 2d 63 6f 6c 6f 72 2d 74 20 0a 20 20 20 28 73 74  -color-t .   (st
1a30: 72 75 63 74 20 28 72 20 75 69 6e 74 38 29 20 28  ruct (r uint8) (
1a40: 67 20 75 69 6e 74 38 29 20 28 62 20 75 69 6e 74  g uint8) (b uint
1a50: 38 29 20 28 61 20 75 69 6e 74 38 29 29 29 0a 20  8) (a uint8))). 
1a60: 28 64 65 66 69 6e 65 2d 66 74 79 70 65 20 73 64  (define-ftype sd
1a70: 6c 2d 70 61 6c 65 74 74 65 2d 74 20 0a 20 20 20  l-palette-t .   
1a80: 28 73 74 72 75 63 74 20 28 6e 63 6f 6c 6f 72 73  (struct (ncolors
1a90: 20 69 6e 74 29 20 28 63 6f 6c 6f 72 73 20 28 2a   int) (colors (*
1aa0: 20 73 64 6c 2d 63 6f 6c 6f 72 2d 74 29 29 20 28   sdl-color-t)) (
1ab0: 76 65 72 73 69 6f 6e 20 75 69 6e 74 33 32 29 20  version uint32) 
1ac0: 28 72 65 66 63 6f 75 6e 74 20 69 6e 74 29 29 29  (refcount int)))
1ad0: 0a 0a 20 28 64 65 66 69 6e 65 2d 66 74 79 70 65  .. (define-ftype
1ae0: 20 73 64 6c 2d 70 69 78 65 6c 2d 66 6f 72 6d 61   sdl-pixel-forma
1af0: 74 2d 74 0a 20 20 20 28 73 74 72 75 63 74 20 0a  t-t.   (struct .
1b00: 20 20 20 20 28 66 6f 72 6d 61 74 20 75 69 6e 74      (format uint
1b10: 33 32 29 0a 20 20 20 20 28 70 61 6c 65 74 74 65  32).    (palette
1b20: 20 28 2a 20 73 64 6c 2d 70 61 6c 65 74 74 65 2d   (* sdl-palette-
1b30: 74 29 29 0a 20 20 20 20 28 62 69 74 73 2d 70 65  t)).    (bits-pe
1b40: 72 2d 70 69 78 65 6c 20 75 69 6e 74 38 29 0a 20  r-pixel uint8). 
1b50: 20 20 20 28 62 79 74 65 73 2d 70 65 72 2d 70 69     (bytes-per-pi
1b60: 78 65 6c 20 75 69 6e 74 38 29 0a 20 20 20 20 28  xel uint8).    (
1b70: 70 61 64 64 69 6e 67 20 28 61 72 72 61 79 20 32  padding (array 2
1b80: 20 75 69 6e 74 38 29 29 0a 20 20 20 20 28 72 2d   uint8)).    (r-
1b90: 6d 61 73 6b 20 75 69 6e 74 33 32 29 0a 20 20 20  mask uint32).   
1ba0: 20 28 67 2d 6d 61 73 6b 20 75 69 6e 74 33 32 29   (g-mask uint32)
1bb0: 0a 20 20 20 20 28 62 2d 6d 61 73 6b 20 75 69 6e  .    (b-mask uin
1bc0: 74 33 32 29 0a 20 20 20 20 28 61 2d 6d 61 73 6b  t32).    (a-mask
1bd0: 20 75 69 6e 74 33 32 29 0a 20 20 20 20 28 72 2d   uint32).    (r-
1be0: 6c 6f 73 73 20 75 69 6e 74 38 29 0a 20 20 20 20  loss uint8).    
1bf0: 28 67 2d 6c 6f 73 73 20 75 69 6e 74 38 29 0a 20  (g-loss uint8). 
1c00: 20 20 20 28 62 2d 6c 6f 73 73 20 75 69 6e 74 38     (b-loss uint8
1c10: 29 0a 20 20 20 20 28 61 2d 6c 6f 73 73 20 75 69  ).    (a-loss ui
1c20: 6e 74 38 29 0a 20 20 20 20 28 72 2d 73 68 69 66  nt8).    (r-shif
1c30: 74 20 75 69 6e 74 38 29 0a 20 20 20 20 28 67 2d  t uint8).    (g-
1c40: 73 68 69 66 74 20 75 69 6e 74 38 29 0a 20 20 20  shift uint8).   
1c50: 20 28 62 2d 73 68 69 66 74 20 75 69 6e 74 38 29   (b-shift uint8)
1c60: 0a 20 20 20 20 28 61 2d 73 68 69 66 74 20 75 69  .    (a-shift ui
1c70: 6e 74 38 29 0a 20 20 20 20 28 72 65 66 63 6f 75  nt8).    (refcou
1c80: 6e 74 20 69 6e 74 29 0a 20 20 20 20 28 6e 65 78  nt int).    (nex
1c90: 74 20 28 2a 20 73 64 6c 2d 70 69 78 65 6c 2d 66  t (* sdl-pixel-f
1ca0: 6f 72 6d 61 74 2d 74 29 29 29 29 0a 0a 0a        ormat-t))))...