home *** CD-ROM | disk | FTP | other *** search
- ;; -*- package: NotInROM -*-
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
- ;; +Menus.Lisp
- ;;
- ;; Copyright ⌐ 1992 Northwestern University Institute for the Learning Sciences
- ;; All Rights Reserved
- ;;
- ;; author: Michael S. Engber
- ;;
- ;; Provides missing Menu Manager Routines
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-
- (eval-when (:compile-toplevel :load-toplevel :execute)
- (require :NotInROM-u)
- (in-package :NotInROM))
-
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-
- ;; - the trap underlying _GetItmStyle expects pointer to a word & puts the
- ;; style info into its low byte
- ;; - chStyle points directly to the style info. (see IM V p. 247)
- ;; - so we have to allocate our own storage to pass into _GetItmStyle and
- ;; copy the result to chStyle
-
- (deftrap-NotInROM _GetItemStyle :none ((theMenu :MenuHandle) (item :signed-integer) (chStyle (:pointer :Style)))
- (rlet ((s :word))
- (stack-trap #xA941 :ptr theMenu :word item :ptr s)
- (%put-byte chStyle (%get-unsigned-byte s 1))))
-
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-