Module: vanilla-duim Synopsis: Vanilla back-end Author: Scott McKay, Andy Armstrong Copyright: Original Code is Copyright (c) 1995-2004 Functional Objects, Inc. All rights reserved. License: Functional Objects Library Public License Version 1.0 Dual-license: GNU Lesser General Public License Warranty: Distributed WITHOUT WARRANTY OF ANY KIND /// Vanilla port class define sealed class () end class ; define method initialize (_port :: , #key) => () next-method(); end method initialize; define sideways method class-for-make-port (type == #"vanilla", #rest initargs, #key) => (class :: , initargs :: false-or()) ignore(initargs); //--- You might want to return a new set of initargs here... values(, #f) end method class-for-make-port; // #"local" is the 'default' port type used if none is specified define sideways method class-for-make-port (type == #"local", #rest initargs, #key) => (class :: , initargs :: false-or()) apply(class-for-make-port, #"vanilla", initargs) end method class-for-make-port; define method port-type (_port :: ) => (type :: ) #"vanilla" end method port-type; define method port-name (_port :: ) => (name :: false-or()) ignoring("port-name"); #f end method port-name; /// Beeping, etc define method force-display (_port :: ) => () ignoring("force-display") end method force-display; define method synchronize-display (_port :: ) => () ignoring("synchronize-display") end method synchronize-display; define method beep (_port :: ) => () ignoring("beep") end method beep; /// Pointers define method do-pointer-position (_port :: , pointer :: , sheet :: ) => (x :: , y :: ) //--- Get pointer position w.r.t. sheet not-yet-implemented("do-pointer-position") end method do-pointer-position; define method do-pointer-position (_port :: , pointer :: , sheet :: ) => (x :: , y :: ) //--- Get pointer position w.r.t. the display not-yet-implemented("do-pointer-position") end method do-pointer-position; define method do-set-pointer-position (_port :: , pointer :: , sheet :: , x :: , y :: ) => () //--- Set pointer position w.r.t. sheet ignoring("do-set-pointer-position") end method do-set-pointer-position; define method do-set-pointer-position (_port :: , pointer :: , sheet :: , x :: , y :: ) => () //--- Set pointer position w.r.t. the display ignoring("do-set-pointer-position") end method do-set-pointer-position; define method do-set-pointer-cursor (_port :: , pointer :: , cursor :: ) => () //--- Set the pointer cursor ignoring("do-pointer-position") end method do-set-pointer-cursor; define method do-set-sheet-cursor (_port :: , sheet :: , cursor :: ) => () //--- Set the cursor for the sheet ignoring("do-pointer-position") end method do-set-sheet-cursor; //--- Define the keysyms for the port /// Input focus handling define sealed method note-focus-in (_port :: , sheet :: ) => () next-method(); ignoring("note-focus-in") end method note-focus-in; define sealed method note-focus-out (_port :: , sheet :: ) => () next-method(); ignoring("note-focus-out") end method note-focus-out;