749N/ACopyright (c) 1990, 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 * This widget is a trivial clipping widget. It is typically used with a 749N/A * panner or scrollbar to navigate. 749N/A * resources for the porthole 749N/A * widget class methods used below 749N/A /* class_name */ "Porthole",
749N/A {
/* composite fields */ 749N/A {
/* porthole fields */ 749N/A/***************************************************************************** 749N/A *****************************************************************************/ 749N/A * Find the managed child on which we should operate. Ignore multiple 749N/A * Make sure that the child is at least as large as the porthole; there 749N/A * Make sure that the child is still on the screen. Note that this must 749N/A * be done *after* the size computation so that we know where to put it. 749N/A if (*
xp > 0) *
xp = 0;
/* keep at upper left corner */ 749N/A/***************************************************************************** 749N/A * Porthole Widget Class Methods * 749N/A *****************************************************************************/ 749N/A * If we have a child, we need to make sure that it is at least as big 749N/A * as we are and in the right place. 749N/A * If we failed on anything, simply return without touching widget 749N/A * If not just doing a query, update widget and send report. Note that 749N/A * we will often set fields that weren't requested because we want to keep