Next: , Previous: Excuses, Up: Top   [Contents][Index]


Appendix A Stashes

There are 24 stashes (14 enums, 10 flags).

Distribution of symbols count:

  2     6 ==============================       min: 2
  3     5 =========================            max: 231
  4     1 =====                               mean: 15.208
  5     4 ====================              median: 4.5
  7     2 ==========
  8     1 =====
 11     1 =====
 15     1 =====
 17     1 =====
 18     1 =====
231     1 =====

Distribution of symbol lengths:

  1    26 =============                        min: 1
  2    19 ==========                           max: 21
  3    23 ============                        mean: 6.6521
  4    38 ===================               median: 7.0
  5    28 ==============
  6    31 ================
  7    28 ==============
  8   103 ====================================================
  9    19 ==========
 10    15 ========
 11     4 ==
 12    12 ======
 13     4 ==
 14     2 =
 15     8 ====
 16     1 =
 17     3 ==
 21     1 =
2 enums: activity-change
lost             gained
2 enums: alpha-enum
SDL_ALPHA_TRANSPARENT  SDL_ALPHA_OPAQUE
2 enums: alpha-limit
transparent      opaque
3 flags: application-state
mousefocus       inputfocus       active
2 enums: cd-track-type
audio            data
5 enums: cdrom-state
error            stopped          paused
tray-empty       playing
3 enums: event-action
SDL_ADDEVENT     SDL_PEEKEVENT    SDL_GETEVENT
18 flags: event-mask

Note that these are a proper superset of those in the event-type enums, below.

active             mouse-button-up    joy-button-up
key-down           mouse              joy
key-up             joy-axis-motion    quit
key                joy-ball-motion    sys-wm
mouse-motion       joy-hat-motion     video-resize
mouse-button-down  joy-button-down    video-expose
3 enums: event-state
SDL_QUERY        SDL_IGNORE       SDL_ENABLE
15 enums: event-type

Note that these are a proper subset of those in the event-mask flags, above.

active             mouse-button-up    joy-button-up
key-down           joy-axis-motion    quit
key-up             joy-ball-motion    sys-wm
mouse-motion       joy-hat-motion     video-resize
mouse-button-down  joy-button-down    video-expose
3 enums: fading-status
no               out              in
4 enums: font-rotation
none               upside-down
clockwise          counter-clockwise
5 flags: font-style
normal           italic           strikethrough
bold             underline
3 enums: grab-mode
query            off              on
8 flags: init
timer            cdrom            no-parachute
audio            joystick         event-thread
video            everything
5 flags: joystick-hat-position
centered         right            left
up               down
11 flags: keyboard-modifier
L-shift          L-alt            num
R-shift          R-alt            caps
L-ctrl           L-meta           mode
R-ctrl           R-meta
2 enums: keyboard/button-state
released         pressed
231 enums: keysym

Note that digits begin with D- so that they are unambiguously (to read) symbols.

a b c d e f g h i j k l m n o p q r s t u v w x y z
D-0  D-9
ampersand   backquote   capslock   delete   end
asterisk    backslash   caret      dollar   equals
at          backspace   clear               escape
            break       colon               euro
                        comma               exclaim
                        compose
f1  f15

hash   insert
help
home
kp-0  kp-9

kp-plus         kp-equals
kp-minus        kp-period
kp-multiply     kp-enter
kp-divide
left  right  up  down

L-alt  L-ctrl  L-meta  L-shift  L-super
R-alt  R-ctrl  R-meta  R-shift  R-super
L-bracket  R-bracket
L-paren    R-paren
less  greater

menu      pagedown   question   scrollock   tab
minus     pageup     quote      semicolon
mode      pause      quotedbl   slash       underscore
numlock   period                space       undo
          plus       return     sysreq
          power
          print
world-0  world-95
7 flags: mouse-button
left             wheel-up         x1
middle           wheel-down       x2
right
7 enums: mouse-button
left             wheel-up         x1
middle           wheel-down       x2
right
5 flags: overlay

Although these should be enums, these are putative flags due to a limitation in the implementation2. Procs that use them enforce enums-ish usage, anyway; a list of symbols results in an error.

YV12             YVYU             UYVY
YUY2             IYUV
2 flags: palette
logical          physical
17 flags: video
sw-surface       no-frame         prealloc
hw-surface       hw-accel         any-format
opengl           src-colorkey     hw-palette
async-blit       rle-accel-ok     doublebuf
opengl-blit      rle-accel        fullscreen
resizable        src-alpha

Footnotes

(2)

For speed, we use immediate integers (aka fixnums) for enums, but those are not wide enough on a 32-bit system to hold the overlay values. Probably this should be rectified prior to release as it represents a semi-regression. OTOH, it’s not like anyone is actually using create-yuv-overlay anyway…


Next: , Previous: Excuses, Up: Top   [Contents][Index]