Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- defgeneric optional-arg-form (input &key gensym-name))
- (defmethod optional-arg-form ((input (eql nil)) &key (gensym-name "G"))
- `(,(gensym gensym-name) t))
- (defmethod optional-arg-form ((input symbol) &key (gensym-name "G"))
- `(,(gensym gensym-name) (eql ,input)))
- (defmethod optional-arg-form ((input list) &key (gensym-name "G"))
- (declare (ignore gensym-name))
- input)
- (defmacro define-key-down-event ((key &optional state &rest keys) &body body)
- `(defmethod handle-key-down-event
- (,(optional-arg-form key :gensym-name "KEY-")
- ,(optional-arg-form state :gensym-name "STATE-") &key ,@keys)
- ,@body))
Add Comment
Please, Sign In to add comment