; ; repeater.sh ; ; Handles things that should auto-repeat ; ; © 1994-1998 Straylight ; ;----- Licensing note ------------------------------------------------------- ; ; This file is part of Straylight's Sapphire library. ; ; Sapphire is free software; you can redistribute it and/or modify ; it under the terms of the GNU General Public License as published by ; the Free Software Foundation; either version 2, or (at your option) ; any later version. ; ; Sapphire is distributed in the hope that it will be useful, ; but WITHOUT ANY WARRANTY; without even the implied warranty of ; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ; GNU General Public License for more details. ; ; You should have received a copy of the GNU General Public License ; along with Sapphire. If not, write to the Free Software Foundation, ; 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. ;----- Overview ------------------------------------------------------------- ; ; Functions provided: ; ; repeater ; rpt_end [ :LNOT::DEF:repeater__dfn GBLL repeater__dfn ; --- repeater --- ; ; On entry: R0 == pointer to routine to call ; R1 == R10 value to pass to routine ; R2 == R12 value to pass to routine ; ; On exit: -- ; ; Use: Calls a routine (a) immediately, (b) after the configured ; keyboard delay rate and (c) repeatedly after the configured ; keyboard repeat rate. Calls stop when the user stops ; pressing the mouse button. ; ; The routine is called with R0 containing either the number ; of missed calls since the last one (normally this is 1) -- ; this is intended to be used to implement a kind of buffering ; of repeats if the operation being performed is a lengthy one ; -- and with 0 to indicate that the operation is now ; completed. IMPORT repeater ; --- rpt_end --- ; ; On entry: -- ; ; On exit: -- ; ; Use: Ends a repeater before the drag is released. No final ; 0 is sent to the handler. IMPORT rpt_end ] ;----- That's all, folks ---------------------------------------------------- END