The following is a listing of available functions in MacSCM.  Sorry this
list couldn't be more detailed, but I just couldn't afford to put any more
time into this project.	 Since I've put MacSCM into the public domain, I'm
hoping that other people will contribute to the cause and add more
Macintosh functions and better documentation to the package.

It would also be nice if someone could build a package for building SCM
applications that is windowing-system independent.  That is, a package that
would have high-level constructions in its API and would then call
appropriate functions if running on a Mac (using MacSCM), a PC, or UNIX
(x-scm).  I have heard of such things for C, but not yet for Scheme (or SCM
in particular).

If you wish to have more details on the behavior of a particular function,
check out Inside Macintosh (by Apple, published by Addison Wesley)

-- Kevin Scott Kunzelman
   (kkunzelm@cam.cornell.edu)
   April, 1994.

----------------------------------------------------------------------------
SCM function					    Toolbox Function
----------------------------------------------------------------------------

--- GENERAL FUNCTIONS ---

(mac:mac-scm-version) -> string
(mac:console-hide) -> unspec			    chide(stdin)
(mac:console-show) -> unspec			    cshow(stdin)
(mac:rand-seed int) -> unspec
(mac:random) -> int				    Random
(mac:tick-count) -> int				    TickCount

--- EVENT / MOUSE FUNCTIONS ---

(mac:get-next-evt) -> evt			    GetNextEvent
(mac:evt-avail) -> evt				    EventAvail
(mac:evt-get-what evt) -> int
(mac:evt-get-msg-int evt) -> int
(mac:evt-get-msg-wind evt) -> wind
(mac:evt-get-when evt) -> int
(mac:evt-get-where evt) -> pt
(mac:evt-get-mods evt) -> int
(mac:evt-get-active evt) -> bool
(mac:button?) -> bool				    Button
(mac:still-down?) -> bool			    StillDown
(mac:wait-mouse-up?) -> bool			    WaitMouseUp
(mac:get-mouse) -> pt				    GetMouse
(mac:system-click evt wind) -> unspec		    SystemClick

--- CONTROL FUNCTIONS ---

(mac:ctrl-new wind rect visible value min max procID) -> unspec
(mac:ctrl-set-title ctrl string) -> unspec	    SetCTitle
(mac:ctrl-set-value ctrl int) -> unspec		    SetCtlValue
(mac:ctrl-set-min ctrl int) -> unspec		    SetCtlMin
(mac:ctrl-set-max ctrl int) -> unspec		    SetCtlMax
(mac:ctrl-set-ref ctrl scm-obj) -> unspec
(mac:ctrl-get-title ctrl) -> string		    GetCTitle
(mac:ctrl-get-value ctrl) -> int		    GetCtlValue
(mac:ctrl-get-min ctrl) -> int			    GetCtlMin
(mac:ctrl-get-max ctrl) -> int			    GetCtlMax
(mac:ctrl-get-ref ctrl) -> scm-obj
(mac:ctrl-get-var ctrl) -> int			    GetCVariant
(mac:ctrl-dispose ctrl) -> unspec		    DisposeControl
(mac:ctrl-hide ctrl) -> unspec			    HideControl
(mac:ctrl-show ctrl) -> unspec			    ShowControl
(mac:ctrl-draw ctrl) -> unspec			    Draw1Control
(mac:ctrl-hilite ctrl int) -> unspec		    HiliteControl
(mac:ctrl-move ctrl n1 n2) -> unspec		    MoveControl
(mac:ctrl-size ctrl n1 n2) -> unspec		    SizeControl
(mac:ctrl-drag ctrl pt rect1 rect2 int) -> unspec   DragControl
(mac:ctrl-test ctrl pt) -> int			    TestControl
(mac:ctrl-track ctrl pt) -> int			    TrkControl
(mac:ctrl-track-2 ctrl pt) -> int		    TrkControl2
(mac:wind-find-ctrl wind pt) -> ctrl
(mac:wind-find-ctrlp wind pt) -> int
(mac:wind-kill-ctrls wind) -> unspec		    KillControls
(mac:wind-draw-ctrls wind) -> unspec		    DrawControls

--- FONT FUNCTIONS ---

(mac:init-fonts) -> unspec			    InitFonts
(mac:get-font-name int) -> string		    GetFontName
(mac:get-font-num string) -> int) -> unspec	    GetFNum
(mac:real-font int1 int2) -> bool		    RealFont
(mac:set-font-lock pt1 pt2) -> bool) -> unspec	    IsOutline
(mac:set-font-scale-disable bool) -> unspec	    SetFontLock
(mac:set-fract-enable bool) -> unspec		    SetFScaleDisable
(mac:is-outline? bool) -> unspec		    SetFractEnable
(mac:set-outline-preferred bool) -> unspec	    SetOutlinePreferred
(mac:get-outline-preferred?) -> bool		    GetOutlinePreferred
(mac:set-preserve-glyph bool) -> unspec		    SetPreserveGlyph
(mac:get-preserve-glyph) -> bool		    GetPreserveGlyph

--- MENU FUNCTIONS ---

(mac:init-menus) -> unspec			    InitMenus
(mac:init-proc-menu int) -> unspec		    InitProcMenu
(mac:set-menu-flash int) -> unspec		    SetMenuFlash
(mac:menu-bar-get) -> mbar			    GetMenuBar
(mac:menu-bar-set mbar) -> unspec		    SetMenuBar
(mac:menu-bar-draw) -> unspec			    DrawMenuBar
(mac:menu-bar-inval) -> unspec			    InvalMenuBar
(mac:menu-bar-clear) -> unspec			    ClearMenuBar
(mac:menu-bar-flash int) -> unspec		    FlashMenuBar
(mac:get-menu int) -> menu			    GetMenu
(mac:get-menu-handle int) -> menu		    GetMHandle
(mac:menu-new int string) -> menu		    NewMenu
(mac:menu-choice) -> int			    MenuChoice
(mac:menu-key int) -> int			    MenuKey
(mac:menu-hilite int) -> unspec			    HiliteMenu
(mac:menu-dispose menu) -> unspec		    DisposeMenu
(mac:menu-insert menu int) -> unspec		    InsertMenu
(mac:menu-delete int) -> unspec			    DeleteMenu
(mac:menu-append menu string) -> unspec		    AppendMenu
(mac:menu-get-title menu) -> string
(mac:menu-select pt) -> int			    MenuSelect
(mac:menu-ins-res-drvr menu int) -> unspec
(mac:menu-ins-res-font menu int) -> unspec
(mac:menu-ins-res-fond menu int) -> unspec
(mac:menu-app-res-drvr menu) -> unspec
(mac:menu-app-res-font menu) -> unspec
(mac:menu-app-res-fond menu) -> unspec
(mac:menu-calc-size menu) -> unspec		    CalcMenuSize
(mac:menu-count-items menu) -> int) -> unspec	    CountMItems
(mac:pop-up-menu-select menu int1 int2 int3) -> int PopUpMenuSelect
(mac:menu-open-desk-acc menu int) -> int

(mac:menu-item-disable menu int) -> unspec	    DisableItem
(mac:menu-item-enable menu int) -> unspec	    EnableItem
(mac:menu-item-delete menu int) -> unspec	    DelMenuItem
(mac:menu-item-insert menu string int) -> unspec    InsMenuItem
(mac:menu-item-set menu int string) -> unspec	    SetItem
(mac:menu-item-get menu int) -> string		    GetItem
(mac:menu-item-check menu int bool) -> unspec	    CheckItem
(mac:menu-item-set-mark menu x y) -> unspec	    SetItemMark
(mac:menu-item-set-icon menu x y) -> unspec	    SetItemIcon
(mac:menu-item-set-style menu x y) -> unspec	    SetItemStyle
(mac:menu-item-set-cmd menu x y) -> unspec	    SetItemCmd
(mac:menu-item-get-mark menu int) -> int	    GetItemMark
(mac:menu-item-get-icon menu int) -> int	    GetItemIcon
(mac:menu-item-get-style menu int) -> int	    GetItemStyle
(mac:menu-item-get-cmd menu int) -> int		    GetItemCmd

--- POINT FUNCTIONS ---

(mac:pt-new h v) -> pt
(mac:pt-get-h pt) -> int
(mac:pt-get-v pt) -> int
(mac:pt-equal? pt1 pt2) -> bool			    EqualPt
(mac:pt-in-rect? pt rect) -> bool		    PtInRect
(mac:global-to-local pt) -> pt) -> unspec	    GlobalToLocal
(mac:local-to-global pt) -> pt) -> unspec	    LocalToGlobal
(mac:rect-new left top right bottom) -> rect
(mac:rect-get-left rect) -> int
(mac:rect-get-top rect) -> int
(mac:rect-get-right rect) -> int
(mac:rect-get-bottom rect) -> int
(mac:rect-equal? rect1 rect2) -> bool
(mac:rect-empty? rect) -> bool
(mac:rect-sect rect1 rect2) -> rect/#f
(mac:rect-union rect1 rect2) -> unspec
(mac:rect-inset rect x y) -> rect		    InsetRect
(mac:rect-offset rect x y) -> rect		    OffsetRect
(mac:rect-erase rect) -> unspec			    EraseRect
(mac:rect-frame rect) -> unspec			    FrameRect
(mac:rect-invert rect) -> unspec		    InvertRect
(mac:rect-paint rect) -> unspec			    PaintRect
(mac:oval-erase rect) -> unspec			    EraseOval
(mac:oval-frame rect) -> unspec			    FrameOval
(mac:oval-invert rect) -> unspec		    InvertOval
(mac:oval-paint rect) -> unspec			    PaintOval
(mac:round-rect-erase rect x y) -> unspec	    EraseRoundRect
(mac:round-rect-frame rect x y) -> unspec	    FrameRoundRect
(mac:round-rect-invert rect x y) -> unspec	    InvertRoundRect
(mac:round-rect-paint rect x y) -> unspec	    PaintRoundRect
(mac:arc-erase rect x y) -> unspec		    EraseArc
(mac:arc-frame rect x y) -> unspec		    FrameArc
(mac:arc-invert rect x y) -> unspec		    InvertArc
(mac:arc-paint rect x y) -> unspec		    PaintArc
(mac:text-font int) -> unspec			    TextFont
(mac:text-face int) -> unspec			    TextFace
(mac:text-size int) -> unspec			    TextSize
(mac:text-mode int) -> unspec			    TextMode
(mac:line-to x y) -> unspec			    LineTo
(mac:line x y) -> unspec			    Line
(mac:move-to x y) -> unspec			    MoveTo
(mac:move x y) -> unspec			    Move
(mac:draw-char int) -> unspec			    DrawChar
(mac:draw-string string) -> unspec		    DrawString
(mac:char-width int) -> int			    CharWidth
(mac:string-width string) -> int		    StringWidth

--- TEXT EDIT FUNCTIONS ---

(mac:te-new rect1 rect2) -> te) -> unspec	    TENew
(mac:te-dispose te) -> unspec			    TEDispose
(mac:te-idle te) -> unspec			    TEIdle
(mac:te-activate te) -> unspec			    TEActivate
(mac:te-deactivate te) -> unspec		    TEDeactivate
(mac:te-cut te) -> unspec			    TECut
(mac:te-copy te) -> unspec			    TECopy
(mac:te-paste te) -> unspec			    TEPaste
(mac:te-delete te) -> unspec			    TEDelete
(mac:te-insert te string) -> unspec
(mac:te-select-view te) -> unspec		    TESelView
(mac:te-calc-text te) -> unspec			    TECalText
(mac:te-auto-view te bool) -> unspec
(mac:te-click te pt bool) -> unspec
(mac:te-key te int) -> unspec
(mac:te-update te rect) -> unspec
(mac:te-scroll te x y) -> unspec
(mac:te-pin-scroll te x y) -> unspec
(mac:te-find-offset te pt) -> int
(mac:te-find-pt te int) -> pt
(mac:text-box string rect int:just) -> unspec
(mac:te-set-dest-rect te rect) -> unspec
(mac:te-set-view-rect te rect) -> unspec
(mac:te-set-text te string) -> unspec
(mac:te-set-just te int) -> unspec
(mac:te-set-select te x y) -> unspec
(mac:te-set-font te int) -> unspec
(mac:te-set-face te int) -> unspec
(mac:te-set-mode te int) -> unspec
(mac:te-set-size te int) -> unspec
(mac:te-set-line-height te int) -> unspec
(mac:te-set-font-ascent te int) -> unspec
(mac:te-get-dest-rect te rect) -> unspec
(mac:te-get-view-rect te rect) -> unspec
(mac:te-get-text te) -> string
(mac:te-get-just te) -> int
(mac:te-get-select-pt te) -> pt
(mac:te-get-select-start te) -> int
(mac:te-get-select-end te) -> int
(mac:te-get-font te) -> int
(mac:te-get-face te) -> int
(mac:te-get-mode te) -> int
(mac:te-get-size te) -> int
(mac:te-get-line-height te) -> int
(mac:te-get-font-ascent te) -> int
(mac:te-get-length te) -> int
(mac:te-get-lines te) -> int

--- WINDOW FUNCTIONS ---

(mac:wind-new rect title visible procID goaway) -> unspec
(mac:wind-set-title wind string) -> unspec	SetWTitle
(mac:wind-get-title wind) -> string		GetWTitle
(mac:wind-set-ref wind scm-obj) -> unspec
(mac:wind-get-ref wind) -> scm-obj
(mac:wind-get-rect wind) -> rect
(mac:wind-get-back-pattern wind) -> pat
(mac:wind-get-fill-pattern wind) -> pat
(mac:wind-get-pen-location wind) -> pt
(mac:wind-get-pen-size wind) -> pt
(mac:wind-get-pen-mode wind) -> int
(mac:wind-get-pen-pattern wind) -> pat
(mac:wind-get-pen-visible wind) -> int
(mac:wind-get-font wind) -> int
(mac:wind-get-face wind) -> int
(mac:wind-get-mode wind) -> int
(mac:wind-get-size wind) -> int
(mac:wind-get-fore-color wind) -> int
(mac:wind-get-back-color wind) -> int
(mac:wind-get-kind wind) -> int
(mac:wind-get-visible wind) -> bool
(mac:wind-get-hilited wind) -> bool
(mac:wind-get-go-away wind) -> bool
(mac:wind-get-spare wind) -> bool
(mac:wind-close wind) -> unspec			CloseWindow
(mac:wind-dispose wind) -> unspec		DisposeWindow
(mac:wind-select wind) -> unspec		SelectWindow
(mac:wind-hide wind) -> unspec			HideWindow
(mac:wind-show wind) -> unspec			ShowWindow
(mac:wind-drag wind pt) -> unspec
(mac:wind-begin-update wind) -> unspec		BeginUpdate
(mac:wind-end-update wind) -> unspec		EndUpdate
(mac:wind-track-go-away wind pt) -> bool
(mac:wind-track-box wind pt int:part) -> bool
(mac:set-port wind) -> unspec			SetPort
(mac:get-port) -> wind				GetPort
(mac:find-wind pt) -> wind/#f
(mac:find-wind-part pt) -> int
(mac:show-hide wind bool) -> unspec		ShowHide
(mac:wind-hilite wind bool) -> unspec		HiliteWindow
(mac:bring-to-front wind) -> unspec		BringToFront
(mac:send-behind wind wind-behind) -> unspec	SendBehind
(mac:front-wind) -> wind			FrontWindow
(mac:draw-grow-icon wind) -> unspec		DrawGrowIcon
(mac:wind-move wind x y bool) -> unspec		MoveWindow
(mac:wind-size wind x y bool) -> unspec		SizeWindow
(mac:wind-zoom wind int bool) -> unspec		ZoomWindow
