|
DataMuseum.dkPresents historical artifacts from the history of: DKUUG/EUUG Conference tapes |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about DKUUG/EUUG Conference tapes Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - downloadIndex: ┃ G T ┃
Length: 3100 (0xc1c) Types: TextFile Names: »Geometry.c«
└─⟦a0efdde77⟧ Bits:30001252 EUUGD11 Tape, 1987 Spring Conference Helsinki └─ ⟦526ad3590⟧ »EUUGD11/gnu-31mar87/X.V10.R4.tar.Z« └─⟦2109abc41⟧ └─ ⟦this⟧ »./X.V10R4/Toolkit/DECToolkit/src/Geometry.c«
/* * $Source: /u1/X/DECToolkit/src/RCS/Geometry.c,v $ * $Header: Geometry.c,v 1.1 86/12/17 09:01:46 swick Exp $ */ #ifndef lint static char *rcsid_Geometry_c = "$Header: Geometry.c,v 1.1 86/12/17 09:01:46 swick Exp $"; #endif lint #ifndef lint static char *sccsid = "@(#)Geometry.c 1.3 12/11/86"; #endif lint /* * COPYRIGHT 1986 * DIGITAL EQUIPMENT CORPORATION * MAYNARD, MASSACHUSETTS * ALL RIGHTS RESERVED. * * THE INFORMATION IN THIS SOFTWARE IS SUBJECT TO CHANGE WITHOUT NOTICE AND * SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT CORPORATION. * DIGITAL MAKES NO REPRESENTATIONS ABOUT THE SUITABILITY OF THIS SOFTWARE FOR * ANY PURPOSE. IT IS SUPPLIED "AS IS" WITHOUT EXPRESS OR IMPLIED WARRANTY. * * IF THE SOFTWARE IS MODIFIED IN A MANNER CREATING DERIVATIVE COPYRIGHT RIGHTS, * APPROPRIATE LEGENDS MAY BE PLACED ON THE DERIVATIVE WORK IN ADDITION TO THAT * SET FORTH ABOVE. * * * Permission to use, copy, modify, and distribute this software and its * documentation for any purpose and without fee is hereby granted, provided * that the above copyright notice appear in all copies and that both that * copyright notice and this permission notice appear in supporting documentation, * and that the name of Digital Equipment Corporation not be used in advertising * or publicity pertaining to distribution of the software without specific, * written prior permission. */ /* File: Geometry.c */ #include <X/Xlib.h> #include "Toolkit.h" /* Private Definitions */ extern char *malloc(); static int geometryContext; static int initialized = FALSE; /* Public routines */ /* * The "normal" case is for the geometry manager to be associated with a * windows parent. This code currently looks for an association on the passed * window then it's parent. In the real version of this code the request * should propagate up the tree. Note that parent windows may not be in the * requesting windows address space and the propagation will require a server * dialog. */ int TMakeGeometryRequest (window, request, requestBox, replyBox) Window window; enum TGeometryRequest request; WindowBox *requestBox, *replyBox; { int (*proc)(); Window parent, *children; int error, nchildren; parent = window; error = FindEntry(window, geometryContext, &proc); if (error != ERRNONE) { XQueryTree(window, &parent, &nchildren, &children); error = FindEntry(parent, geometryContext, &proc); free(children); if (error != ERRNONE) return(REQUESTNOENTRY); } return(proc(parent, window, request, requestBox, replyBox)); } /* * Register a geometry routine with the toolkit dispatcher. */ int TSetGeometryRequest(w, proc) Window w; int proc; { if (initialized == FALSE) { geometryContext = UniqueEntryType (); initialized = TRUE; } return(SaveEntry (w, geometryContext, proc)); } /* * Delete the geometry routine's entry in the toolkit dispatcher. */ TClearGeometryRequest(w) Window w; { return(DeleteEntry(w, geometryContext)); }