;; TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
;; SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-;; $Id: gdk.lisp,v 1.20 2006-02-08 22:20:22 espen Exp $
+;; $Id: gdk.lisp,v 1.22 2006-02-26 15:09:44 espen Exp $
(in-package "GDK")
;;; Cursor
-(defmethod initialize-instance ((cursor cursor) &key type mask fg bg
- (x 0) (y 0) (display (display-get-default)))
- (setf
- (foreign-location cursor)
- (etypecase type
- (keyword (%cursor-new-for-display display type))
- (pixbuf (%cursor-new-from-pixbuf display type x y))
- (pixmap (%cursor-new-from-pixmap type mask fg bg x y)))))
+(defmethod allocate-foreign ((cursor cursor) &key type mask fg bg
+ (x 0) (y 0) (display (display-get-default)))
+ (etypecase type
+ (keyword (%cursor-new-for-display display type))
+ (pixbuf (%cursor-new-from-pixbuf display type x y))
+ (pixmap (%cursor-new-from-pixmap type mask fg bg x y))))
(defbinding %cursor-new-for-display () pointer
(defbinding keyval-name () string
(keyval unsigned-int))
-(defbinding keyval-from-name () unsigned-int
+(defbinding %keyval-from-name () unsigned-int
(name string))
+(defun keyval-from-name (name)
+ "Returns the keysym value for the given key name or NIL if it is not a valid name."
+ (let ((keyval (%keyval-from-name name)))
+ (unless (zerop keyval)
+ keyval)))
+
(defbinding keyval-to-upper () unsigned-int
(keyval unsigned-int))