749N/ACopyright (c) 1989, 1994 X Consortium 749N/APermission is hereby granted, free of charge, to any person obtaining a copy 749N/Aof this software and associated documentation files (the "Software"), to deal 749N/Ain the Software without restriction, including without limitation the rights 749N/Ato use, copy, modify, merge, publish, distribute, sublicense, and/or sell 749N/Acopies of the Software, and to permit persons to whom the Software is 749N/Afurnished to do so, subject to the following conditions: 749N/AThe above copyright notice and this permission notice shall be included in 749N/Aall copies or substantial portions of the Software. 749N/ATHE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 749N/AIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 749N/AFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 749N/AX CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN 749N/AAN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 749N/ACONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 749N/AExcept as contained in this notice, the name of the X Consortium shall not be 749N/Aused in advertising or otherwise to promote the sale, use or other dealings 749N/Ain this Software without prior written authorization from the X Consortium. 749N/A * Author: Jim Fulton, MIT X Consortium 749N/A "<Btn1Down>: start() \n\ 749N/A <Btn1Motion>: move() \n\ 749N/A <Btn1Up>: notify() stop() \n\ 749N/A <Btn2Down>: abort() \n\ 749N/A :<Key>KP_Enter: set(rubberband,toggle) \n\ 749N/A <Key>space: page(+1p,+1p) \n\ 749N/A <Key>Delete: page(-1p,-1p) \n\ 749N/A :<Key>KP_Delete: page(-1p,-1p) \n\ 749N/A <Key>BackSpace: page(-1p,-1p) \n\ 749N/A <Key>Left: page(-.5p,+0) \n\ 749N/A :<Key>KP_Left: page(-.5p,+0) \n\ 749N/A <Key>Right: page(+.5p,+0) \n\ 749N/A :<Key>KP_Right: page(+.5p,+0) \n\ 749N/A <Key>Up: page(+0,-.5p) \n\ 749N/A :<Key>KP_Up: page(+0,-.5p) \n\ 749N/A <Key>Down: page(+0,+.5p) \n\ 749N/A :<Key>KP_Down: page(+0,+.5p) \n\ 749N/A <Key>Home: page(0,0) \n\ 749N/A :<Key>KP_Home: page(0,0)";
749N/A * resources for the panner 749N/A * widget class methods used below 749N/A /* class_name */ "Panner",
749N/A/***************************************************************************** 749N/A * panner utility routines * 749N/A *****************************************************************************/ 749N/A * note that positions are already normalized (i.e. internal_border 749N/A * has been subtracted out) 749N/A * syntax: spaces [+-] number spaces [pc\0] spaces 749N/A if (*s ==
'+' || *s ==
'-') {
/* deal with signs */ 749N/A if (!*s) {
/* if null then return nothing */ 749N/A /* skip over numbers */ 749N/A if (*s) {
/* if units */ 749N/A/***************************************************************************** 749N/A * panner class methods * 749N/A *****************************************************************************/ 749N/A/***************************************************************************** 749N/A * panner action procs * 749N/A *****************************************************************************/ 749N/A }
else {
/* else just do it */