Annotation of researchv9/X11/src/X.V11R1/lib/oldXtk/Geometry.c, revision 1.1.1.1

1.1       root        1: /* $Header: Geometry.c,v 1.1 87/09/11 07:57:54 toddb Exp $ */
                      2: #ifndef lint
                      3: static char *sccsid = "@(#)Geometry.c  1.7     2/25/87";
                      4: #endif lint
                      5: 
                      6: /*
                      7:  * Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts.
                      8:  * 
                      9:  *                         All Rights Reserved
                     10:  * 
                     11:  * Permission to use, copy, modify, and distribute this software and its 
                     12:  * documentation for any purpose and without fee is hereby granted, 
                     13:  * provided that the above copyright notice appear in all copies and that
                     14:  * both that copyright notice and this permission notice appear in 
                     15:  * supporting documentation, and that the name of Digital Equipment
                     16:  * Corporation not be used in advertising or publicity pertaining to
                     17:  * distribution of the software without specific, written prior permission.  
                     18:  * 
                     19:  * 
                     20:  * DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
                     21:  * ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
                     22:  * DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
                     23:  * ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
                     24:  * WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
                     25:  * ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
                     26:  * SOFTWARE.
                     27:  */
                     28: 
                     29: 
                     30: /* File: Geometry.c */
                     31: 
                     32: #include "Xlib.h"
                     33: #include "Intrinsic.h"
                     34: 
                     35: /* Private  Definitions */
                     36: 
                     37: static XContext geometryContext;
                     38: 
                     39: static Boolean initialized = FALSE;
                     40: 
                     41: extern void GeometryInitialize()
                     42: {
                     43:     if (initialized)
                     44:        return;
                     45:     initialized = TRUE;
                     46: 
                     47:     geometryContext = XUniqueContext();
                     48: }
                     49: 
                     50: /* Public routines */
                     51: 
                     52: /*
                     53:  * The "normal" case is for the geometry manager to be associated with a
                     54:  * windows parent. This code currently looks for an association on the passed
                     55:  * window then it's parent. In the real version of this code the request
                     56:  * should propagate up the tree. Note that parent windows may not be in the
                     57:  * requesting windows address space and the propagation will require a server
                     58:  * dialog.
                     59:  */
                     60: 
                     61: XtGeometryReturnCode XtMakeGeometryRequest
                     62:                             (dpy, window, request, requestBox, replyBox)
                     63:     Display            *dpy;
                     64:     Window                     window;
                     65:     XtGeometryRequest   request;
                     66:     WindowBox          *requestBox, *replyBox;
                     67: {
                     68:     XtGeometryHandler proc;
                     69:     int error;
                     70: 
                     71:     error  = XFindContext (dpy, window, geometryContext, (caddr_t *) &proc);
                     72:     if (error == XCNOENT)
                     73:        return(XtgeometryNoManager);
                     74:     return ((*(proc)) (dpy, window, request, requestBox, replyBox));
                     75: }
                     76: 
                     77: /*
                     78:  * Register a geometry routine with the toolkit dispatcher.
                     79:  */
                     80: 
                     81: XtStatus XtSetGeometryHandler (dpy, w, proc)
                     82:     Display          *dpy;
                     83:     Window           w;
                     84:     XtGeometryHandler proc;
                     85: {
                     86:     return (XSaveContext (dpy, w, geometryContext, (caddr_t) proc));
                     87: }
                     88: 
                     89: /*
                     90:  * Return the geometry procedure associated with a widget.
                     91:  */
                     92: 
                     93: XtStatus XtGetGeometryHandler (dpy, w, proc)
                     94:     Display          *dpy;
                     95:     Window           w;
                     96:     XtGeometryHandler *proc;
                     97: {
                     98:     return (XFindContext(dpy, w, geometryContext, (caddr_t *) proc));
                     99: }
                    100: 
                    101: /*
                    102:  * Delete the geometry routine's entry in the toolkit dispatcher.
                    103:  */
                    104: 
                    105: XtStatus XtClearGeometryHandler (dpy, w)
                    106: Display *dpy;
                    107: Window w;
                    108: {
                    109:     return(XDeleteContext (dpy, w, geometryContext));
                    110: }

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.