On Thu, 15 Jan 2009 11:38:26 -0800, Stuart Overton  
<[email protected]> wrote:

>> :key-down-event (:key k :mod m)

":mod m" is now just the integer bitmask of the modifier keys pressed, if  
any. To get the actual modifier(s) I have added three new functions.

  - sdl:MODIFIER=
  - sdl:MODIFIER-P
  - sdl:MODIFIER-IN

modifier= (mod key)
   "Returns `MOD` if all of the modifiers in `MOD` exactly match `KEY`, or
returns `NIL` otherwise. `MOD` may be a list of modifiers, or a single  
modifier."
e.g.
(:key-down-event (:key k :mod m)
   (sdl:modifier= '(:SDL-KEY-MOD-LSHIFT :SDL-KEY-MOD-RSHIFT) m))

modifier-p (key &optional (mods (cffi:foreign-enum-keyword-list  
'sdl-cffi::sdl-mod))
   "Returns a list of the modifiers in `KEY` that match `MODS`,
or `NIL` if no modifiers match. By default, `MODS` is the list of valid  
modifiers."

e.g.
(:key-down-event (:key k :mod m)
   (sdl:modifier- m))

modifier-in (mod key)
   "Returns `MOD` if one or more of the modifiers in `MOD` is in `KEY`,
or returns `NIL otherwise. `MOD` may be a list of modifiers, or a single  
modifier."

e.g.
(:key-down-event (:key k :mod m)
   (sdl:modifier-in '(:SDL-KEY-MOD-LSHIFT :SDL-KEY-MOD-RSHIFT) m))


Let me know if these do not do what you would expect.

>
> One other minor thing...
> Shouldn't the documentation for "draw-surface-at" and
> "draw-surface-at-*" mention that the
> source surface's position is changed as a side effect? It's wasn't
> obvious (at least not to me) that
> that's what would happen.

Thanks. I have updated the relevant documentation strings.

- Luke
_______________________________________________
application-builder mailing list
[email protected]
http://www.lispniks.com/mailman/listinfo/application-builder

Reply via email to