aboutsummaryrefslogtreecommitdiff
path: root/nx-X11/lib/Xmu
diff options
context:
space:
mode:
authorMike Gabriel <mike.gabriel@das-netzwerkteam.de>2015-02-02 15:02:49 +0100
committerMike Gabriel <mike.gabriel@das-netzwerkteam.de>2015-02-02 15:02:49 +0100
commitb16b9e4656e7199c2aec74a4c8ebc7a875d3ba73 (patch)
tree4361edef0d42d5bf5ac984ef72b4fac35426eae7 /nx-X11/lib/Xmu
parent0d5a83e986f39982c0924652a3662e60b1f23162 (diff)
downloadnx-libs-b16b9e4656e7199c2aec74a4c8ebc7a875d3ba73.tar.gz
nx-libs-b16b9e4656e7199c2aec74a4c8ebc7a875d3ba73.tar.bz2
nx-libs-b16b9e4656e7199c2aec74a4c8ebc7a875d3ba73.zip
massive reduction of unneeded files
Diffstat (limited to 'nx-X11/lib/Xmu')
-rw-r--r--nx-X11/lib/Xmu/AllCmap.c158
-rw-r--r--nx-X11/lib/Xmu/Atoms.c154
-rw-r--r--nx-X11/lib/Xmu/Atoms.h126
-rw-r--r--nx-X11/lib/Xmu/CharSet.h77
-rw-r--r--nx-X11/lib/Xmu/ClientWin.c100
-rw-r--r--nx-X11/lib/Xmu/Clip.c1617
-rw-r--r--nx-X11/lib/Xmu/CloseHook.c297
-rw-r--r--nx-X11/lib/Xmu/CloseHook.h73
-rw-r--r--nx-X11/lib/Xmu/CmapAlloc.c346
-rw-r--r--nx-X11/lib/Xmu/Converters.h281
-rw-r--r--nx-X11/lib/Xmu/CrCmap.c537
-rw-r--r--nx-X11/lib/Xmu/CrPixFBit.c85
-rw-r--r--nx-X11/lib/Xmu/CurUtil.h49
-rw-r--r--nx-X11/lib/Xmu/CursorName.c141
-rw-r--r--nx-X11/lib/Xmu/CvtCache.c136
-rw-r--r--nx-X11/lib/Xmu/CvtCache.h62
-rw-r--r--nx-X11/lib/Xmu/CvtStdSel.c347
-rw-r--r--nx-X11/lib/Xmu/DefErrMsg.c173
-rw-r--r--nx-X11/lib/Xmu/DelCmap.c73
-rw-r--r--nx-X11/lib/Xmu/DisplayQue.c194
-rw-r--r--nx-X11/lib/Xmu/DisplayQue.h155
-rw-r--r--nx-X11/lib/Xmu/Distinct.c92
-rw-r--r--nx-X11/lib/Xmu/DrRndRect.c182
-rw-r--r--nx-X11/lib/Xmu/DrawLogo.c155
-rw-r--r--nx-X11/lib/Xmu/Drawing.h161
-rw-r--r--nx-X11/lib/Xmu/Editres.h42
-rw-r--r--nx-X11/lib/Xmu/EditresCom.c2214
-rw-r--r--nx-X11/lib/Xmu/EditresP.h409
-rw-r--r--nx-X11/lib/Xmu/Error.h59
-rw-r--r--nx-X11/lib/Xmu/ExtAgent.c46
-rw-r--r--nx-X11/lib/Xmu/ExtAgent.h44
-rw-r--r--nx-X11/lib/Xmu/FToCback.c48
-rw-r--r--nx-X11/lib/Xmu/GetHost.c86
-rw-r--r--nx-X11/lib/Xmu/GrayPixmap.c139
-rw-r--r--nx-X11/lib/Xmu/Imakefile176
-rw-r--r--nx-X11/lib/Xmu/Initer.c117
-rw-r--r--nx-X11/lib/Xmu/Initer.h58
-rw-r--r--nx-X11/lib/Xmu/LocBitmap.c272
-rw-r--r--nx-X11/lib/Xmu/Lookup.c279
-rw-r--r--nx-X11/lib/Xmu/Lookup.h128
-rw-r--r--nx-X11/lib/Xmu/LookupCmap.c325
-rw-r--r--nx-X11/lib/Xmu/Lower.c164
-rw-r--r--nx-X11/lib/Xmu/Misc.h65
-rw-r--r--nx-X11/lib/Xmu/README8
-rw-r--r--nx-X11/lib/Xmu/RdBitF.c401
-rw-r--r--nx-X11/lib/Xmu/ScrOfWin.c60
-rw-r--r--nx-X11/lib/Xmu/ShapeWidg.c251
-rw-r--r--nx-X11/lib/Xmu/StdCmap.c236
-rw-r--r--nx-X11/lib/Xmu/StdCmap.h119
-rw-r--r--nx-X11/lib/Xmu/StdSel.h57
-rw-r--r--nx-X11/lib/Xmu/StrToBS.c149
-rw-r--r--nx-X11/lib/Xmu/StrToBmap.c150
-rw-r--r--nx-X11/lib/Xmu/StrToCurs.c351
-rw-r--r--nx-X11/lib/Xmu/StrToGrav.c151
-rw-r--r--nx-X11/lib/Xmu/StrToJust.c140
-rw-r--r--nx-X11/lib/Xmu/StrToLong.c83
-rw-r--r--nx-X11/lib/Xmu/StrToOrnt.c130
-rw-r--r--nx-X11/lib/Xmu/StrToShap.c125
-rw-r--r--nx-X11/lib/Xmu/StrToWidg.c225
-rw-r--r--nx-X11/lib/Xmu/SysUtil.h60
-rw-r--r--nx-X11/lib/Xmu/UpdMapHint.c62
-rw-r--r--nx-X11/lib/Xmu/VisCmap.c183
-rw-r--r--nx-X11/lib/Xmu/WhitePoint.h65
-rw-r--r--nx-X11/lib/Xmu/WidgetNode.c310
-rw-r--r--nx-X11/lib/Xmu/WidgetNode.h98
-rw-r--r--nx-X11/lib/Xmu/WinUtil.h64
-rw-r--r--nx-X11/lib/Xmu/Xct.c687
-rw-r--r--nx-X11/lib/Xmu/Xct.h168
-rw-r--r--nx-X11/lib/Xmu/Xmu-def.cpp145
-rw-r--r--nx-X11/lib/Xmu/Xmu.h128
-rw-r--r--nx-X11/lib/Xmu/sharedlib.c76
71 files changed, 0 insertions, 15124 deletions
diff --git a/nx-X11/lib/Xmu/AllCmap.c b/nx-X11/lib/Xmu/AllCmap.c
deleted file mode 100644
index 09ae52aa4..000000000
--- a/nx-X11/lib/Xmu/AllCmap.c
+++ /dev/null
@@ -1,158 +0,0 @@
-/* $Xorg: AllCmap.c,v 1.4 2001/02/09 02:03:51 xorgcvs Exp $ */
-
-/*
-
-Copyright 1989, 1998 The Open Group
-
-Permission to use, copy, modify, distribute, and sell this software and its
-documentation for any purpose is hereby granted without fee, provided that
-the above copyright notice appear in all copies and that both that
-copyright notice and this permission notice appear in supporting
-documentation.
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
-AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
-CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-Except as contained in this notice, the name of The Open Group shall not be
-used in advertising or otherwise to promote the sale, use or other dealings
-in this Software without prior written authorization from The Open Group.
-
-*/
-/* $XFree86: xc/lib/Xmu/AllCmap.c,v 1.7 2001/01/17 19:42:53 dawes Exp $ */
-
-#ifdef HAVE_CONFIG_H
-#include <config.h>
-#endif
-#include <stdio.h>
-#include <X11/Xlib.h>
-#include <X11/Xatom.h>
-#include <X11/Xutil.h>
-#include <X11/Xmu/StdCmap.h>
-
-static XVisualInfo *getDeepestVisual(int, XVisualInfo*, int);
-
-/*
- * To create all of the appropriate standard colormaps for every visual of
- * every screen on a given display, use XmuAllStandardColormaps.
- *
- * Define and retain as permanent resources all standard colormaps which are
- * meaningful for the visuals of each screen of the display. Return 0 on
- * failure, non-zero on success. If the property of any standard colormap
- * is already defined, redefine it.
- *
- * This interface is intended to be used by window managers or a client
- * upon start-up of a session.
- *
- * The standard colormaps of a screen are defined by properties associated
- * with the screen's root window. Each screen has exactly one root window.
- * The property names of standard colormaps are predefined, and each property
- * name may describe at most one colormap.
- *
- * The standard colormaps are
- * RGB_BEST_MAP
- * RGB_RED_MAP
- * RGB_GREEN_MAP
- * RGB_BLUE_MAP
- * RGB_DEFAULT_MAP
- * RGB_GRAY_MAP
- *
- * Therefore a screen may have at most 6 standard colormap properties defined.
- *
- * A standard colormap is associated with a particular visual of the screen.
- * A screen may have multiple visuals defined, including visuals of the same
- * class at different depths. Note that a visual id might be repeated for
- * more than one depth, so the visual id and the depth of a visual identify
- * the visual. The characteristics of the visual will determine which
- * standard colormaps are meaningful under that visual, and will determine
- * how the standard colormap is defined. Because a standard colormap is
- * associated with a specific visual, there must be a method of determining
- * which visuals take precedence in defining standard colormaps.
- *
- * The method used here is: for the visual of greatest depth, define all
- * standard colormaps meaningful to that visual class, according to this
- * order of (descending) precedence:
- * 1. DirectColor
- * 2. PseudoColor
- * 3. TrueColor and GrayScale
- * 4. StaticColor and StaticGray
- *
- * Allows partial success by screenful. For example, if a map on screen 1
- * fails, the maps on screen 0, created earlier, will remain. However,
- * none on screen 1 will remain. If a map on 0 fails, none will remain.
- *
- * See the comments under XmuVisualStandardColormaps() for notes on which
- * standard colormaps are meaningful under these classes of visuals.
- */
-
-Status
-XmuAllStandardColormaps(Display *dpy)
-{
- int nvisuals, scr;
- Status status;
- long vinfo_mask;
- XVisualInfo template, *vinfo, *v1, *v2;
-
- status = 0;
- /* for each screen, determine all visuals of this server */
- for (scr=0; scr < ScreenCount(dpy); scr++)
- {
- template.screen = scr;
- vinfo_mask = VisualScreenMask;
- vinfo = XGetVisualInfo(dpy, vinfo_mask, &template, &nvisuals);
- if (vinfo == NULL) /* unexpected: a screen with no visuals */
- continue;
-
- v1 = getDeepestVisual(DirectColor, vinfo, nvisuals);
- v2 = getDeepestVisual(PseudoColor, vinfo, nvisuals);
-
- if (v2 &&
- (!v1 || (v2->colormap_size >=
- ((v1->red_mask | v1->green_mask | v1->blue_mask) + 1))))
- status = XmuVisualStandardColormaps(dpy, scr, v2->visualid,
- (unsigned) v2->depth, 1, 1);
- else if (v1)
- status = XmuVisualStandardColormaps(dpy, scr, v1->visualid,
- (unsigned) v1->depth, 1, 1);
-
- else {
- if (((v1 = getDeepestVisual(TrueColor, vinfo, nvisuals)) != NULL)
- || ((v1 = getDeepestVisual(StaticColor, vinfo, nvisuals)) !=
- NULL))
- status = XmuVisualStandardColormaps(dpy, scr, v1->visualid,
- (unsigned) v1->depth, 1, 1);
- if (status &&
- (((v1 = getDeepestVisual(GrayScale, vinfo, nvisuals)) != NULL)
- || ((v1 = getDeepestVisual(StaticGray, vinfo, nvisuals)) !=
- NULL)))
- status = XmuVisualStandardColormaps(dpy, scr, v1->visualid,
- (unsigned) v1->depth, 1, 1);
- }
- XFree ((char *) vinfo);
- if (!status) break;
- }
- return status;
-}
-
-static XVisualInfo *
-getDeepestVisual(int visual_class, XVisualInfo *vinfo, int nvisuals)
-{
- register int i;
- register int maxdepth = 0;
- XVisualInfo *v = NULL;
-
- for (i=0; i < nvisuals; i++, vinfo++)
- if (vinfo->class == visual_class && vinfo->depth > maxdepth)
- {
- maxdepth = vinfo->depth;
- v = vinfo;
- }
- return(v);
-}
-
diff --git a/nx-X11/lib/Xmu/Atoms.c b/nx-X11/lib/Xmu/Atoms.c
deleted file mode 100644
index dcdf497a5..000000000
--- a/nx-X11/lib/Xmu/Atoms.c
+++ /dev/null
@@ -1,154 +0,0 @@
-/* $Xorg: Atoms.c,v 1.4 2001/02/09 02:03:51 xorgcvs Exp $ */
-
-/*
-
-Copyright 1988, 1998 The Open Group
-
-Permission to use, copy, modify, distribute, and sell this software and its
-documentation for any purpose is hereby granted without fee, provided that
-the above copyright notice appear in all copies and that both that
-copyright notice and this permission notice appear in supporting
-documentation.
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
-AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
-CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-Except as contained in this notice, the name of The Open Group shall not be
-used in advertising or otherwise to promote the sale, use or other dealings
-in this Software without prior written authorization from The Open Group.
-
-*/
-/* $XFree86: xc/lib/Xmu/Atoms.c,v 3.7 2001/07/25 15:04:50 dawes Exp $ */
-
-/*
- * This file contains routines to cache atoms, avoiding multiple
- * server round-trips. Not so useful now that Xlib caches them.
- *
- * Public entry points:
- *
- * XmuMakeAtom creates & initializes an opaque AtomRec
- * XmuInternAtom fetches an Atom from cache or Display
- * XmuInternStrings fetches multiple Atoms as strings
- * XmuGetAtomName returns name of an Atom
- * XmuNameOfAtom returns name from an AtomPtr
- */
-
-#ifdef HAVE_CONFIG_H
-#include <config.h>
-#endif
-#include <X11/Intrinsic.h>
-#include "Atoms.h"
-
-typedef struct _DisplayRec {
- struct _DisplayRec* next;
- Display *dpy;
- Atom atom;
-} DisplayRec;
-
-struct _AtomRec {
- char *name;
- DisplayRec* head;
-};
-
-#ifdef SUNSHLIB
-#define STATIC
-#else
-#define STATIC static
-#endif
-
-#if !defined(UNIXCPP) || defined(ANSICPP)
-#define DeclareAtom(atom,text) \
-STATIC struct _AtomRec __##atom = { text, NULL }; \
-AtomPtr _##atom = &__##atom;
-#else
-#define DeclareAtom(atom,text) \
-STATIC struct _AtomRec __/**/atom = { text, NULL }; \
-AtomPtr _/**/atom = &__/**/atom;
-#endif
-
-DeclareAtom(XA_ATOM_PAIR, "ATOM_PAIR" )
-DeclareAtom(XA_CHARACTER_POSITION, "CHARACTER_POSITION" )
-DeclareAtom(XA_CLASS, "CLASS" )
-DeclareAtom(XA_CLIENT_WINDOW, "CLIENT_WINDOW" )
-DeclareAtom(XA_CLIPBOARD, "CLIPBOARD" )
-DeclareAtom(XA_COMPOUND_TEXT, "COMPOUND_TEXT" )
-DeclareAtom(XA_DECNET_ADDRESS, "DECNET_ADDRESS" )
-DeclareAtom(XA_DELETE, "DELETE" )
-DeclareAtom(XA_FILENAME, "FILENAME" )
-DeclareAtom(XA_HOSTNAME, "HOSTNAME" )
-DeclareAtom(XA_IP_ADDRESS, "IP_ADDRESS" )
-DeclareAtom(XA_LENGTH, "LENGTH" )
-DeclareAtom(XA_LIST_LENGTH, "LIST_LENGTH" )
-DeclareAtom(XA_NAME, "NAME" )
-DeclareAtom(XA_NET_ADDRESS, "NET_ADDRESS" )
-DeclareAtom(XA_NULL, "NULL" )
-DeclareAtom(XA_OWNER_OS, "OWNER_OS" )
-DeclareAtom(XA_SPAN, "SPAN" )
-DeclareAtom(XA_TARGETS, "TARGETS" )
-DeclareAtom(XA_TEXT, "TEXT" )
-DeclareAtom(XA_TIMESTAMP, "TIMESTAMP" )
-DeclareAtom(XA_USER, "USER" )
-DeclareAtom(XA_UTF8_STRING, "UTF8_STRING" )
-
-/******************************************************************
-
- Public procedures
-
- ******************************************************************/
-
-
-AtomPtr
-XmuMakeAtom(_Xconst char *name)
-{
- AtomPtr ptr = XtNew(struct _AtomRec);
- ptr->name = (char *) name;
- ptr->head = NULL;
- return ptr;
-}
-
-char *
-XmuNameOfAtom(AtomPtr atom_ptr)
-{
- return atom_ptr->name;
-}
-
-
-Atom
-XmuInternAtom(Display *d, AtomPtr atom_ptr)
-{
- DisplayRec* display_rec;
- for (display_rec = atom_ptr->head; display_rec != NULL;
- display_rec = display_rec->next) {
- if (display_rec->dpy == d)
- return display_rec->atom;
- }
- display_rec = XtNew(DisplayRec);
- display_rec->next = atom_ptr->head;
- atom_ptr->head = display_rec;
- display_rec->dpy = d;
- display_rec->atom = XInternAtom(d, atom_ptr->name, False);
- return display_rec->atom;
-}
-
-
-char *
-XmuGetAtomName(Display *d, Atom atom)
-{
- if (atom == 0) return (NULL);
- return XGetAtomName(d, atom);
-}
-
-/* convert (names, count) to a list of atoms. Caller allocates list */
-void
-XmuInternStrings(Display *d, register String *names,
- register Cardinal count, register Atom *atoms)
-{
- (void) XInternAtoms(d, (char**)names, (int)count, FALSE, atoms);
-}
diff --git a/nx-X11/lib/Xmu/Atoms.h b/nx-X11/lib/Xmu/Atoms.h
deleted file mode 100644
index f7b4c8f7e..000000000
--- a/nx-X11/lib/Xmu/Atoms.h
+++ /dev/null
@@ -1,126 +0,0 @@
-/* $Xorg: Atoms.h,v 1.4 2001/02/09 02:03:51 xorgcvs Exp $ */
-
-/*
-
-Copyright 1988, 1998 The Open Group
-
-Permission to use, copy, modify, distribute, and sell this software and its
-documentation for any purpose is hereby granted without fee, provided that
-the above copyright notice appear in all copies and that both that
-copyright notice and this permission notice appear in supporting
-documentation.
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
-AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
-CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-Except as contained in this notice, the name of The Open Group shall not be
-used in advertising or otherwise to promote the sale, use or other dealings
-in this Software without prior written authorization from The Open Group.
-
-*/
-/* $XFree86: xc/lib/Xmu/Atoms.h,v 1.6 2001/01/17 19:42:53 dawes Exp $ */
-
-/*
- * The interfaces described by this header file are for miscellaneous utilities
- * and are not part of the Xlib standard.
- */
-
-#ifndef _XMU_ATOMS_H_
-#define _XMU_ATOMS_H_
-
-#include <X11/Intrinsic.h>
-#include <X11/Xfuncproto.h>
-
-typedef struct _AtomRec *AtomPtr;
-
-extern AtomPtr
- _XA_ATOM_PAIR,
- _XA_CHARACTER_POSITION,
- _XA_CLASS,
- _XA_CLIENT_WINDOW,
- _XA_CLIPBOARD,
- _XA_COMPOUND_TEXT,
- _XA_DECNET_ADDRESS,
- _XA_DELETE,
- _XA_FILENAME,
- _XA_HOSTNAME,
- _XA_IP_ADDRESS,
- _XA_LENGTH,
- _XA_LIST_LENGTH,
- _XA_NAME,
- _XA_NET_ADDRESS,
- _XA_NULL,
- _XA_OWNER_OS,
- _XA_SPAN,
- _XA_TARGETS,
- _XA_TEXT,
- _XA_TIMESTAMP,
- _XA_USER,
- _XA_UTF8_STRING;
-
-#define XA_ATOM_PAIR(d) XmuInternAtom(d, _XA_ATOM_PAIR)
-#define XA_CHARACTER_POSITION(d) XmuInternAtom(d, _XA_CHARACTER_POSITION)
-#define XA_CLASS(d) XmuInternAtom(d, _XA_CLASS)
-#define XA_CLIENT_WINDOW(d) XmuInternAtom(d, _XA_CLIENT_WINDOW)
-#define XA_CLIPBOARD(d) XmuInternAtom(d, _XA_CLIPBOARD)
-#define XA_COMPOUND_TEXT(d) XmuInternAtom(d, _XA_COMPOUND_TEXT)
-#define XA_DECNET_ADDRESS(d) XmuInternAtom(d, _XA_DECNET_ADDRESS)
-#define XA_DELETE(d) XmuInternAtom(d, _XA_DELETE)
-#define XA_FILENAME(d) XmuInternAtom(d, _XA_FILENAME)
-#define XA_HOSTNAME(d) XmuInternAtom(d, _XA_HOSTNAME)
-#define XA_IP_ADDRESS(d) XmuInternAtom(d, _XA_IP_ADDRESS)
-#define XA_LENGTH(d) XmuInternAtom(d, _XA_LENGTH)
-#define XA_LIST_LENGTH(d) XmuInternAtom(d, _XA_LIST_LENGTH)
-#define XA_NAME(d) XmuInternAtom(d, _XA_NAME)
-#define XA_NET_ADDRESS(d) XmuInternAtom(d, _XA_NET_ADDRESS)
-#define XA_NULL(d) XmuInternAtom(d, _XA_NULL)
-#define XA_OWNER_OS(d) XmuInternAtom(d, _XA_OWNER_OS)
-#define XA_SPAN(d) XmuInternAtom(d, _XA_SPAN)
-#define XA_TARGETS(d) XmuInternAtom(d, _XA_TARGETS)
-#define XA_TEXT(d) XmuInternAtom(d, _XA_TEXT)
-#define XA_TIMESTAMP(d) XmuInternAtom(d, _XA_TIMESTAMP)
-#define XA_USER(d) XmuInternAtom(d, _XA_USER)
-#define XA_UTF8_STRING(d) XmuInternAtom(d, _XA_UTF8_STRING)
-
-_XFUNCPROTOBEGIN
-
-char *XmuGetAtomName
-(
- Display *dpy,
- Atom atom
- );
-
-Atom XmuInternAtom
-(
- Display *dpy,
- AtomPtr atom_ptr
- );
-
-void XmuInternStrings
-(
- Display *dpy,
- String *names,
- Cardinal count,
- Atom *atoms_return
-);
-
-AtomPtr XmuMakeAtom
-(
- _Xconst char *name
- );
-
-char *XmuNameOfAtom
-(
- AtomPtr atom_ptr
- );
-
-_XFUNCPROTOEND
-
-#endif /* _XMU_ATOMS_H_ */
diff --git a/nx-X11/lib/Xmu/CharSet.h b/nx-X11/lib/Xmu/CharSet.h
deleted file mode 100644
index 32cebfeda..000000000
--- a/nx-X11/lib/Xmu/CharSet.h
+++ /dev/null
@@ -1,77 +0,0 @@
-/* $Xorg: CharSet.h,v 1.4 2001/02/09 02:03:51 xorgcvs Exp $ */
-
-/*
-
-Copyright 1988, 1998 The Open Group
-
-Permission to use, copy, modify, distribute, and sell this software and its
-documentation for any purpose is hereby granted without fee, provided that
-the above copyright notice appear in all copies and that both that
-copyright notice and this permission notice appear in supporting
-documentation.
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
-AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
-CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-Except as contained in this notice, the name of The Open Group shall not be
-used in advertising or otherwise to promote the sale, use or other dealings
-in this Software without prior written authorization from The Open Group.
-
-*/
-
-/* $XFree86: xc/lib/Xmu/CharSet.h,v 1.7 2001/01/17 19:42:53 dawes Exp $ */
-
-/*
- * The interfaces described by this header file are for miscellaneous utilities
- * and are not part of the Xlib standard.
- */
-
-#ifndef _XMU_CHARSET_H_
-#define _XMU_CHARSET_H_
-
-#include <X11/Xfuncproto.h>
-
-_XFUNCPROTOBEGIN
-
-void XmuCopyISOLatin1Lowered
-(
- char *dst_return,
- _Xconst char *src
- );
-
-void XmuCopyISOLatin1Uppered
-(
- char *dst_return,
- _Xconst char *src
- );
-
-int XmuCompareISOLatin1
-(
- _Xconst char *first,
- _Xconst char *second
- );
-
-void XmuNCopyISOLatin1Lowered
-(
- char *dst_return,
- _Xconst char *src,
- int size
- );
-
-void XmuNCopyISOLatin1Uppered
-(
- char *dst_return,
- _Xconst char *src,
- int size
- );
-
-_XFUNCPROTOEND
-
-#endif /* _XMU_CHARSET_H_ */
diff --git a/nx-X11/lib/Xmu/ClientWin.c b/nx-X11/lib/Xmu/ClientWin.c
deleted file mode 100644
index 7fc273f1f..000000000
--- a/nx-X11/lib/Xmu/ClientWin.c
+++ /dev/null
@@ -1,100 +0,0 @@
-/* $Xorg: ClientWin.c,v 1.4 2001/02/09 02:03:51 xorgcvs Exp $ */
-
-/*
-
-Copyright 1989, 1998 The Open Group
-
-Permission to use, copy, modify, distribute, and sell this software and its
-documentation for any purpose is hereby granted without fee, provided that
-the above copyright notice appear in all copies and that both that
-copyright notice and this permission notice appear in supporting
-documentation.
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
-AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
-CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-Except as contained in this notice, the name of The Open Group shall not be
-used in advertising or otherwise to promote the sale, use or other dealings
-in this Software without prior written authorization from The Open Group.
-
-*/
-/* $XFree86: xc/lib/Xmu/ClientWin.c,v 1.7 2001/12/14 19:55:34 dawes Exp $ */
-
-#ifdef HAVE_CONFIG_H
-#include <config.h>
-#endif
-#include <X11/Xlib.h>
-#include <X11/Xatom.h>
-
-#include <X11/Xmu/WinUtil.h>
-
-/*
- * Prototypes
- */
-static Window TryChildren(Display*, Window, Atom);
-
-/* Find a window with WM_STATE, else return win itself, as per ICCCM */
-
-Window
-XmuClientWindow(Display *dpy, Window win)
-{
- Atom WM_STATE;
- Atom type = None;
- int format;
- unsigned long nitems, after;
- unsigned char *data = NULL;
- Window inf;
-
- WM_STATE = XInternAtom(dpy, "WM_STATE", True);
- if (!WM_STATE)
- return win;
- XGetWindowProperty(dpy, win, WM_STATE, 0, 0, False, AnyPropertyType,
- &type, &format, &nitems, &after, &data);
- if (data)
- XFree(data);
- if (type)
- return win;
- inf = TryChildren(dpy, win, WM_STATE);
- if (!inf)
- inf = win;
- return inf;
-}
-
-static Window
-TryChildren(Display *dpy, Window win, Atom WM_STATE)
-{
- Window root, parent;
- Window *children;
- unsigned int nchildren;
- unsigned int i;
- Atom type = None;
- int format;
- unsigned long nitems, after;
- unsigned char *data;
- Window inf = 0;
-
- if (!XQueryTree(dpy, win, &root, &parent, &children, &nchildren))
- return 0;
- for (i = 0; !inf && (i < nchildren); i++) {
- data = NULL;
- XGetWindowProperty(dpy, children[i], WM_STATE, 0, 0, False,
- AnyPropertyType, &type, &format, &nitems,
- &after, &data);
- if (data)
- XFree(data);
- if (type)
- inf = children[i];
- }
- for (i = 0; !inf && (i < nchildren); i++)
- inf = TryChildren(dpy, children[i], WM_STATE);
- if (children)
- XFree(children);
- return inf;
-}
diff --git a/nx-X11/lib/Xmu/Clip.c b/nx-X11/lib/Xmu/Clip.c
deleted file mode 100644
index 8d2c8455e..000000000
--- a/nx-X11/lib/Xmu/Clip.c
+++ /dev/null
@@ -1,1617 +0,0 @@
-/*
- * Copyright (c) 1998 by The XFree86 Project, Inc.
- *
- * Permission is hereby granted, free of charge, to any person obtaining a
- * copy of this software and associated documentation files (the "Software"),
- * to deal in the Software without restriction, including without limitation
- * the rights to use, copy, modify, merge, publish, distribute, sublicense,
- * and/or sell copies of the Software, and to permit persons to whom the
- * Software is furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in
- * all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
- * THE XFREE86 PROJECT BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
- * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF
- * OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- *
- * Except as contained in this notice, the name of the XFree86 Project shall
- * not be used in advertising or otherwise to promote the sale, use or other
- * dealings in this Software without prior written authorization from the
- * XFree86 Project.
- */
-/* $XFree86: xc/lib/Xmu/Clip.c,v 1.1 1998/08/16 10:25:03 dawes Exp $ */
-
-#ifdef HAVE_CONFIG_H
-#include <config.h>
-#endif
-#include <stdlib.h>
-
-#include <X11/IntrinsicP.h>
-#include <X11/Xmu/Xmu.h>
-
-#define XmuMax(a, b) ((a) > (b) ? (a) : (b))
-#define XmuMin(a, b) ((a) < (b) ? (a) : (b))
-
-/*
- * Function:
- * XmuNewArea
- *
- * Parameters:
- * x1 - Coordinates of the rectangle
- * y1 - ""
- * x2 - ""
- * y2 - ""
- *
- * Description:
- * Creates a new rectangular clipping area
- */
-XmuArea *
-XmuNewArea(int x1, int y1, int x2, int y2)
-{
- XmuArea *area;
-
- area = (XmuArea *)XtMalloc(sizeof(XmuArea));
- if (x2 > x1 && y2 > y1)
- {
- area->scanline = XmuNewScanline(y1, x1, x2);
- area->scanline->next = XmuNewScanline(y2, 0, 0);
- }
- else
- area->scanline = (XmuScanline *)NULL;
-
- return (area);
-}
-
-/*
- * Function:
- * XmuAreaDup
- *
- * Parameters:
- * area - Area to copy
- *
- * Description:
- * Returns a copy of its argument
- */
-XmuArea *
-XmuAreaDup(XmuArea *area)
-{
- XmuArea *dst;
-
- if (!area)
- return ((XmuArea *)NULL);
-
- dst = XmuCreateArea();
- XmuAreaCopy(dst, area);
- return (dst);
-}
-
-/*
- * Function:
- * XmuAreaCopy
- *
- * Parameters:
- * dst - destination area
- * src - source area
- *
- * Description:
- * Minimizes memory alocation, trying to use already alocated memory
- * in dst, freeing what is not required anymore.
- */
-XmuArea *
-XmuAreaCopy(XmuArea *dst, XmuArea *src)
-{
- XmuScanline *z, *p, *Z;
-
- if (!dst || !src || dst == src)
- return (dst);
-
- z = p = dst->scanline;
- Z = src->scanline;
-
- /*CONSTCOND*/
- while (1)
- {
- if (!Z)
- {
- if (z == dst->scanline)
- {
- XmuDestroyScanlineList(dst->scanline);
- dst->scanline = (XmuScanline *)NULL;
- }
- else
- {
- XmuDestroyScanlineList(p->next);
- p->next = (XmuScanline *)NULL;
- }
- return (dst);
- }
- if (z)
- {
- XmuScanlineCopy(z, Z);
- z->y = Z->y;
- }
- else
- {
- z = XmuNewScanline(Z->y, 0, 0);
- XmuScanlineCopy(z, Z);
- if (p == dst->scanline && !dst->scanline)
- p = dst->scanline = z;
- else
- p->next = z;
- }
- p = z;
- z = z->next;
- Z = Z->next;
- }
-
- return (dst);
-}
-
-/*
- * Function:
- * XmuAreaNot
- *
- * Parameters:
- * area - area to operate
- * x1 - retangle to clip the result against
- * y1 - ""
- * x2 - ""
- * y2 - ""
- *
- * Description:
- * (Input)
- * (x1, y1) (x2, y1)
- * +-------------+
- * +------------+ +----+
- * | +--------------+
- * +----------------+
- * (x1, y2) (x2, y2)
- *
- * (Output)
- * (x1, y1) (x2, y1)
- * +--------------+ +--------------------------+
- * | +------------+ +----+ |
- * | | +--------------+ |
- * +-+ +------------------------------------+
- * (x1, y2) (x2, y2)
- */
-XmuArea *
-XmuAreaNot(XmuArea *area, int x1, int y1, int x2, int y2)
-{
- XmuScanline *z;
- XmuArea *and;
-
- if (!area)
- return (area);
-
- if (x1 > x2)
- {
- x1 ^= x2; x2 ^= x1; x1 ^= x2;
- }
- if (y1 > y2)
- {
- y1 ^= y2; y2 ^= y1; y1 ^= y2;
- }
- if (!area->scanline)
- {
- if ((area->scanline = XmuNewScanline(y1, x1, x2)) != NULL)
- area->scanline->next = XmuNewScanline(y2, 0, 0);
- return (area);
- }
- and = XmuNewArea(x1, y1, x2, y2);
- XmuAreaAnd(area, and);
- XmuDestroyArea(and);
- z = area->scanline;
- if (z->y != y1)
- {
- XmuScanline *q = XmuNewScanline(y1, x1, x2);
- q->next = z;
- area->scanline = q;
- }
- else
- {
- area->scanline = area->scanline->next;
- XmuDestroyScanline(z);
- XmuOptimizeArea(area);
- if((z = area->scanline) == (XmuScanline *)NULL)
- return (area);
- }
-
- /* CONSTCOND */
- while (1)
- {
- XmuScanlineNot(z, x1, x2);
- if (!z->next)
- {
- z->next = XmuNewScanline(y2, 0, 0);
- break;
- }
- if (z->next->y == y2)
- {
- XmuDestroyScanlineList(z->next);
- z->next = XmuNewScanline(y2, 0, 0);
- break;
- }
- z = z->next;
- }
-
- return (area);
-}
-
-/*
- * Function:
- * XmuAreaOrXor
- *
- * Parameters:
- * dst - destination area
- * src - source area
- * or - or operation if true, else xor operation
- *
- * Description:
- * Executes Or (Union) or Xor (Reverse intesection) of the areas
- */
-XmuArea *
-XmuAreaOrXor(XmuArea *dst, XmuArea *src, Bool or)
-{
- XmuScanline *z, *p, *Z, *P, *ins, *top;
-
- if (!dst || !src)
- return (dst);
-
- if (dst == src)
- {
- if (or)
- return (dst);
- XmuDestroyScanlineList(dst->scanline);
- dst->scanline = (XmuScanline *)NULL;
- return (dst);
- }
- if (!XmuValidArea(src))
- return (dst);
- if (!XmuValidArea(dst))
- {
- XmuAreaCopy(dst, src);
- return (dst);
- }
-
- p = z = dst->scanline;
- P = Z = src->scanline;
- ins = XmuNewScanline(dst->scanline->y, 0, 0);
- top = XmuNewScanline(dst->scanline->y, 0, 0);
- XmuScanlineCopy(ins, dst->scanline);
- XmuScanlineCopy(top, dst->scanline);
-
- /*CONSTCOND*/
- while (1)
- {
- if (!Z)
- break;
- else if (Z->y < z->y)
- {
- XmuScanline *q = XmuNewScanline(Z->y, 0, 0);
- XmuScanlineCopy(q, Z);
-
- if (z == dst->scanline)
- {
- dst->scanline = p = q;
- q->next = z;
- }
- else
- {
- p->next = q;
- q->next = z;
- if (Z->y >= p->y)
- {
- if (ins->y >= top->y
- && (p->y != P->y || !XmuScanlineEqu(p, P)
- || (ins->y <= P->y && !XmuScanlineEqu(ins, P))))
- {
- if (or)
- XmuScanlineOr(q, ins);
- else
- XmuScanlineXor(q, ins);
- }
- else if (Z->y >= top->y
- && (top->y == p->y || top->y > ins->y
- || !XmuValidScanline(Z)
- || (p->y == P->y && XmuValidScanline(p)
- && XmuValidScanline(P))
- || XmuScanlineEqu(ins, top)))
- {
- if (or)
- XmuScanlineOr(q, top);
- else
- XmuScanlineXor(q, top);
- }
- if (ins->y != p->y && p->y != P->y)
- {
- XmuScanlineCopy(ins, p);
- ins->y = p->y;
- }
- }
- if (!XmuValidScanline(p) || Z->y <= p->y)
- {
- XmuScanlineCopy(top, p);
- top->y = p->y;
- }
- p = q;
- }
- P = Z;
- Z = Z->next;
- continue;
- }
- else if (Z->y == z->y)
- {
- if (top->y != z->y)
- {
- XmuScanlineCopy(top, z);
- top->y = z->y;
- }
- if (or)
- XmuScanlineOr(z, Z);
- else
- XmuScanlineXor(z, Z);
- P = Z;
- Z = Z->next;
- }
- else if (P != Z) /* && Z->y > z->y */
- {
- if (top->y == ins->y && top->y != z->y)
- {
- XmuScanlineCopy(top, z);
- top->y = z->y;
- }
- if (ins->y != z->y)
- {
- XmuScanlineCopy(ins, z);
- ins->y = z->y;
- }
- if (or)
- XmuScanlineOr(z, P);
- else
- XmuScanlineXor(z, P);
- }
- else if (ins->y != z->y)
- {
- XmuScanlineCopy(ins, z);
- ins->y = z->y;
- }
- p = z;
- z = z->next;
- if (!z)
- {
- while (Z)
- {
- p->next = XmuNewScanline(Z->y, 0, 0);
- XmuScanlineCopy(p->next, Z);
- p = p->next;
- Z = Z->next;
- }
- break;
- }
- else if (ins->y > top->y && !XmuValidScanline(z)
- && XmuValidScanline(ins))
- {
- XmuScanlineCopy(top, ins);
- top->y = ins->y;
- }
- }
- XmuOptimizeArea(dst);
- XmuDestroyScanline(ins);
- XmuDestroyScanline(top);
-
- return (dst);
-}
-
-/*
- * Function:
- * XmuAreaAnd(dst, src)
- *
- * Parameters:
- * dst - destination area
- * src - source area
- *
- * Description:
- * Executes And (intersection) of the areas
- */
-XmuArea *
-XmuAreaAnd(XmuArea *dst, XmuArea *src)
-{
- XmuScanline *z, *p, *Z, *P, *top;
-
- if (!dst || !src || dst == src)
- return (dst);
- if (!XmuValidArea(dst) || !XmuValidArea(src))
- {
- XmuDestroyScanlineList(dst->scanline);
- dst->scanline = (XmuScanline *)NULL;
- return (dst);
- }
- z = p = dst->scanline;
- Z = P = src->scanline;
- top = XmuNewScanline(dst->scanline->y, 0, 0);
- XmuScanlineCopy(top, dst->scanline);
-
- while (z)
- {
- while (Z->next && Z->next->y < z->y)
- {
- P = Z;
- Z = Z->next;
- if (Z->y >= p->y)
- {
- XmuScanline *q = XmuNewScanline(Z->y, 0, 0);
- XmuScanlineCopy(q, Z);
-
- XmuScanlineAnd(q, top);
- if (p->y != P->y)
- {
- XmuScanlineAnd(p, P);
- p->y = XmuMax(p->y, P->y);
- }
- p->next = q;
- q->next = z;
- p = q;
- }
- }
- if (!z->next)
- {
- z->y = XmuMax(z->y, Z->y);
- break;
- }
- while (Z->y >= z->next->y)
- {
- if (z == dst->scanline)
- {
- p = dst->scanline = dst->scanline->next;
- XmuDestroyScanline(z);
- z = dst->scanline;
- }
- else
- {
- p->next = z->next;
- XmuDestroyScanline(z);
- z = p;
- }
- if (!z || !z->next)
- {
- XmuOptimizeArea(dst);
- XmuDestroyScanline(top);
-
- return (dst);
- }
- }
- if (Z->y > p->y)
- z->y = XmuMax(z->y, Z->y);
- if (top->y != z->y)
- {
- XmuScanlineCopy(top, z);
- top->y = z->y;
- }
- XmuScanlineAnd(z, Z);
- p = z;
- z = z->next;
- }
- XmuOptimizeArea(dst);
- XmuDestroyScanline(top);
-
- return (dst);
-}
-
-/*
- * Function:
- * XmuValidArea(area)
- *
- * Parameters:
- * area - area to verify
- *
- * Description:
- * Verifies if the area is valid and/or useful
- */
-Bool
-XmuValidArea(XmuArea *area)
-{
- XmuScanline *at;
-
- if (!area || !area->scanline)
- return (False);
-
- at = area->scanline;
- while (at)
- {
- if (XmuValidScanline(at))
- return (True);
- at = at->next;
- }
-
- return (False);
-}
-
-/*
- * Function:
- * XmuValidScanline
- *
- * Parameters:
- * scanline - scanline to verify
- *
- * Description:
- * Verifies if a scanline is useful
- */
-Bool
-XmuValidScanline(XmuScanline *scanline)
-{
- XmuSegment *z;
-
- if (!scanline)
- return (False);
-
- z = scanline->segment;
- while (z)
- {
- if (XmuValidSegment(z))
- return (True);
- z = z->next;
- }
-
- return (False);
-}
-
-/*
- * Function:
- * XmuScanlineEqu
- *
- * Parameters:
- * s1 - scanline 1
- * s2 - scanline 2
- *
- * Description:
- * Checks if s1 and s2 are equal
- */
-Bool
-XmuScanlineEqu(XmuScanline *s1, XmuScanline *s2)
-{
- XmuSegment *z, *Z;
-
- if ((!s1 && !s2) || s1 == s2)
- return (True);
- if (!s1 || !s2)
- return (False);
-
- z = s1->segment;
- Z = s2->segment;
-
- /*CONSTCOND*/
- while (1)
- {
- if (!z && !Z)
- return (True);
- if (!z || !Z)
- return (False);
- if (!XmuSegmentEqu(z, Z))
- return (False);
- z = z->next;
- Z = Z->next;
- }
- /*NOTREACHED*/
-}
-
-/*
- * Function:
- * XmuNewSegment
- *
- * Parameters:
- * x1 - coordinates of the segment
- * x2 - ""
- *
- * Description:
- * Creates a new segments with the coordinates x1 and x2
- *
- * Returns:
- * New Segment of NULL
- */
-XmuSegment *
-XmuNewSegment(int x1, int x2)
-{
- XmuSegment *segment;
-
- if ((segment = (XmuSegment *)XtMalloc(sizeof(XmuSegment))) == NULL)
- return (segment);
-
- segment->x1 = x1;
- segment->x2 = x2;
- segment->next = (XmuSegment *)NULL;
-
- return (segment);
-}
-
-/*
- * Function:
- * XmuDestroySegmentList
- *
- * Parameters:
- * segment - Segment to destroy
- *
- * Description:
- * Frees the memory used by the list headed by segment
- */
-void
-XmuDestroySegmentList(XmuSegment *segment)
-{
- XmuSegment *z;
-
- if (!segment)
- return;
-
- while (segment)
- {
- z = segment;
- segment = segment->next;
- XmuDestroySegment(z);
- }
-}
-
-/*
- * Function:
- * XmuScanlineCopy
- *
- * Parameters:
- * dst - destination scanline
- * src - source scanline
- *
- * Description:
- * Makes dst contain the same data as src
- */
-XmuScanline *
-XmuScanlineCopy(XmuScanline *dst, XmuScanline *src)
-{
- XmuSegment *z, *p, *Z;
-
- if (!dst || !src || dst == src)
- return (dst);
-
- z = p = dst->segment;
- Z = src->segment;
-
- /*CONSTCOND*/
- while (1)
- {
- if (!Z)
- {
- if (z == dst->segment)
- dst->segment = (XmuSegment *)NULL;
- else
- p->next = (XmuSegment *)NULL;
- XmuDestroySegmentList(z);
- return (dst);
- }
- if (z)
- {
- z->x1 = Z->x1;
- z->x2 = Z->x2;
- }
- else
- {
- z = XmuNewSegment(Z->x1, Z->x2);
- if (p == dst->segment && !dst->segment)
- p = dst->segment = z;
- else
- p->next = z;
- }
- p = z;
- z = z->next;
- Z = Z->next;
- }
- /*NOTREACHED*/
-}
-
-/*
- * Function:
- * XmuAppendSegment
- *
- * Parameters:
- * segment - destination segment
- * append - segment to add
- *
- * Description:
- * Adds a copy of the append list at the end of the segment list
- */
-Bool
-XmuAppendSegment(XmuSegment *segment, XmuSegment *append)
-{
- if (!segment || !append)
- return (False);
-
- if (segment->next)
- /* Should not happen! */
- XmuDestroySegmentList(segment->next);
-
- while (append)
- {
- if (XmuValidSegment(append))
- {
- if ((segment->next = XmuNewSegment(append->x1, append->x2)) == NULL)
- return (False);
- segment = segment->next;
- }
- append = append->next;
- }
-
- return (True);
-}
-
-/*
- * Function:
- * XmuOptimizeScanline
- *
- * Parameters:
- * scanline - scanline to optimize
- *
- * Description:
- * Some functions, when transforming Segments of Scanlines, left these
- * with unnecessary data (that may cause error in these same functions).
- * This function corrects these incorrect segments.
- */
-XmuScanline *
-XmuOptimizeScanline(XmuScanline *scanline)
-{
- XmuSegment *z, *p;
-
- while (scanline->segment && !XmuValidSegment(scanline->segment))
- {
- XmuSegment *s = scanline->segment;
-
- scanline->segment = scanline->segment->next;
- XmuDestroySegment(s);
- }
- for (z = p = scanline->segment; z; p = z, z = z->next)
- {
- if (!XmuValidSegment(z))
- {
- p->next = z->next;
- XmuDestroySegment(z);
- z = p;
- }
- }
- return (scanline);
-}
-
-/*
- * Name:
- * XmuScanlineNot(scanline, minx, maxx)
- *
- * Parameters:
- * scanline - scanlines operate
- * minx - minimum x coordinate
- * maxx - maximum x coordinate
- *
- * Description:
- * (minx) (maxx)
- * + +
- * (input) +---------+ +--------+ +--------+
- * (output) +-----+ +-----+ +--------+ +------------+
- */
-XmuScanline *
-XmuScanlineNot(XmuScanline *scanline, int minx, int maxx)
-{
- XmuSegment *z;
- static XmuSegment x = { 0, 0, 0 };
- static XmuScanline and = { 0, &x, 0 };
-
- if (!scanline)
- return (scanline);
-
- XmuOptimizeScanline(scanline);
- if (minx > maxx)
- {
- minx ^= maxx; maxx ^= minx; minx ^= maxx;
- }
- and.segment->x1 = minx;
- and.segment->x2 = maxx;
- XmuScanlineAnd(scanline, &and);
- if (!scanline->segment)
- {
- scanline->segment = XmuNewSegment(minx, maxx);
- return (scanline);
- }
- z = scanline->segment;
- if (z->x1 != minx)
- {
- XmuSegment *q = XmuNewSegment(minx, z->x1);
-
- q->next = z;
- scanline->segment = q;
- }
-
- /*CONSTCOND*/
- while (1)
- {
- z->x1 = z->x2;
- if (!z->next)
- {
- z->x2 = maxx;
- break;
- }
- z->x2 = z->next->x1;
- if (z->next->x2 == maxx)
- {
- XmuDestroySegment(z->next);
- z->next = (XmuSegment *)NULL;
- break;
- }
- z = z->next;
- }
-
- return (scanline);
-}
-
-
-#ifndef notdef
-/*
- * Function:
- * XmuScanlineOrSegment
- *
- * Parameters:
- * dst - destionation scanline
- * src - source segment
- *
- * Description:
- * (input) +-----------+ +--------+ +---------+
- * (src) +-------------------+
- * (output) +-------------------------+ +---------+
- */
-XmuScanline *
-XmuScanlineOrSegment(XmuScanline *dst, XmuSegment *src)
-{
- XmuSegment *z, *p, ins;
-
- if (!src || !dst || !XmuValidSegment(src))
- return (dst);
-
- if (!dst->segment)
- {
- dst->segment = XmuNewSegment(src->x1, src->x2);
- return (dst);
- }
-
- z = p = dst->segment;
- ins.x1 = src->x1;
- ins.x2 = src->x2;
-
- /*CONSTCOND*/
- while (1)
- {
- if (!z)
- {
- XmuSegment *q = XmuNewSegment(ins.x1, ins.x2);
-
- if (p == dst->segment && z == p)
- dst->segment = q;
- else
- p->next = q;
- break;
- }
- else if (ins.x2 < z->x1)
- {
- XmuSegment *q = XmuNewSegment(ins.x1, ins.x2);
-
- if (p == dst->segment && z == p)
- {
- q->next = dst->segment;
- dst->segment = q;
- }
- else
- {
- p->next = q;
- q->next = z;
- }
- break;
- }
- else if (ins.x2 <= z->x2)
- {
- z->x1 = XmuMin(z->x1, ins.x1);
- break;
- }
- else if (ins.x1 <= z->x2)
- {
- ins.x1 = XmuMin(z->x1, ins.x1);
- if (!z->next)
- {
- z->x1 = ins.x1;
- z->x2 = ins.x2;
- break;
- }
- else
- {
- if (z == dst->segment)
- {
- p = dst->segment = dst->segment->next;
- XmuDestroySegment(z);
- z = dst->segment;
- continue;
- }
- else
- {
- p->next = z->next;
- XmuDestroySegment(z);
- z = p;
- }
- }
- }
- p = z;
- z = z->next;
- }
-
- return (dst);
-}
-
-/*
- * Function:
- * XmuScanlineAndSegment
- *
- * Parameters:
- * dst - destination scanline
- * src - source segment
- *
- * Description:
- * (input) +------------+ +------+ +----------+
- * (src) +---------------------+
- * (output) +-------+ +------+
- */
-XmuScanline *
-XmuScanlineAndSegment(XmuScanline *dst, XmuSegment *src)
-{
- XmuSegment *z, *p;
-
- if (!dst || !src)
- return (dst);
-
- if (!XmuValidSegment(src))
- {
- XmuDestroySegmentList(dst->segment);
- dst->segment = (XmuSegment *)NULL;
- return (dst);
- }
- if (!dst->segment)
- return (dst);
-
- z = p = dst->segment;
- while (z)
- {
- if (src->x2 <= z->x1 || src->x1 >= z->x2)
- {
- if (z == dst->segment)
- {
- p = dst->segment = dst->segment->next;
- XmuDestroySegment(z);
- z = dst->segment;
- continue;
- }
- else
- {
- p->next = z->next;
- XmuDestroySegment(z);
- z = p;
- }
- }
- else
- {
- z->x1 = XmuMax(z->x1, src->x1);
- z->x2 = XmuMin(z->x2, src->x2);
- }
- p = z;
- z = z->next;
- }
-
- return (dst);
-}
-
-/*
- * Function:
- * XmuScanlineXorSegment
- *
- * Parameters:
- * dst - destionation scanline
- * src - source segment
- *
- * Descriptipn:
- * (input) +------------+ +----------+ +-----------+
- * (src) +------------------------+
- * (output) +---+ +--+ +-+ +-----------+
- */
-XmuScanline *
-XmuScanlineXorSegment(XmuScanline *dst, XmuSegment *src)
-{
- XmuSegment *p, *z, ins;
- int tmp1, tmp2;
-
- if (!dst || !src || !XmuValidSegment(src))
- return (dst);
- if (!dst->segment)
- {
- dst->segment = XmuNewSegment(src->x1, src->x2);
- return (dst);
- }
-
- p = z = dst->segment;
- ins.x1 = src->x1;
- ins.x2 = src->x2;
-
- /*CONSTCOND*/
- while (1)
- {
- if (!XmuValidSegment((&ins)))
- break;
- if (!z || ins.x2 < z->x1)
- {
- XmuSegment *q = XmuNewSegment(ins.x1, ins.x2);
-
- q->next = z;
- if (z == dst->segment)
- dst->segment = q;
- else
- p->next = q;
- break;
- }
- else if (ins.x2 == z->x1)
- {
- z->x1 = ins.x1;
- break;
- }
- else if (ins.x1 < z->x2)
- {
- if (ins.x1 < z->x1)
- {
- tmp1 = ins.x2;
- tmp2 = z->x2;
- ins.x2 = XmuMax(ins.x2, z->x2);
- z->x2 = z->x1;
- z->x1 = ins.x1;
- ins.x1 = XmuMin(tmp1, tmp2);
- }
- else if (ins.x1 > z->x1)
- {
- tmp1 = ins.x1;
- ins.x1 = XmuMin(ins.x2, z->x2);
- ins.x2 = XmuMax(z->x2, ins.x2);
- z->x2 = tmp1;
- }
- else /* ins.x1 == z->x1 */
- {
- if (ins.x2 < z->x2)
- {
- z->x1 = ins.x2;
- break;
- }
- else
- {
- ins.x1 = z->x2;
- if (z == dst->segment)
- p = dst->segment = dst->segment->next;
- else
- p->next = z->next;
- XmuDestroySegment(z);
- z = p;
- continue;
- }
- }
- }
- else if (ins.x1 == z->x2)
- {
- ins.x1 = z->x1;
- if (z == dst->segment)
- p = dst->segment = dst->segment->next;
- else
- p->next = z->next;
- XmuDestroySegment(z);
- z = p;
- continue;
- }
- p = z;
- z = z->next;
- }
-
- return (dst);
-}
-#endif /* notdef */
-
-/*
- * Function:
- * ScanlineOr
- *
- * Parameters:
- * dst - destionation scanline
- * src - source scanline
- *
- * Description:
- * (input) +--------------+ +-----+ +----------+
- * (src) +---------------------+ +-----------+
- * (output) +-------------------------+ +----------------+
- */
-XmuScanline *
-XmuScanlineOr(XmuScanline *dst, XmuScanline *src)
-{
- XmuSegment *z, *p, *Z, ins;
-
- if (!src || !src->segment || !dst || dst == src)
- return (dst);
- if (!dst->segment)
- {
- XmuScanlineCopy(dst, src);
- return (dst);
- }
-
- z = p = dst->segment;
- Z = src->segment;
- ins.x1 = Z->x1;
- ins.x2 = Z->x2;
-
- /*CONSTCOND*/
- while (1)
- {
- while (!XmuValidSegment((&ins)))
- {
- if ((Z = Z->next) == (XmuSegment *)NULL)
- return (dst);
- ins.x1 = Z->x1;
- ins.x2 = Z->x2;
- }
- if (!z)
- {
- XmuSegment *q = XmuNewSegment(ins.x1, ins.x2);
-
- if (p == dst->segment && z == p)
- dst->segment = p = q;
- else
- {
- p->next = q;
- p = q;
- }
- Z = Z->next;
- XmuAppendSegment(p, Z);
- break;
- }
- else if (ins.x2 < z->x1)
- {
- XmuSegment *r = XmuNewSegment(ins.x1, ins.x2);
-
- if (p == dst->segment && z == p)
- {
- r->next = dst->segment;
- dst->segment = p = r;
- }
- else
- {
- p->next = r;
- r->next = z;
- p = r;
- }
- Z = Z->next;
- if (!Z)
- break;
- else
- {
- ins.x1 = Z->x1;
- ins.x2 = Z->x2;
- continue;
- }
- }
- else if (ins.x2 <= z->x2)
- {
- z->x1 = XmuMin(z->x1, ins.x1);
- Z = Z->next;
- if (!Z)
- break;
- else
- {
- ins.x1 = Z->x1;
- ins.x2 = Z->x2;
- continue;
- }
- }
- else if (ins.x1 <= z->x2)
- {
- ins.x1 = XmuMin(z->x1, ins.x1);
- if (!z->next)
- {
- z->x1 = ins.x1;
- z->x2 = ins.x2;
- p = z;
- Z = Z->next;
- XmuAppendSegment(p, Z);
- break;
- }
- else
- {
- if (z == dst->segment)
- {
- p = dst->segment = dst->segment->next;
- XmuDestroySegment(z);
- z = p;
- continue;
- }
- else
- {
- p->next = z->next;
- XmuDestroySegment(z);
- z = p;
- }
- }
- }
- p = z;
- z = z->next;
- }
-
- return (dst);
-}
-
-/*
- * Function:
- * XmuScanlineAnd
- *
- * Parameters:
- * dst - destination scanline
- * src - source scanline
- *
- * Description:
- * (input) +--------------+ +-----+ +----------+
- * (src) +---------------------+ +-----------+
- * (output) +----------+ +-----+ +-----+
- */
-XmuScanline *
-XmuScanlineAnd(XmuScanline *dst, XmuScanline *src)
-{
- XmuSegment *z, *p, *Z;
-
- if (!dst || !src || dst == src || !dst->segment) {
- return (dst);
- }
- if (!src->segment)
- {
- XmuDestroySegmentList(dst->segment);
- dst->segment = (XmuSegment *)NULL;
- return (dst);
- }
- z = p = dst->segment;
- Z = src->segment;
-
- while (z)
- {
- while (!XmuValidSegment(Z) || Z->x2 <= z->x1)
- {
- Z = Z->next;
- if (!Z)
- {
- if (z == dst->segment)
- dst->segment = (XmuSegment *)NULL;
- else
- p->next = (XmuSegment *)0;
- XmuDestroySegmentList(z);
- return (dst);
- }
- }
- if (Z->x1 >= z->x2)
- {
- if (z == dst->segment)
- {
- p = dst->segment = dst->segment->next;
- XmuDestroySegment(z);
- z = dst->segment;
- }
- else
- {
- p->next = z->next;
- XmuDestroySegment(z);
- z = p->next;
- }
- if (!z)
- return (dst);
- else
- continue;
- }
- z->x1 = XmuMax(z->x1, Z->x1);
- if (z->x2 > Z->x2)
- {
- if (Z->next)
- {
- XmuSegment *q = XmuNewSegment(Z->x2, z->x2);
-
- q->next = z->next;
- z->next = q;
- }
- z->x2 = Z->x2;
- }
- p = z;
- z = z->next;
- }
-
- return (dst);
-}
-
-/*
- * Function:
- * ScanlineXor
- *
- * Parameters:
- * dst - destination scanline
- * src - source scanline
- *
- * Description:
- * (input) +--------------+ +-----+ +----------+
- * (src) +---------------------+ +-----------+
- * (output) +---+ +--+ +-+ +----+ +-----+
- */
-XmuScanline *
-XmuScanlineXor(XmuScanline *dst, XmuScanline *src)
-{
- XmuSegment *z, *p, *Z, ins;
- int tmp1, tmp2;
-
- if (!src || !dst || !src->segment)
- return (dst);
- if (src == dst)
- {
- XmuDestroySegmentList(dst->segment);
- dst->segment = (XmuSegment *)NULL;
- return (dst);
- }
- if (!dst->segment)
- {
- XmuScanlineCopy(dst, src);
- return (dst);
- }
-
- z = p = dst->segment;
- Z = src->segment;
- ins.x1 = Z->x1;
- ins.x2 = Z->x2;
-
- /*CONSTCOND*/
- while (1)
- {
- while (!XmuValidSegment((&ins)))
- {
- if ((Z = Z->next) == (XmuSegment *)NULL)
- return (dst);
- ins.x1 = Z->x1;
- ins.x2 = Z->x2;
- }
- if (!z)
- {
- XmuSegment *q = XmuNewSegment(ins.x1, ins.x2);
-
- if (!dst->segment)
- dst->segment = q;
- else
- p->next = q;
- p = q;
- Z = Z->next;
- XmuAppendSegment(p, Z);
- break;
- }
- else if (ins.x2 < z->x1)
- {
- XmuSegment *q = XmuNewSegment(ins.x1, ins.x2);
-
- q->next = z;
- if (z == dst->segment)
- dst->segment = q;
- else
- p->next = q;
- if ((Z = Z->next) == (XmuSegment *)NULL)
- return (dst);
-
- p = q;
- ins.x1 = Z->x1;
- ins.x2 = Z->x2;
- continue;
- }
- else if (ins.x2 == z->x1)
- {
- z->x1 = ins.x1;
- if ((Z = Z->next) == (XmuSegment *)NULL)
- break;
- ins.x1 = Z->x1;
- ins.x2 = Z->x2;
- continue;
- }
- else if (ins.x1 < z->x2)
- {
- if (ins.x1 == z->x1)
- {
- if (ins.x2 < z->x2)
- {
- z->x1 = ins.x2;
- if ((Z = Z->next) == (XmuSegment *)NULL)
- break;
- ins.x1 = Z->x1;
- ins.x2 = Z->x2;
- continue;
- }
- else
- {
- ins.x1 = z->x2;
- if (z == dst->segment)
- p = dst->segment = dst->segment->next;
- else
- p->next = z->next;
- XmuDestroySegment(z);
- z = p;
- continue;
- }
- }
- else
- {
- if (Z->x2 < z->x2)
- {
- XmuSegment *q = XmuNewSegment(XmuMin(ins.x1, z->x1),
- XmuMax(z->x1, ins.x1));
-
- q->next = z;
- if (z == dst->segment)
- dst->segment = q;
- else
- p->next = q;
- ins.x1 = z->x2;
- z->x1 = ins.x2;
- p = q;
- continue;
- }
- else
- {
- tmp1 = ins.x2;
- tmp2 = z->x2;
- ins.x2 = XmuMax(ins.x2, z->x2);
- z->x2 = XmuMax(z->x1, ins.x1);
- z->x1 = XmuMin(ins.x1, z->x1);
- ins.x1 = XmuMin(tmp1, tmp2);
- }
- }
- }
- else if (ins.x1 == z->x2)
- {
- ins.x1 = z->x1;
- if (z == dst->segment)
- p = dst->segment = dst->segment->next;
- else
- p->next = z->next;
- XmuDestroySegment(z);
- z = p;
- continue;
- }
- p = z;
- z = z->next;
- }
-
- return (dst);
-}
-
-/*
- * Function:
- * XmuNewScanline
- *
- * Parameters:
- * y - y coordinate
- * x1 - left coordinate
- * x2 - right coordinate
- *
- * Description:
- * Creates a new Scanline
- */
-XmuScanline *
-XmuNewScanline(int y, int x1, int x2)
-{
- XmuScanline *scanline;
-
- scanline = (XmuScanline *)XtMalloc(sizeof(XmuScanline));
- scanline->y = y;
- if (x1 < x2)
- scanline->segment = XmuNewSegment(x1, x2);
- else
- scanline->segment = (XmuSegment *)NULL;
-
- scanline->next = (XmuScanline *)NULL;
-
- return (scanline);
-}
-
-/*
- * Function:
- * XmuDestroyScanlineList
- *
- * Parameters:
- * scanline - scanline list to destroy
- *
- * Description:
- * Destroy a scanline list
- *
- * Observation:
- * Use as follow:
- * XmuDestroyScanlineList(area->scanline);
- * area->scanline = (XmuScanline *)NULL;
- */
-void
-XmuDestroyScanlineList(XmuScanline *scanline)
-{
- XmuScanline *z;
-
- if (!scanline)
- return;
-
- while (scanline)
- {
- z = scanline;
- scanline = scanline->next;
- XmuDestroyScanline(z);
- }
-}
-
-/*
- * Function:
- * XmuOptimizeArea
- *
- * Parameters:
- * area - area to optimize
- *
- * Description:
- * Optimizes an area. This function is called when finishing a
- * operation between areas, since they can end with redundant data,
- * and the algorithms for area combination waits a area with
- * correct data (but can left unnecessary data in the area, to avoid
- * to much paranoia tests).
- */
-XmuArea *XmuOptimizeArea(XmuArea *area)
-{
- XmuScanline *pr, *at;
-
- if (!area || !area->scanline)
- return (area);
-
- if (!area->scanline->next)
- {
- XmuDestroyScanlineList(area->scanline);
- area->scanline = (XmuScanline *)0;
- return (area);
- }
-
- pr = area->scanline;
- at = area->scanline->next;
- while (area->scanline && (!XmuValidScanline(area->scanline)
- || (area->scanline->next && area->scanline->y
- >= area->scanline->next->y)))
- {
- area->scanline = area->scanline->next;
- XmuDestroyScanline(pr);
- pr = area->scanline;
- if (pr)
- at = pr->next;
- }
-
- for (; at; pr = at, at = at->next)
- {
- if (XmuScanlineEqu(at, pr)
- || (!XmuValidScanline(at) && !XmuValidScanline(pr))
- || (at->next && at->y >= at->next->y))
- {
- pr->next = at->next;
- XmuDestroyScanline(at);
- at = pr;
- }
- }
- if (pr && XmuValidScanline(pr))
- {
- XmuDestroySegmentList(pr->segment);
- pr->segment = (XmuSegment *)NULL;
- }
- if (area->scanline && !area->scanline->next)
- {
- XmuDestroyScanlineList(area->scanline);
- area->scanline = (XmuScanline *)NULL;
- }
-
- return (area);
-}
diff --git a/nx-X11/lib/Xmu/CloseHook.c b/nx-X11/lib/Xmu/CloseHook.c
deleted file mode 100644
index 5e66d0cad..000000000
--- a/nx-X11/lib/Xmu/CloseHook.c
+++ /dev/null
@@ -1,297 +0,0 @@
-/* $Xorg: CloseHook.c,v 1.4 2001/02/09 02:03:51 xorgcvs Exp $ */
-
-/*
-Copyright 1989, 1998 The Open Group
-
-Permission to use, copy, modify, distribute, and sell this software and its
-documentation for any purpose is hereby granted without fee, provided that
-the above copyright notice appear in all copies and that both that
-copyright notice and this permission notice appear in supporting
-documentation.
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
-AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
-CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-Except as contained in this notice, the name of The Open Group shall not be
-used in advertising or otherwise to promote the sale, use or other dealings
-in this Software without prior written authorization from The Open Group.
-
-*/
-/* $XFree86: xc/lib/Xmu/CloseHook.c,v 3.5 2001/07/25 15:04:50 dawes Exp $ */
-
-/*
- * CloseDisplayHook package - provide callback on XCloseDisplay
- *
- * *
- * Author: Jim Fulton, MIT X Consortium
- *
- *
- * Public Entry Points
- *
- * CloseHook XmuAddCloseDisplayHook (dpy, func, arg)
- * Display *dpy;
- * XmuCloseHookProc func;
- * XPointer arg;
- *
- * Bool XmuRemoveCloseDisplayHook (dpy, hook, func, arg)
- * Display *dpy;
- * CloseHook hook;
- * XmuCloseHookProc func;
- * XPointer arg;
- *
- * Bool XmuLookupCloseDisplayHook (dpy, hook, func, arg)
- * Display *dpy;
- * CloseHook hook;
- * XmuCloseHookProc func;
- * XPointer arg;
- *
- */
-
-#ifdef HAVE_CONFIG_H
-#include <config.h>
-#endif
-#include <stdio.h> /* for NULL */
-#include <X11/Xos.h>
-#include <X11/Xlib.h>
-#include <X11/Xmu/CloseHook.h>
-#include <stdlib.h>
-
-/*
- * Private data
- *
- * This is a list of display entries, each of which contains a list of callback
- * records.
- */
-
-typedef struct _CallbackRec {
- struct _CallbackRec *next; /* next link in chain */
- XmuCloseHookProc func; /* function to call */
- XPointer arg; /* argument to pass with function */
-} CallbackRec;
-
-
-typedef struct _DisplayEntry {
- struct _DisplayEntry *next; /* next link in chain */
- Display *dpy; /* the display this represents */
- int extension; /* from XAddExtension */
- struct _CallbackRec *start, *end; /* linked list of callbacks */
- struct _CallbackRec *calling; /* currently being called back */
-} DisplayEntry;
-
-/*
- * Prototypes
- */
-static DisplayEntry *_FindDisplayEntry(Display*, DisplayEntry**);
-static Bool _MakeExtension(Display*, int*);
-
-static DisplayEntry *elist = NULL;
-
-
-/*
- *****************************************************************************
- * Public Entry Points *
- *****************************************************************************
- */
-
-/*
- * Add - add a callback for the given display. When the display is closed,
- * the given function will be called as:
- *
- * (*func) (dpy, arg)
- *
- * This function is declared to return an int even though the value is ignored
- * because some compilers have problems with functions returning void.
- *
- * This routine returns NULL if it was unable to add the callback, otherwise
- * it returns an untyped pointer that can be used with Remove or Lookup, but
- * not dereferenced.
- */
-CloseHook
-XmuAddCloseDisplayHook(Display *dpy, XmuCloseHookProc func, XPointer arg)
-{
- DisplayEntry *de;
- CallbackRec *cb;
-
- /* allocate ahead of time so that we can fail atomically */
- cb = (CallbackRec *) malloc (sizeof (CallbackRec));
- if (!cb) return ((XPointer) NULL);
-
- de = _FindDisplayEntry (dpy, NULL);
- if (!de) {
- if ((de = (DisplayEntry *) malloc (sizeof (DisplayEntry))) == NULL ||
- !_MakeExtension (dpy, &de->extension)) {
- free ((char *) cb);
- if (de) free ((char *) de);
- return ((CloseHook) NULL);
- }
- de->dpy = dpy;
- de->start = de->end = NULL;
- de->calling = NULL;
- de->next = elist;
- elist = de;
- }
-
- /* add to end of list of callback recordss */
- cb->func = func;
- cb->arg = arg;
- cb->next = NULL;
- if (de->end) {
- de->end->next = cb;
- } else {
- de->start = cb;
- }
- de->end = cb;
-
- return ((CloseHook) cb);
-}
-
-
-/*
- * Remove - get rid of a callback. If handle is non-null, use that to compare
- * entries. Otherwise, remove first instance of the function/argument pair.
- */
-Bool
-XmuRemoveCloseDisplayHook(Display *dpy, CloseHook handle,
- XmuCloseHookProc func, XPointer arg)
-{
- DisplayEntry *de = _FindDisplayEntry (dpy, NULL);
- register CallbackRec *h, *prev;
-
- if (!de) return False;
-
- /* look for handle or function/argument pair */
- for (h = de->start, prev = NULL; h; h = h->next) {
- if (handle) {
- if (h == (CallbackRec *) handle) break;
- } else {
- if (h->func == func && h->arg == arg) break;
- }
- prev = h;
- }
- if (!h) return False;
-
-
- /* remove from list, watch head and tail */
- if (de->start == h) {
- de->start = h->next;
- } else {
- prev->next = h->next;
- }
- if (de->end == h) de->end = prev;
- if (de->calling != h) free ((char *) h);
- return True;
-}
-
-
-/*
- * Lookup - see whether or not a handle has been installed. If handle is
- * non-NULL, look for an entry that matches it; otherwise look for an entry
- * with the same function/argument pair.
- */
-Bool
-XmuLookupCloseDisplayHook(Display *dpy, CloseHook handle,
- XmuCloseHookProc func, XPointer arg)
-{
- DisplayEntry *de = _FindDisplayEntry (dpy, NULL);
- register CallbackRec *h;
-
- if (!de) return False;
-
- for (h = de->start; h; h = h->next) {
- if (handle) {
- if (h == (CallbackRec *) handle) break;
- } else {
- if (h->func == func && h->arg == arg) break;
- }
- }
- return (h ? True : False);
-}
-
-
-/*
- *****************************************************************************
- * internal routines *
- *****************************************************************************
- */
-
-
-/*
- * Find the specified display on the linked list of displays. Also return
- * the preceeding link so that the display can be unlinked without having
- * back pointers.
- */
-static DisplayEntry *
-_FindDisplayEntry(register Display *dpy, DisplayEntry **prevp)
-{
- register DisplayEntry *d, *prev;
-
- for (d = elist, prev = NULL; d; d = d->next) {
- if (d->dpy == dpy) {
- if (prevp) *prevp = prev;
- return d;
- }
- prev = d;
- }
- return NULL;
-}
-
-
-
-/*
- * _DoCallbacks - process all of the callbacks for this display and free
- * the associated callback data (callback records and display entries).
- */
-/* ARGSUSED */
-static int
-_DoCallbacks(Display *dpy, XExtCodes *codes)
-{
- register CallbackRec *h;
- DisplayEntry *prev;
- DisplayEntry *de = _FindDisplayEntry (dpy, &prev);
-
- if (!de) return 0;
-
- /* walk the list doing the callbacks and freeing callback record */
- for (h = de->start; h;) {
- register CallbackRec *nexth = h->next;
- de->calling = h; /* let remove know we'll free it */
- (*(h->func)) (dpy, h->arg);
- de->calling = NULL;
- free ((char *) h);
- h = nexth;
- }
-
- /* unlink this display from chain */
- if (elist == de) {
- elist = de->next;
- } else {
- prev->next = de->next;
- }
- free ((char *) de);
- return 1;
-}
-
-
-/*
- * _MakeExtension - create an extension for this display; done once per display
- */
-static Bool
-_MakeExtension(Display *dpy, int *extensionp)
-{
- XExtCodes *codes;
-
- codes = XAddExtension (dpy);
- if (!codes) return False;
-
- (void) XESetCloseDisplay (dpy, codes->extension, _DoCallbacks);
-
- *extensionp = codes->extension;
- return True;
-}
diff --git a/nx-X11/lib/Xmu/CloseHook.h b/nx-X11/lib/Xmu/CloseHook.h
deleted file mode 100644
index 1940a793b..000000000
--- a/nx-X11/lib/Xmu/CloseHook.h
+++ /dev/null
@@ -1,73 +0,0 @@
-/* $Xorg: CloseHook.h,v 1.5 2001/02/09 02:03:51 xorgcvs Exp $ */
-
-/*
-
-Copyright 1988, 1998 The Open Group
-
-Permission to use, copy, modify, distribute, and sell this software and its
-documentation for any purpose is hereby granted without fee, provided that
-the above copyright notice appear in all copies and that both that
-copyright notice and this permission notice appear in supporting
-documentation.
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
-AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
-CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-Except as contained in this notice, the name of The Open Group shall not be
-used in advertising or otherwise to promote the sale, use or other dealings
-in this Software without prior written authorization from The Open Group.
-
-*/
-/* $XFree86: xc/lib/Xmu/CloseHook.h,v 1.6 2001/01/17 19:42:53 dawes Exp $ */
-
-/*
- * The interfaces described by this header file are for miscellaneous utilities
- * and are not part of the Xlib standard.
- */
-
-#ifndef _XMU_CLOSEHOOK_H_
-#define _XMU_CLOSEHOOK_H_
-
-#include <X11/Xlib.h>
-#include <X11/Xfuncproto.h>
-#include <X11/Xlibint.h>
-
-typedef XPointer CloseHook;
-
-typedef int (*XmuCloseHookProc)(Display *dpy, XPointer data);
-
-_XFUNCPROTOBEGIN
-
-CloseHook XmuAddCloseDisplayHook
-(
- Display *dpy,
- XmuCloseHookProc proc,
- XPointer arg
- );
-
-Bool XmuLookupCloseDisplayHook
-(
- Display *dpy,
- CloseHook handle,
- XmuCloseHookProc proc,
- XPointer arg
- );
-
-Bool XmuRemoveCloseDisplayHook
-(
- Display *dpy,
- CloseHook handle,
- XmuCloseHookProc proc,
- XPointer arg
- );
-
-_XFUNCPROTOEND
-
-#endif /* _XMU_CLOSEHOOK_H_ */
diff --git a/nx-X11/lib/Xmu/CmapAlloc.c b/nx-X11/lib/Xmu/CmapAlloc.c
deleted file mode 100644
index 1f27f1eef..000000000
--- a/nx-X11/lib/Xmu/CmapAlloc.c
+++ /dev/null
@@ -1,346 +0,0 @@
-/* $Xorg: CmapAlloc.c,v 1.4 2001/02/09 02:03:51 xorgcvs Exp $ */
-
-/*
-
-Copyright 1989, 1994, 1998 The Open Group
-
-Permission to use, copy, modify, distribute, and sell this software and its
-documentation for any purpose is hereby granted without fee, provided that
-the above copyright notice appear in all copies and that both that
-copyright notice and this permission notice appear in supporting
-documentation.
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
-AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
-CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-Except as contained in this notice, the name of The Open Group shall not be
-used in advertising or otherwise to promote the sale, use or other dealings
-in this Software without prior written authorization from The Open Group.
-
-*/
-/* $XFree86: xc/lib/Xmu/CmapAlloc.c,v 1.6 2001/01/17 19:42:53 dawes Exp $ */
-
-/*
- * Author: Donna Converse, MIT X Consortium
- */
-
-#ifdef HAVE_CONFIG_H
-#include <config.h>
-#endif
-#include <X11/Xlib.h>
-#include <X11/Xatom.h>
-#include <X11/Xutil.h>
-#include <X11/Xmu/StdCmap.h>
-#include <stdio.h>
-
-#define lowbit(x) ((x) & (~(x) + 1))
-
-/*
- * Prototypes
- */
-static void best_allocation(XVisualInfo*, unsigned long*, unsigned long*,
- unsigned long*);
-static int default_allocation(XVisualInfo*, unsigned long*,
- unsigned long*, unsigned long*);
-static void gray_allocation(int, unsigned long*, unsigned long*,
- unsigned long*);
-static int icbrt(int);
-static int icbrt_with_bits(int, int);
-static int icbrt_with_guess(int, int);
-
-/* To determine the best allocation of reds, greens, and blues in a
- * standard colormap, use XmuGetColormapAllocation.
- * vinfo specifies visual information for a chosen visual
- * property specifies one of the standard colormap property names
- * red_max returns maximum red value
- * green_max returns maximum green value
- * blue_max returns maximum blue value
- *
- * XmuGetColormapAllocation returns 0 on failure, non-zero on success.
- * It is assumed that the visual is appropriate for the colormap property.
- */
-
-Status
-XmuGetColormapAllocation(XVisualInfo *vinfo, Atom property,
- unsigned long *red_max,
- unsigned long *green_max,
- unsigned long *blue_max)
-{
- Status status = 1;
-
- if (vinfo->colormap_size <= 2)
- return 0;
-
- switch (property)
- {
- case XA_RGB_DEFAULT_MAP:
- status = default_allocation(vinfo, red_max, green_max, blue_max);
- break;
- case XA_RGB_BEST_MAP:
- best_allocation(vinfo, red_max, green_max, blue_max);
- break;
- case XA_RGB_GRAY_MAP:
- gray_allocation(vinfo->colormap_size, red_max, green_max, blue_max);
- break;
- case XA_RGB_RED_MAP:
- *red_max = vinfo->colormap_size - 1;
- *green_max = *blue_max = 0;
- break;
- case XA_RGB_GREEN_MAP:
- *green_max = vinfo->colormap_size - 1;
- *red_max = *blue_max = 0;
- break;
- case XA_RGB_BLUE_MAP:
- *blue_max = vinfo->colormap_size - 1;
- *red_max = *green_max = 0;
- break;
- default:
- status = 0;
- }
- return status;
-}
-
-/****************************************************************************/
-/* Determine the appropriate color allocations of a gray scale.
- *
- * Keith Packard, MIT X Consortium
- */
-
-static void
-gray_allocation(int n, unsigned long *red_max, unsigned long *green_max,
- unsigned long *blue_max)
-{
- *red_max = (n * 30) / 100;
- *green_max = (n * 59) / 100;
- *blue_max = (n * 11) / 100;
- *green_max += ((n - 1) - (*red_max + *green_max + *blue_max));
-}
-
-/****************************************************************************/
-/* Determine an appropriate color allocation for the RGB_DEFAULT_MAP.
- * If a map has less than a minimum number of definable entries, we do not
- * produce an allocation for an RGB_DEFAULT_MAP.
- *
- * For 16 planes, the default colormap will have 27 each RGB; for 12 planes,
- * 12 each. For 8 planes, let n = the number of colormap entries, which may
- * be 256 or 254. Then, maximum red value = floor(cube_root(n - 125)) - 1.
- * Maximum green and maximum blue values are identical to maximum red.
- * This leaves at least 125 cells which clients can allocate.
- *
- * Return 0 if an allocation has been determined, non-zero otherwise.
- */
-
-static int
-default_allocation(XVisualInfo *vinfo, unsigned long *red,
- unsigned long *green, unsigned long *blue)
-{
- int ngrays; /* number of gray cells */
-
- switch (vinfo->class) {
- case PseudoColor:
-
- if (vinfo->colormap_size > 65000)
- /* intended for displays with 16 planes */
- *red = *green = *blue = (unsigned long) 27;
- else if (vinfo->colormap_size > 4000)
- /* intended for displays with 12 planes */
- *red = *green = *blue = (unsigned long) 12;
- else if (vinfo->colormap_size < 250)
- return 0;
- else
- /* intended for displays with 8 planes */
- *red = *green = *blue = (unsigned long)
- (icbrt(vinfo->colormap_size - 125) - 1);
- break;
-
- case DirectColor:
-
- if (vinfo->colormap_size < 10)
- return 0;
- *red = *green = *blue = vinfo->colormap_size / 2 - 1;
- break;
-
- case TrueColor:
-
- *red = vinfo->red_mask / lowbit(vinfo->red_mask);
- *green = vinfo->green_mask / lowbit(vinfo->green_mask);
- *blue = vinfo->blue_mask / lowbit(vinfo->blue_mask);
- break;
-
- case GrayScale:
-
- if (vinfo->colormap_size > 65000)
- ngrays = 4096;
- else if (vinfo->colormap_size > 4000)
- ngrays = 512;
- else if (vinfo->colormap_size < 250)
- return 0;
- else
- ngrays = 12;
- gray_allocation(ngrays, red, green, blue);
- break;
-
- default:
- return 0;
- }
- return 1;
-}
-
-/****************************************************************************/
-/* Determine an appropriate color allocation for the RGB_BEST_MAP.
- *
- * For a DirectColor or TrueColor visual, the allocation is determined
- * by the red_mask, green_mask, and blue_mask members of the visual info.
- *
- * Otherwise, if the colormap size is an integral power of 2, determine
- * the allocation according to the number of bits given to each color,
- * with green getting more than red, and red more than blue, if there
- * are to be inequities in the distribution. If the colormap size is
- * not an integral power of 2, let n = the number of colormap entries.
- * Then maximum red value = floor(cube_root(n)) - 1;
- * maximum blue value = floor(cube_root(n)) - 1;
- * maximum green value = n / ((# red values) * (# blue values)) - 1;
- * Which, on a GPX, allows for 252 entries in the best map, out of 254
- * defineable colormap entries.
- */
-
-static void
-best_allocation(XVisualInfo *vinfo, unsigned long *red, unsigned long *green,
- unsigned long *blue)
-{
-
- if (vinfo->class == DirectColor || vinfo->class == TrueColor)
- {
- *red = vinfo->red_mask;
- while ((*red & 01) == 0)
- *red >>= 1;
- *green = vinfo->green_mask;
- while ((*green & 01) == 0)
- *green >>=1;
- *blue = vinfo->blue_mask;
- while ((*blue & 01) == 0)
- *blue >>= 1;
- }
- else
- {
- register int bits, n;
-
- /* Determine n such that n is the least integral power of 2 which is
- * greater than or equal to the number of entries in the colormap.
- */
- n = 1;
- bits = 0;
- while (vinfo->colormap_size > n)
- {
- n = n << 1;
- bits++;
- }
-
- /* If the number of entries in the colormap is a power of 2, determine
- * the allocation by "dealing" the bits, first to green, then red, then
- * blue. If not, find the maximum integral red, green, and blue values
- * which, when multiplied together, do not exceed the number of
-
- * colormap entries.
- */
- if (n == vinfo->colormap_size)
- {
- register int r, g, b;
- b = bits / 3;
- g = b + ((bits % 3) ? 1 : 0);
- r = b + (((bits % 3) == 2) ? 1 : 0);
- *red = 1 << r;
- *green = 1 << g;
- *blue = 1 << b;
- }
- else
- {
- *red = icbrt_with_bits(vinfo->colormap_size, bits);
- *blue = *red;
- *green = (vinfo->colormap_size / ((*red) * (*blue)));
- }
- (*red)--;
- (*green)--;
- (*blue)--;
- }
- return;
-}
-
-/*
- * integer cube roots by Newton's method
- *
- * Stephen Gildea, MIT X Consortium, July 1991
- */
-
-static int
-icbrt(int a)
-{
- register int bits = 0;
- register unsigned n = a;
-
- while (n)
- {
- bits++;
- n >>= 1;
- }
- return icbrt_with_bits(a, bits);
-}
-
-
-static int
-icbrt_with_bits(int a, int bits)
- /* bits - log 2 of a */
-{
- return icbrt_with_guess(a, a>>2*bits/3);
-}
-
-#ifdef _X_ROOT_STATS
-int icbrt_loopcount;
-#endif
-
-/* Newton's Method: x_n+1 = x_n - ( f(x_n) / f'(x_n) ) */
-
-/* for cube roots, x^3 - a = 0, x_new = x - 1/3 (x - a/x^2) */
-
-/*
- * Quick and dirty cube roots. Nothing fancy here, just Newton's method.
- * Only works for positive integers (since that's all we need).
- * We actually return floor(cbrt(a)) because that's what we need here, too.
- */
-
-static int
-icbrt_with_guess(int a, int guess)
-{
- register int delta;
-
-#ifdef _X_ROOT_STATS
- icbrt_loopcount = 0;
-#endif
- if (a <= 0)
- return 0;
- if (guess < 1)
- guess = 1;
-
- do {
-#ifdef _X_ROOT_STATS
- icbrt_loopcount++;
-#endif
- delta = (guess - a/(guess*guess))/3;
-#ifdef DEBUG
- printf("pass %d: guess=%d, delta=%d\n", icbrt_loopcount, guess, delta);
-#endif
- guess -= delta;
- } while (delta != 0);
-
- if (guess*guess*guess > a)
- guess--;
-
- return guess;
-}
diff --git a/nx-X11/lib/Xmu/Converters.h b/nx-X11/lib/Xmu/Converters.h
deleted file mode 100644
index 11055d950..000000000
--- a/nx-X11/lib/Xmu/Converters.h
+++ /dev/null
@@ -1,281 +0,0 @@
-/* $Xorg: Converters.h,v 1.5 2001/02/09 02:03:51 xorgcvs Exp $ */
-
-/*
-
-Copyright 1988, 1998 The Open Group
-
-Permission to use, copy, modify, distribute, and sell this software and its
-documentation for any purpose is hereby granted without fee, provided that
-the above copyright notice appear in all copies and that both that
-copyright notice and this permission notice appear in supporting
-documentation.
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
-AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
-CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-Except as contained in this notice, the name of The Open Group shall not be
-used in advertising or otherwise to promote the sale, use or other dealings
-in this Software without prior written authorization from The Open Group.
-
-*/
-
-/* $XFree86: xc/lib/Xmu/Converters.h,v 1.5 2001/01/17 19:42:53 dawes Exp $ */
-
-/*
- * The interfaces described by this header file are for miscellaneous utilities
- * and are not part of the Xlib standard.
- */
-
-#ifndef _XMU_STRCONVERT_H_
-#define _XMU_STRCONVERT_H_
-
-#include <X11/Intrinsic.h>
-#include <X11/Xfuncproto.h>
-
-_XFUNCPROTOBEGIN
-
-void XmuCvtFunctionToCallback
-(
- XrmValue *args,
- Cardinal *num_args,
- XrmValuePtr fromVal,
- XrmValuePtr toVal
- );
-
-#define XtNbackingStore "backingStore"
-#define XtCBackingStore "BackingStore"
-#define XtRBackingStore "BackingStore"
-#define XtEnotUseful "notUseful"
-#define XtEwhenMapped "whenMapped"
-#define XtEalways "always"
-#define XtEdefault "default"
-void XmuCvtStringToBackingStore
-(
- XrmValue *args,
- Cardinal *num_args,
- XrmValuePtr fromVal,
- XrmValuePtr toVal
- );
-
-Boolean XmuCvtBackingStoreToString
-(
- Display *dpy,
- XrmValue *args,
- Cardinal *num_args,
- XrmValuePtr fromVal,
- XrmValuePtr toVal,
- XtPointer *converter_data
- );
-
-void XmuCvtStringToCursor
-(
- XrmValue *args,
- Cardinal *num_args,
- XrmValuePtr fromVal,
- XrmValuePtr toVal
- );
-
-#define XtRColorCursor "ColorCursor"
-#define XtNpointerColor "pointerColor"
-#define XtNpointerColorBackground "pointerColorBackground"
-Boolean XmuCvtStringToColorCursor
-(
- Display *dpy,
- XrmValue *args,
- Cardinal *num_args,
- XrmValuePtr fromVal,
- XrmValuePtr toVal,
- XtPointer *converter_data
- );
-
-typedef int XtGravity;
-
-#ifndef XtRGravity
-#define XtRGravity "Gravity"
-#endif
-#define XtEForget "forget"
-#define XtENorthWest "northwest"
-#define XtENorth "north"
-#define XtENorthEast "northeast"
-#define XtEWest "west"
-#define XtECenter "center"
-#define XtEEast "east"
-#define XtESouthWest "southwest"
-#define XtESouth "south"
-#define XtESouthEast "southeast"
-#define XtEStatic "static"
-#define XtEUnmap "unmap"
-void XmuCvtStringToGravity
-(
- XrmValue *args,
- Cardinal *num_args,
- XrmValuePtr fromVal,
- XrmValuePtr toVal
- );
-
-Boolean XmuCvtGravityToString
-(
- Display *dpy,
- XrmValue *args,
- Cardinal *num_args,
- XrmValuePtr fromVal,
- XrmValuePtr toVal,
- XtPointer *converter_data
- );
-
-typedef enum {
- XtJustifyLeft, /* justify text to left side of button */
- XtJustifyCenter, /* justify text in center of button */
- XtJustifyRight /* justify text to right side of button */
-} XtJustify;
-#ifndef XtRJustify
-#define XtRJustify "Justify"
-#endif
-#define XtEleft "left"
-#define XtEcenter "center"
-#define XtEright "right"
-#define XtEtop "top"
-#define XtEbottom "bottom"
-void XmuCvtStringToJustify
-(
- XrmValue *args,
- Cardinal *num_args,
- XrmValuePtr fromVal,
- XrmValuePtr toVal
- );
-
-Boolean XmuCvtJustifyToString
-(
- Display *dpy,
- XrmValue *args,
- Cardinal *num_args,
- XrmValuePtr fromVal,
- XrmValuePtr toVal,
- XtPointer *converter_data
- );
-
-#define XtRLong "Long"
-void XmuCvtStringToLong
-(
- XrmValue *args,
- Cardinal *num_args,
- XrmValuePtr fromVal,
- XrmValuePtr toVal
- );
-Boolean XmuCvtLongToString
-(
- Display *dpy,
- XrmValue *args,
- Cardinal *num_args,
- XrmValuePtr fromVal,
- XrmValuePtr toVal,
- XtPointer *converter_data
- );
-
-typedef enum {
- XtorientHorizontal,
- XtorientVertical
-} XtOrientation;
-void XmuCvtStringToOrientation
-(
- XrmValue *args,
- Cardinal *num_args,
- XrmValuePtr fromVal,
- XrmValuePtr toVal
- );
-
-Boolean XmuCvtOrientationToString
-(
- Display *dpy,
- XrmValue *args,
- Cardinal *num_args,
- XrmValuePtr fromVal,
- XrmValuePtr toVal,
- XtPointer *converter_data
- );
-
-void XmuCvtStringToBitmap
-(
- XrmValue *args,
- Cardinal *num_args,
- XrmValuePtr fromVal,
- XrmValuePtr toVal
- );
-
-#define XtRShapeStyle "ShapeStyle"
-#define XtERectangle "Rectangle"
-#define XtEOval "Oval"
-#define XtEEllipse "Ellipse"
-#define XtERoundedRectangle "RoundedRectangle"
-
-#define XmuShapeRectangle 1
-#define XmuShapeOval 2
-#define XmuShapeEllipse 3
-#define XmuShapeRoundedRectangle 4
-
-Boolean XmuCvtStringToShapeStyle
-(
- Display *dpy,
- XrmValue *args,
- Cardinal *num_args,
- XrmValuePtr fromVal,
- XrmValuePtr toVal,
- XtPointer *converter_data
- );
-
-Boolean XmuCvtShapeStyleToString
-(
- Display *dpy,
- XrmValue *args,
- Cardinal *num_args,
- XrmValuePtr fromVal,
- XrmValuePtr toVal,
- XtPointer *converter_data
- );
-
-Boolean XmuReshapeWidget
-(
- Widget w,
- int shape_style,
- int corner_width,
- int corner_height
- );
-
-void XmuCvtStringToWidget
-(
- XrmValue *args,
- Cardinal *num_args,
- XrmValuePtr fromVal,
- XrmValuePtr toVal
- );
-
-Boolean XmuNewCvtStringToWidget
-(
- Display *display,
- XrmValue *args,
- Cardinal *num_args,
- XrmValue *fromVal,
- XrmValue *toVal,
- XtPointer *converter_data
- );
-
-Boolean XmuCvtWidgetToString
-(
- Display *dpy,
- XrmValue *args,
- Cardinal *num_args,
- XrmValue *fromVal,
- XrmValue *toVal,
- XtPointer *converter_data
- );
-
-_XFUNCPROTOEND
-
-#endif /* _XMU_STRCONVERT_H_ */
diff --git a/nx-X11/lib/Xmu/CrCmap.c b/nx-X11/lib/Xmu/CrCmap.c
deleted file mode 100644
index 011c71465..000000000
--- a/nx-X11/lib/Xmu/CrCmap.c
+++ /dev/null
@@ -1,537 +0,0 @@
-/* $Xorg: CrCmap.c,v 1.4 2001/02/09 02:03:51 xorgcvs Exp $ */
-
-/*
-
-Copyright 1989, 1998 The Open Group
-
-Permission to use, copy, modify, distribute, and sell this software and its
-documentation for any purpose is hereby granted without fee, provided that
-the above copyright notice appear in all copies and that both that
-copyright notice and this permission notice appear in supporting
-documentation.
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
-AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
-CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-Except as contained in this notice, the name of The Open Group shall not be
-used in advertising or otherwise to promote the sale, use or other dealings
-in this Software without prior written authorization from The Open Group.
-
-*/
-/* $XFree86: xc/lib/Xmu/CrCmap.c,v 3.6 2001/01/17 19:42:53 dawes Exp $ */
-
-/*
- * Author: Donna Converse, MIT X Consortium
- */
-
-/*
- * CreateCmap.c - given a standard colormap description, make the map.
- */
-
-#ifdef HAVE_CONFIG_H
-#include <config.h>
-#endif
-#include <stdio.h>
-#include <stdlib.h>
-#include <X11/Xlib.h>
-#include <X11/Xutil.h>
-#include <X11/Xmu/StdCmap.h>
-
-/*
- * Prototypes
- */
-/* allocate entire map Read Only */
-static int ROmap(Display*, Colormap, unsigned long[], int, int);
-
-/* allocate a cell, prefer Read Only */
-static Status ROorRWcell(Display*, Colormap, unsigned long[], int,
- XColor*, unsigned long);
-
-/* allocate a cell Read Write */
-static Status RWcell(Display*, Colormap, XColor*, XColor*, unsigned long*);
-
-/* for quicksort */
-static int compare(_Xconst void*, _Xconst void*);
-
-/* find contiguous sequence of cells */
-static Status contiguous(unsigned long[], int, int, unsigned long, int*, int*);
-
-/* frees resources before quitting */
-static void free_cells(Display*, Colormap, unsigned long[], int, int);
-
-/* create a map in a RO visual type */
-static Status readonly_map(Display*, XVisualInfo*, XStandardColormap*);
-
-/* create a map in a RW visual type */
-static Status readwrite_map(Display*, XVisualInfo*, XStandardColormap*);
-
-#define lowbit(x) ((x) & (~(x) + 1))
-#define TRUEMATCH(mult,max,mask) \
- (colormap->max * colormap->mult <= vinfo->mask && \
- lowbit(vinfo->mask) == colormap->mult)
-
-/*
- * To create any one colormap which is described by an XStandardColormap
- * structure, use XmuCreateColormap().
- *
- * Return 0 on failure, non-zero on success.
- * Resources created by this function are not made permanent.
- * No argument error checking is provided. Use at your own risk.
- *
- * All colormaps are created with read only allocations, with the exception
- * of read only allocations of colors in the default map or otherwise
- * which fail to return the expected pixel value, and these are individually
- * defined as read/write allocations. This is done so that all the cells
- * defined in the default map are contiguous, for use in image processing.
- * This typically happens with White and Black in the default map.
- *
- * Colormaps of static visuals are considered to be successfully created if
- * the map of the static visual matches the definition given in the
- * standard colormap structure.
- */
-
-Status
-XmuCreateColormap(Display *dpy, XStandardColormap *colormap)
- /* dpy - specifies the connection under which the map is created
- * colormap - specifies the map to be created, and returns, particularly
- * if the map is created as a subset of the default colormap
- * of the screen, the base_pixel of the map.
- */
-{
- XVisualInfo vinfo_template; /* template visual information */
- XVisualInfo *vinfo; /* matching visual information */
- XVisualInfo *vpointer; /* for freeing the entire list */
- long vinfo_mask; /* specifies the visual mask value */
- int n; /* number of matching visuals */
- int status;
-
- vinfo_template.visualid = colormap->visualid;
- vinfo_mask = VisualIDMask;
- if ((vinfo = XGetVisualInfo(dpy, vinfo_mask, &vinfo_template, &n)) == NULL)
- return 0;
-
- /* A visual id may be valid on multiple screens. Also, there may
- * be multiple visuals with identical visual ids at different depths.
- * If the colormap is the Default Colormap, use the Default Visual.
- * Otherwise, arbitrarily, use the deepest visual.
- */
- vpointer = vinfo;
- if (n > 1)
- {
- register int i;
- register int screen_number;
- Bool def_cmap;
-
- def_cmap = False;
- for (screen_number = ScreenCount(dpy); --screen_number >= 0; )
- if (colormap->colormap == DefaultColormap(dpy, screen_number)) {
- def_cmap = True;
- break;
- }
-
- if (def_cmap) {
- for (i=0; i < n; i++, vinfo++) {
- if (vinfo->visual == DefaultVisual(dpy, screen_number))
- break;
- }
- } else {
- int maxdepth = 0;
- XVisualInfo *v = NULL;
-
- for (i=0; i < n; i++, vinfo++)
- if (vinfo->depth > maxdepth) {
- maxdepth = vinfo->depth;
- v = vinfo;
- }
- vinfo = v;
- }
- }
-
- if (vinfo->class == PseudoColor || vinfo->class == DirectColor ||
- vinfo->class == GrayScale)
- status = readwrite_map(dpy, vinfo, colormap);
- else if (vinfo->class == TrueColor)
- status = TRUEMATCH(red_mult, red_max, red_mask) &&
- TRUEMATCH(green_mult, green_max, green_mask) &&
- TRUEMATCH(blue_mult, blue_max, blue_mask);
- else
- status = readonly_map(dpy, vinfo, colormap);
-
- XFree((char *) vpointer);
- return status;
-}
-
-/****************************************************************************/
-static Status
-readwrite_map(Display *dpy, XVisualInfo *vinfo, XStandardColormap *colormap)
-{
- register unsigned long i, n; /* index counters */
- unsigned long ncolors; /* number of colors to be defined */
- int npixels; /* number of pixels allocated R/W */
- int first_index; /* first index of pixels to use */
- int remainder; /* first index of remainder */
- XColor color; /* the definition of a color */
- unsigned long *pixels; /* array of colormap pixels */
- unsigned long delta;
-
-
- /* Determine ncolors, the number of colors to be defined.
- * Insure that 1 < ncolors <= the colormap size.
- */
- if (vinfo->class == DirectColor) {
- ncolors = colormap->red_max;
- if (colormap->green_max > ncolors)
- ncolors = colormap->green_max;
- if (colormap->blue_max > ncolors)
- ncolors = colormap->blue_max;
- ncolors++;
- delta = lowbit(vinfo->red_mask) +
- lowbit(vinfo->green_mask) +
- lowbit(vinfo->blue_mask);
- } else {
- ncolors = colormap->red_max * colormap->red_mult +
- colormap->green_max * colormap->green_mult +
- colormap->blue_max * colormap->blue_mult + 1;
- delta = 1;
- }
- if (ncolors <= 1 || (int) ncolors > vinfo->colormap_size) return 0;
-
- /* Allocate Read/Write as much of the colormap as we can possibly get.
- * Then insure that the pixels we were allocated are given in
- * monotonically increasing order, using a quicksort. Next, insure
- * that our allocation includes a subset of contiguous pixels at least
- * as long as the number of colors to be defined. Now we know that
- * these conditions are met:
- * 1) There are no free cells in the colormap.
- * 2) We have a contiguous sequence of pixels, monotonically
- * increasing, of length >= the number of colors requested.
- *
- * One cell at a time, we will free, compute the next color value,
- * then allocate read only. This takes a long time.
- * This is done to insure that cells are allocated read only in the
- * contiguous order which we prefer. If the server has a choice of
- * cells to grant to an allocation request, the server may give us any
- * cell, so that is why we do these slow gymnastics.
- */
-
- if ((pixels = (unsigned long *) calloc((unsigned) vinfo->colormap_size,
- sizeof(unsigned long))) == NULL)
- return 0;
-
- if ((npixels = ROmap(dpy, colormap->colormap, pixels,
- vinfo->colormap_size, ncolors)) == 0) {
- free((char *) pixels);
- return 0;
- }
-
- qsort((char *) pixels, npixels, sizeof(unsigned long), compare);
-
- if (!contiguous(pixels, npixels, ncolors, delta, &first_index, &remainder))
- {
- /* can't find enough contiguous cells, give up */
- XFreeColors(dpy, colormap->colormap, pixels, npixels,
- (unsigned long) 0);
- free((char *) pixels);
- return 0;
- }
- colormap->base_pixel = pixels[first_index];
-
- /* construct a gray map */
- if (colormap->red_mult == 1 && colormap->green_mult == 1 &&
- colormap->blue_mult == 1)
- for (n=colormap->base_pixel, i=0; i < ncolors; i++, n += delta)
- {
- color.pixel = n;
- color.blue = color.green = color.red =
- (unsigned short) ((i * 65535) / (colormap->red_max +
- colormap->green_max +
- colormap->blue_max));
-
- if (! ROorRWcell(dpy, colormap->colormap, pixels, npixels, &color,
- first_index + i))
- return 0;
- }
-
- /* construct a red ramp map */
- else if (colormap->green_max == 0 && colormap->blue_max == 0)
- for (n=colormap->base_pixel, i=0; i < ncolors; i++, n += delta)
- {
- color.pixel = n;
- color.red = (unsigned short) ((i * 65535) / colormap->red_max);
- color.green = color.blue = 0;
-
- if (! ROorRWcell(dpy, colormap->colormap, pixels, npixels, &color,
- first_index + i))
- return 0;
- }
-
- /* construct a green ramp map */
- else if (colormap->red_max == 0 && colormap->blue_max == 0)
- for (n=colormap->base_pixel, i=0; i < ncolors; i++, n += delta)
- {
- color.pixel = n;
- color.green = (unsigned short) ((i * 65535) / colormap->green_max);
- color.red = color.blue = 0;
-
- if (! ROorRWcell(dpy, colormap->colormap, pixels, npixels, &color,
- first_index + i))
- return 0;
- }
-
- /* construct a blue ramp map */
- else if (colormap->red_max == 0 && colormap->green_max == 0)
- for (n=colormap->base_pixel, i=0; i < ncolors; i++, n += delta)
- {
- color.pixel = n;
- color.blue = (unsigned short) ((i * 65535) / colormap->blue_max);
- color.red = color.green = 0;
-
- if (! ROorRWcell(dpy, colormap->colormap, pixels, npixels, &color,
- first_index + i))
- return 0;
- }
-
- /* construct a standard red green blue cube map */
- else
- {
-#define calc(max,mult) (((n / colormap->mult) % \
- (colormap->max + 1)) * 65535) / colormap->max
-
- for (n=0, i=0; i < ncolors; i++, n += delta)
- {
- color.pixel = n + colormap->base_pixel;
- color.red = calc(red_max, red_mult);
- color.green = calc(green_max, green_mult);
- color.blue = calc(blue_max, blue_mult);
- if (! ROorRWcell(dpy, colormap->colormap, pixels, npixels, &color,
- first_index + i))
- return 0;
- }
-#undef calc
- }
- /* We have a read-only map defined. Now free unused cells,
- * first those occuring before the contiguous sequence begins,
- * then any following the contiguous sequence.
- */
-
- if (first_index)
- XFreeColors(dpy, colormap->colormap, pixels, first_index,
- (unsigned long) 0);
- if (remainder)
- XFreeColors(dpy, colormap->colormap,
- &(pixels[first_index + ncolors]), remainder,
- (unsigned long) 0);
-
- free((char *) pixels);
- return 1;
-}
-
-
-/****************************************************************************/
-static int
-ROmap(Display *dpy, Colormap cmap, unsigned long pixels[], int m, int n)
- /*
- * dpy - the X server connection
- * cmap - specifies colormap ID
- * pixels - returns pixel allocations
- * m - specifies colormap size
- * n - specifies number of colors
- */
-{
- register int p;
-
- /* first try to allocate the entire colormap */
- if (XAllocColorCells(dpy, cmap, 1, (unsigned long *) NULL,
- (unsigned) 0, pixels, (unsigned) m))
- return m;
-
- /* Allocate all available cells in the colormap, using a binary
- * algorithm to discover how many cells we can allocate in the colormap.
- */
- m--;
- while (n <= m) {
- p = n + ((m - n + 1) / 2);
- if (XAllocColorCells(dpy, cmap, 1, (unsigned long *) NULL,
- (unsigned) 0, pixels, (unsigned) p)) {
- if (p == m)
- return p;
- else {
- XFreeColors(dpy, cmap, pixels, p, (unsigned long) 0);
- n = p;
- }
- }
- else
- m = p - 1;
- }
- return 0;
-}
-
-
-/****************************************************************************/
-static Status
-contiguous(unsigned long pixels[], int npixels, int ncolors,
- unsigned long delta, int *first, int *rem)
- /* pixels - specifies allocated pixels
- * npixels - specifies count of alloc'd pixels
- * ncolors - specifies needed sequence length
- * delta - between pixels
- * first - returns first index of sequence
- * rem - returns first index after sequence, or 0, if none follow
- */
-{
- register int i = 1; /* walking index into the pixel array */
- register int count = 1; /* length of sequence discovered so far */
-
- *first = 0;
- if (npixels == ncolors) {
- *rem = 0;
- return 1;
- }
- *rem = npixels - 1;
- while (count < ncolors && ncolors - count <= *rem)
- {
- if (pixels[i-1] + delta == pixels[i])
- count++;
- else {
- count = 1;
- *first = i;
- }
- i++;
- (*rem)--;
- }
- if (count != ncolors)
- return 0;
- return 1;
-}
-
-
-/****************************************************************************/
-static Status
-ROorRWcell(Display *dpy, Colormap cmap, unsigned long pixels[],
- int npixels, XColor *color, unsigned long p)
-{
- unsigned long pixel;
- XColor request;
-
- /* Free the read/write allocation of one cell in the colormap.
- * Request a read only allocation of one cell in the colormap.
- * If the read only allocation cannot be granted, give up, because
- * there must be no free cells in the colormap.
- * If the read only allocation is granted, but gives us a cell which
- * is not the one that we just freed, it is probably the case that
- * we are trying allocate White or Black or some other color which
- * already has a read-only allocation in the map. So we try to
- * allocate the previously freed cell with a read/write allocation,
- * because we want contiguous cells for image processing algorithms.
- */
-
- pixel = color->pixel;
- request.red = color->red;
- request.green = color->green;
- request.blue = color->blue;
-
- XFreeColors(dpy, cmap, &pixel, 1, (unsigned long) 0);
- if (! XAllocColor(dpy, cmap, color)
- || (color->pixel != pixel &&
- (!RWcell(dpy, cmap, color, &request, &pixel))))
- {
- free_cells(dpy, cmap, pixels, npixels, (int)p);
- return 0;
- }
- return 1;
-}
-
-
-/****************************************************************************/
-static void
-free_cells(Display *dpy, Colormap cmap, unsigned long pixels[],
- int npixels, int p)
- /*
- * pixels - to be freed
- * npixels - original number allocated
- */
-{
- /* One of the npixels allocated has already been freed.
- * p is the index of the freed pixel.
- * First free the pixels preceeding p, and there are p of them;
- * then free the pixels following p, there are npixels - p - 1 of them.
- */
- XFreeColors(dpy, cmap, pixels, p, (unsigned long) 0);
- XFreeColors(dpy, cmap, &(pixels[p+1]), npixels - p - 1, (unsigned long) 0);
- free((char *) pixels);
-}
-
-
-/****************************************************************************/
-static Status
-RWcell(Display *dpy, Colormap cmap, XColor *color, XColor *request,
- unsigned long *pixel)
-{
- unsigned long n = *pixel;
-
- XFreeColors(dpy, cmap, &(color->pixel), 1, (unsigned long)0);
- if (! XAllocColorCells(dpy, cmap, (Bool) 0, (unsigned long *) NULL,
- (unsigned) 0, pixel, (unsigned) 1))
- return 0;
- if (*pixel != n)
- {
- XFreeColors(dpy, cmap, pixel, 1, (unsigned long) 0);
- return 0;
- }
- color->pixel = *pixel;
- color->flags = DoRed | DoGreen | DoBlue;
- color->red = request->red;
- color->green = request->green;
- color->blue = request->blue;
- XStoreColors(dpy, cmap, color, 1);
- return 1;
-}
-
-
-/****************************************************************************/
-static int
-compare(_Xconst void *e1, _Xconst void *e2)
-{
- return ((int)(*(long *)e1 - *(long *)e2));
-}
-
-
-/****************************************************************************/
-static Status
-readonly_map(Display *dpy, XVisualInfo *vinfo, XStandardColormap *colormap)
-{
- int i, last_pixel;
- XColor color;
-
- last_pixel = (colormap->red_max + 1) * (colormap->green_max + 1) *
- (colormap->blue_max + 1) + colormap->base_pixel - 1;
-
- for(i=colormap->base_pixel; i <= last_pixel; i++) {
-
- color.pixel = (unsigned long) i;
- color.red = (unsigned short)
- (((i/colormap->red_mult) * 65535) / colormap->red_max);
-
- if (vinfo->class == StaticColor) {
- color.green = (unsigned short)
- ((((i/colormap->green_mult) % (colormap->green_max + 1)) *
- 65535) / colormap->green_max);
- color.blue = (unsigned short)
- (((i%colormap->green_mult) * 65535) / colormap->blue_max);
- }
- else /* vinfo->class == GrayScale, old style allocation XXX */
- color.green = color.blue = color.red;
-
- XAllocColor(dpy, colormap->colormap, &color);
- if (color.pixel != (unsigned long) i)
- return 0;
- }
- return 1;
-}
diff --git a/nx-X11/lib/Xmu/CrPixFBit.c b/nx-X11/lib/Xmu/CrPixFBit.c
deleted file mode 100644
index c7ff6caf2..000000000
--- a/nx-X11/lib/Xmu/CrPixFBit.c
+++ /dev/null
@@ -1,85 +0,0 @@
-/* $Xorg: CrPixFBit.c,v 1.4 2001/02/09 02:03:51 xorgcvs Exp $ */
-
-/*
-
-Copyright 1988, 1998 The Open Group
-
-Permission to use, copy, modify, distribute, and sell this software and its
-documentation for any purpose is hereby granted without fee, provided that
-the above copyright notice appear in all copies and that both that
-copyright notice and this permission notice appear in supporting
-documentation.
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
-AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
-CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-Except as contained in this notice, the name of The Open Group shall not be
-used in advertising or otherwise to promote the sale, use or other dealings
-in this Software without prior written authorization from The Open Group.
-
-*/
-/* $XFree86: xc/lib/Xmu/CrPixFBit.c,v 1.6 2001/01/17 19:42:53 dawes Exp $ */
-
-/*
- * This file contains miscellaneous utility routines and is not part of the
- * Xlib standard.
- */
-
-/*
- * Public entry points:
- *
- * XmuCreatePixmapFromBitmap make a pixmap from a bitmap
- */
-
-#ifdef HAVE_CONFIG_H
-#include <config.h>
-#endif
-#include <X11/Xos.h>
-#include <X11/Xlib.h>
-#include <X11/Xmu/Drawing.h>
-
-Pixmap
-XmuCreatePixmapFromBitmap(Display *dpy, Drawable d, Pixmap bitmap,
- unsigned int width, unsigned int height,
- unsigned int depth,
- unsigned long fore, unsigned long back)
- /*
- * dpy - connection to X server
- * d - drawable indicating screen
- * bitmap - single plane pixmap
- * width, height - dimensions of bitmap and pixmap
- * depth - depth of pixmap to create
- * fore, back - colors to use
- */
-{
- Pixmap pixmap;
-
- pixmap = XCreatePixmap (dpy, d, width, height, depth);
- if (pixmap != None) {
- GC gc;
- XGCValues xgcv;
-
- xgcv.foreground = fore;
- xgcv.background = back;
- xgcv.graphics_exposures = False;
-
- gc = XCreateGC (dpy, d,
- (GCForeground | GCBackground | GCGraphicsExposures),
- &xgcv);
- if (gc) {
- XCopyPlane (dpy, bitmap, pixmap, gc, 0, 0, width, height, 0, 0, 1);
- XFreeGC (dpy, gc);
- } else {
- XFreePixmap (dpy, pixmap);
- pixmap = None;
- }
- }
- return pixmap;
-}
diff --git a/nx-X11/lib/Xmu/CurUtil.h b/nx-X11/lib/Xmu/CurUtil.h
deleted file mode 100644
index 27ab18848..000000000
--- a/nx-X11/lib/Xmu/CurUtil.h
+++ /dev/null
@@ -1,49 +0,0 @@
-/* $Xorg: CurUtil.h,v 1.4 2001/02/09 02:03:51 xorgcvs Exp $ */
-
-/*
-
-Copyright 1988, 1998 The Open Group
-
-Permission to use, copy, modify, distribute, and sell this software and its
-documentation for any purpose is hereby granted without fee, provided that
-the above copyright notice appear in all copies and that both that
-copyright notice and this permission notice appear in supporting
-documentation.
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
-AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
-CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-Except as contained in this notice, the name of The Open Group shall not be
-used in advertising or otherwise to promote the sale, use or other dealings
-in this Software without prior written authorization from The Open Group.
-
-*/
-/* $XFree86: xc/lib/Xmu/CurUtil.h,v 1.5 2001/01/17 19:42:54 dawes Exp $ */
-
-/*
- * The interfaces described by this header file are for miscellaneous utilities
- * and are not part of the Xlib standard.
- */
-
-#ifndef _XMU_CURUTIL_H_
-#define _XMU_CURUTIL_H_
-
-#include <X11/Xfuncproto.h>
-
-_XFUNCPROTOBEGIN
-
-int XmuCursorNameToIndex
-(
- _Xconst char *name
- );
-
-_XFUNCPROTOEND
-
-#endif /* _XMU_CURUTIL_H_ */
diff --git a/nx-X11/lib/Xmu/CursorName.c b/nx-X11/lib/Xmu/CursorName.c
deleted file mode 100644
index 17f390246..000000000
--- a/nx-X11/lib/Xmu/CursorName.c
+++ /dev/null
@@ -1,141 +0,0 @@
-/* $Xorg: CursorName.c,v 1.4 2001/02/09 02:03:51 xorgcvs Exp $ */
-
-/*
-
-Copyright 1989, 1998 The Open Group
-
-Permission to use, copy, modify, distribute, and sell this software and its
-documentation for any purpose is hereby granted without fee, provided that
-the above copyright notice appear in all copies and that both that
-copyright notice and this permission notice appear in supporting
-documentation.
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
-AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
-CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-Except as contained in this notice, the name of The Open Group shall not be
-used in advertising or otherwise to promote the sale, use or other dealings
-in this Software without prior written authorization from The Open Group.
-
-*/
-/* $XFree86: xc/lib/Xmu/CursorName.c,v 3.7tsi Exp $ */
-
-#ifdef HAVE_CONFIG_H
-#include <config.h>
-#endif
-#include <X11/Xmu/CharSet.h>
-#include <X11/Xmu/CurUtil.h>
-#include <X11/cursorfont.h>
-#include <string.h>
-
-int
-XmuCursorNameToIndex(_Xconst char *name)
-{
- static _Xconst struct _CursorName {
- _Xconst char *name;
- unsigned int shape;
- } cursor_names[] = {
- {"x_cursor", XC_X_cursor},
- {"arrow", XC_arrow},
- {"based_arrow_down", XC_based_arrow_down},
- {"based_arrow_up", XC_based_arrow_up},
- {"boat", XC_boat},
- {"bogosity", XC_bogosity},
- {"bottom_left_corner", XC_bottom_left_corner},
- {"bottom_right_corner", XC_bottom_right_corner},
- {"bottom_side", XC_bottom_side},
- {"bottom_tee", XC_bottom_tee},
- {"box_spiral", XC_box_spiral},
- {"center_ptr", XC_center_ptr},
- {"circle", XC_circle},
- {"clock", XC_clock},
- {"coffee_mug", XC_coffee_mug},
- {"cross", XC_cross},
- {"cross_reverse", XC_cross_reverse},
- {"crosshair", XC_crosshair},
- {"diamond_cross", XC_diamond_cross},
- {"dot", XC_dot},
- {"dotbox", XC_dotbox},
- {"double_arrow", XC_double_arrow},
- {"draft_large", XC_draft_large},
- {"draft_small", XC_draft_small},
- {"draped_box", XC_draped_box},
- {"exchange", XC_exchange},
- {"fleur", XC_fleur},
- {"gobbler", XC_gobbler},
- {"gumby", XC_gumby},
- {"hand1", XC_hand1},
- {"hand2", XC_hand2},
- {"heart", XC_heart},
- {"icon", XC_icon},
- {"iron_cross", XC_iron_cross},
- {"left_ptr", XC_left_ptr},
- {"left_side", XC_left_side},
- {"left_tee", XC_left_tee},
- {"leftbutton", XC_leftbutton},
- {"ll_angle", XC_ll_angle},
- {"lr_angle", XC_lr_angle},
- {"man", XC_man},
- {"middlebutton", XC_middlebutton},
- {"mouse", XC_mouse},
- {"pencil", XC_pencil},
- {"pirate", XC_pirate},
- {"plus", XC_plus},
- {"question_arrow", XC_question_arrow},
- {"right_ptr", XC_right_ptr},
- {"right_side", XC_right_side},
- {"right_tee", XC_right_tee},
- {"rightbutton", XC_rightbutton},
- {"rtl_logo", XC_rtl_logo},
- {"sailboat", XC_sailboat},
- {"sb_down_arrow", XC_sb_down_arrow},
- {"sb_h_double_arrow", XC_sb_h_double_arrow},
- {"sb_left_arrow", XC_sb_left_arrow},
- {"sb_right_arrow", XC_sb_right_arrow},
- {"sb_up_arrow", XC_sb_up_arrow},
- {"sb_v_double_arrow", XC_sb_v_double_arrow},
- {"shuttle", XC_shuttle},
- {"sizing", XC_sizing},
- {"spider", XC_spider},
- {"spraycan", XC_spraycan},
- {"star", XC_star},
- {"target", XC_target},
- {"tcross", XC_tcross},
- {"top_left_arrow", XC_top_left_arrow},
- {"top_left_corner", XC_top_left_corner},
- {"top_right_corner", XC_top_right_corner},
- {"top_side", XC_top_side},
- {"top_tee", XC_top_tee},
- {"trek", XC_trek},
- {"ul_angle", XC_ul_angle},
- {"umbrella", XC_umbrella},
- {"ur_angle", XC_ur_angle},
- {"watch", XC_watch},
- {"xterm", XC_xterm},
- };
-#define NUM_CURSOR_NAMES (sizeof (cursor_names) / sizeof (cursor_names[0]))
- register _Xconst struct _CursorName *table;
- register int i;
- char tmp[40];
-
- if (strlen (name) >= sizeof tmp) return -1;
- XmuCopyISOLatin1Lowered (tmp, name);
-
- for (i=0, table=cursor_names; i < NUM_CURSOR_NAMES; i++, table++ ) {
- if (strcmp(tmp, table->name) == 0) return table->shape;
- }
-
- return -1;
-}
-
-
-
-
-
diff --git a/nx-X11/lib/Xmu/CvtCache.c b/nx-X11/lib/Xmu/CvtCache.c
deleted file mode 100644
index 8dd4602ea..000000000
--- a/nx-X11/lib/Xmu/CvtCache.c
+++ /dev/null
@@ -1,136 +0,0 @@
-/* $Xorg: CvtCache.c,v 1.5 2001/02/09 02:03:52 xorgcvs Exp $ */
-
-/*
-
-Copyright 1989, 1998 The Open Group
-
-Permission to use, copy, modify, distribute, and sell this software and its
-documentation for any purpose is hereby granted without fee, provided that
-the above copyright notice appear in all copies and that both that
-copyright notice and this permission notice appear in supporting
-documentation.
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
-AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
-CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-Except as contained in this notice, the name of The Open Group shall not be
-used in advertising or otherwise to promote the sale, use or other dealings
-in this Software without prior written authorization from The Open Group.
-
-*/
-/* $XFree86: xc/lib/Xmu/CvtCache.c,v 3.6 2001/08/23 00:03:21 dawes Exp $ */
-
-/*
- * Author: Jim Fulton, MIT X Consortium
- */
-
-#ifdef HAVE_CONFIG_H
-#include <config.h>
-#endif
-#include <stdio.h>
-#include <X11/Xlib.h>
-#include <X11/Xos.h>
-#include <X11/Xmu/CvtCache.h>
-#include <stdlib.h>
-
-/*
- * Prototypes
- */
-static int _CloseDisplay(XmuDisplayQueue*, XmuDisplayQueueEntry*);
-static int _FreeCCDQ(XmuDisplayQueue*);
-static void _InitializeCvtCache(XmuCvtCache*);
-
-/*
- * Initialization
- */
-static XmuDisplayQueue *dq = NULL;
-
-
-/*
- * internal utility callbacks
- */
-
-static int
-_FreeCCDQ(XmuDisplayQueue *q)
-{
- XmuDQDestroy (dq, False);
- dq = NULL;
- return (0);
-}
-
-
-static int
-_CloseDisplay(XmuDisplayQueue *q, XmuDisplayQueueEntry *e)
-{
- XmuCvtCache *c;
-
- if (e && (c = (XmuCvtCache *)(e->data))) {
- _XmuStringToBitmapFreeCache (c);
- /* insert calls to free any cached memory */
-
- }
- return 0;
-}
-
-static void
-_InitializeCvtCache(register XmuCvtCache *c)
-{
- _XmuStringToBitmapInitCache (c);
- /* insert calls to init any cached memory */
-}
-
-
-/*
- * XmuCCLookupDisplay - return the cache entry for the indicated display;
- * initialize the cache if necessary
- */
-XmuCvtCache *
-_XmuCCLookupDisplay(Display *dpy)
-{
- XmuDisplayQueueEntry *e;
-
- /*
- * If no displays have been added before this, create the display queue.
- */
- if (!dq) {
- dq = XmuDQCreate (_CloseDisplay, _FreeCCDQ, NULL);
- if (!dq) return NULL;
- }
-
- /*
- * See if the display is already there
- */
- e = XmuDQLookupDisplay (dq, dpy); /* see if it's there */
- if (!e) { /* else create it */
- XmuCvtCache *c = (XmuCvtCache *) malloc (sizeof (XmuCvtCache));
- if (!c) return NULL;
-
- /*
- * Add the display to the queue
- */
- e = XmuDQAddDisplay (dq, dpy, (XPointer) c);
- if (!e) {
- free ((char *) c);
- return NULL;
- }
-
- /*
- * initialize fields in cache
- */
- _InitializeCvtCache (c);
- }
-
- /*
- * got it
- */
- return (XmuCvtCache *)(e->data);
-}
-
-
diff --git a/nx-X11/lib/Xmu/CvtCache.h b/nx-X11/lib/Xmu/CvtCache.h
deleted file mode 100644
index d9b967ab7..000000000
--- a/nx-X11/lib/Xmu/CvtCache.h
+++ /dev/null
@@ -1,62 +0,0 @@
-/* $Xorg: CvtCache.h,v 1.4 2001/02/09 02:03:52 xorgcvs Exp $ */
-
-/*
-
-Copyright 1989, 1998 The Open Group
-
-Permission to use, copy, modify, distribute, and sell this software and its
-documentation for any purpose is hereby granted without fee, provided that
-the above copyright notice appear in all copies and that both that
-copyright notice and this permission notice appear in supporting
-documentation.
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
-AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
-CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-Except as contained in this notice, the name of The Open Group shall not be
-used in advertising or otherwise to promote the sale, use or other dealings
-in this Software without prior written authorization from The Open Group.
-
-*/
-/* $XFree86: xc/lib/Xmu/CvtCache.h,v 1.6 2001/01/17 19:42:54 dawes Exp $ */
-
-/*
- * Public Interfaces
- *
- * XmuCvtCache *XmuCvtCacheLookupDisplay (dpy)
- * Display *dpy;
- */
-
-#ifndef _XMU_CVTCACHE_H_
-#define _XMU_CVTCACHE_H_
-
-#include <X11/Xmu/DisplayQue.h>
-#include <X11/Xfuncproto.h>
-
-typedef struct _XmuCvtCache {
- struct {
- char **bitmapFilePath;
- } string_to_bitmap;
- /* add other per-display data that needs to be cached */
-} XmuCvtCache;
-
-_XFUNCPROTOBEGIN
-
-XmuCvtCache *_XmuCCLookupDisplay
-(
- Display *dpy
- );
-
-extern void _XmuStringToBitmapInitCache(XmuCvtCache *c);
-extern void _XmuStringToBitmapFreeCache(XmuCvtCache *c);
-
-_XFUNCPROTOEND
-
-#endif /* _XMU_CVTCACHE_H_ */
diff --git a/nx-X11/lib/Xmu/CvtStdSel.c b/nx-X11/lib/Xmu/CvtStdSel.c
deleted file mode 100644
index e52197f13..000000000
--- a/nx-X11/lib/Xmu/CvtStdSel.c
+++ /dev/null
@@ -1,347 +0,0 @@
-/* $Xorg: CvtStdSel.c,v 1.4 2001/02/09 02:03:52 xorgcvs Exp $ */
-/* $XdotOrg: xc/lib/Xmu/CvtStdSel.c,v 1.6 2005/07/03 07:00:57 daniels Exp $ */
-
-/*
-
-Copyright 1988, 1998 The Open Group
-
-Permission to use, copy, modify, distribute, and sell this software and its
-documentation for any purpose is hereby granted without fee, provided that
-the above copyright notice appear in all copies and that both that
-copyright notice and this permission notice appear in supporting
-documentation.
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
-AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
-CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-Except as contained in this notice, the name of The Open Group shall not be
-used in advertising or otherwise to promote the sale, use or other dealings
-in this Software without prior written authorization from The Open Group.
-
-*/
-/* $XFree86: xc/lib/Xmu/CvtStdSel.c,v 3.19 2001/11/21 16:22:59 tsi Exp $ */
-
-/*
- * This file contains routines to handle common selection targets.
- *
- * Public entry points:
- *
- * XmuConvertStandardSelection() return a known selection
- */
-
-#ifdef HAVE_CONFIG_H
-#include <config.h>
-#endif
-
-#ifdef SYSVNET
-#include <interlan/il_types.h>
-#define __TYPES__ /* prevent #include <sys/types.h> in Xlib.h */
-#include <interlan/netdb.h>
-#include <interlan/socket.h>
-#endif /* SYSVNET */
-
-#include <X11/IntrinsicP.h>
-#include <X11/Xatom.h>
-#include <X11/ShellP.h>
-#ifdef XTHREADS
-#include <X11/Xthreads.h>
-#endif
-#include <stdio.h>
-
-#ifndef SYSVNET
-#ifdef WIN32
-#include <X11/Xwinsock.h>
-#define XOS_USE_MTSAFE_NETDBAPI
-#else
-#ifndef Lynx
-#include <sys/socket.h>
-#else
-#include <sys/types.h>
-#include <socket.h>
-#endif
-#define XOS_USE_XT_LOCKING
-#endif
-#define X_INCLUDE_NETDB_H
-#include <X11/Xos_r.h>
-#endif
-
-#include <X11/Xos.h>
-#include <stdlib.h>
-#include "Atoms.h"
-#include "StdSel.h"
-#include "SysUtil.h"
-#include <X11/Xfuncs.h>
-
-#ifndef OS_NAME
-#ifndef X_OS_FILE
-#ifdef SYSV /* keep separate until makedepend fixed */
-#define USE_UNAME
-#endif
-#ifdef SVR4
-#define USE_UNAME
-#endif
-#ifdef ultrix
-#define USE_UNAME
-#endif
-#ifdef CSRG_BASED
-#define USE_UNAME
-#endif
-#endif /*X_OS_FILE*/
-#ifdef USE_UNAME
-#include <sys/utsname.h>
-#endif
-#endif
-
-/*
- * Prototypes
- */
-static char *get_os_name(void);
-static Bool isApplicationShell(Widget);
-
-/*
- * Implementation
- */
-static char *
-get_os_name(void)
-{
-#ifdef OS_NAME
- return XtNewString(OS_NAME);
-#else
- FILE *f = NULL;
-
-#ifdef USE_UNAME
- struct utsname utss;
-
- if (uname (&utss) >= 0) {
- char *os_name;
- int len = strlen(utss.sysname) + 1;
-#ifndef hpux /* because of hostname length crock */
- len += 2 + strlen(utss.release);
-#endif
- os_name = XtMalloc (len);
- strcpy (os_name, utss.sysname);
-#ifndef hpux
- strcat (os_name, " ");
- strcat (os_name, utss.release);
-#endif
- return os_name;
- }
-#endif
-
-#ifdef X_OS_FILE
- f = fopen(X_OS_FILE, "r");
- if (!f)
-#endif
-#ifdef MOTD_FILE
- f = fopen(MOTD_FILE, "r");
-#endif
- if (f) {
- char motd[512];
- motd[0] = '\0';
- (void) fgets(motd, 511, f);
- fclose(f);
- motd[511] = '\0';
- if (motd[0] != '\0') {
- int len = strlen(motd);
- if (motd[len - 1] == '\n')
- motd[len - 1] = '\0';
- return XtNewString(motd);
- }
- }
-
-#ifdef sun
- return XtNewString("SunOS");
-#else
-# if !defined(SYSV) && (defined(CSRG_BASED) || defined(unix))
- return XtNewString("BSD");
-# else
- return NULL;
-# endif
-#endif
-
-#endif /*OS_NAME*/
-}
-
-/* This is a trick/kludge. To make shared libraries happier (linking
- * against Xmu but not linking against Xt, and apparently even work
- * as we desire on SVR4, we need to avoid an explicit data reference
- * to applicationShellWidgetClass. XtIsTopLevelShell is known
- * (implementation dependent assumption!) to use a bit flag. So we
- * go that far. Then, we test whether it is an applicationShellWidget
- * class by looking for an explicit class name. Seems pretty safe.
- */
-static Bool
-isApplicationShell(Widget w)
-{
- register WidgetClass c;
-
- if (!XtIsTopLevelShell(w))
- return False;
- for (c = XtClass(w); c; c = c->core_class.superclass) {
- if (!strcmp(c->core_class.class_name, "ApplicationShell"))
- return True;
- }
- return False;
-}
-
-Boolean
-XmuConvertStandardSelection(Widget w, Time time, Atom *selection, Atom *target,
- Atom *type, XPointer *value,
- unsigned long *length, int *format)
-{
- Display *d = XtDisplay(w);
- if (*target == XA_TIMESTAMP(d)) {
- *value = XtMalloc(4);
- if (sizeof(long) == 4)
- *(long*)*value = time;
- else {
- long temp = time;
- (void) memmove((char*)*value, ((char*)&temp)+sizeof(long)-4, 4);
- }
- *type = XA_INTEGER;
- *length = 1;
- *format = 32;
- return True;
- }
- if (*target == XA_HOSTNAME(d)) {
- char hostname[1024];
- hostname[0] = '\0';
- *length = XmuGetHostname (hostname, sizeof hostname);
- *value = XtNewString(hostname);
- *type = XA_STRING;
- *format = 8;
- return True;
- }
-#if defined(TCPCONN)
- if (*target == XA_IP_ADDRESS(d)) {
- char hostname[1024];
-#ifdef XTHREADS_NEEDS_BYNAMEPARAMS
- _Xgethostbynameparams hparams;
-#endif
- struct hostent *hostp;
-
- hostname[0] = '\0';
- (void) XmuGetHostname (hostname, sizeof hostname);
-
- if ((hostp = _XGethostbyname (hostname,hparams)) == NULL)
- return False;
-
- if (hostp->h_addrtype != AF_INET) return False;
- *length = hostp->h_length;
- *value = XtMalloc(*length);
- (void) memmove (*value, hostp->h_addr, *length);
- *type = XA_NET_ADDRESS(d);
- *format = 8;
- return True;
- }
-#endif
-#ifdef DNETCONN
- if (*target == XA_DECNET_ADDRESS(d)) {
- return False; /* XXX niy */
- }
-#endif
- if (*target == XA_USER(d)) {
- char *name = (char*)getenv("USER");
- if (name == NULL) return False;
- *value = XtNewString(name);
- *type = XA_STRING;
- *length = strlen(name);
- *format = 8;
- return True;
- }
- if (*target == XA_CLASS(d)) {
- Widget parent = XtParent(w);
- char *class;
- int len;
- while (parent != NULL && !isApplicationShell(w)) {
- w = parent;
- parent = XtParent(w);
- }
- if (isApplicationShell(w))
- class = ((ApplicationShellWidget) w)->application.class;
- else
- class = XtClass(w)->core_class.class_name;
- *length = (len=strlen(w->core.name)) + strlen(class) + 2;
- *value = XtMalloc(*length);
- strcpy( (char*)*value, w->core.name );
- strcpy( (char*)*value+len+1, class );
- *type = XA_STRING;
- *format = 8;
- return True;
- }
- if (*target == XA_NAME(d)) {
- Widget parent = XtParent(w);
-
- while (parent != NULL && !XtIsWMShell(w)) {
- w = parent;
- parent = XtParent(w);
- }
- if (!XtIsWMShell(w)) return False;
- *value = XtNewString( ((WMShellWidget) w)->wm.title );
- *length = strlen(*value);
- *type = XA_STRING;
- *format = 8;
- return True;
- }
- if (*target == XA_CLIENT_WINDOW(d)) {
- Widget parent = XtParent(w);
- while (parent != NULL) {
- w = parent;
- parent = XtParent(w);
- }
- *value = XtMalloc(sizeof(Window));
- *(Window*)*value = w->core.window;
- *type = XA_WINDOW;
- *length = 1;
- *format = 32;
- return True;
- }
- if (*target == XA_OWNER_OS(d)) {
- *value = get_os_name();
- if (*value == NULL) return False;
- *type = XA_STRING;
- *length = strlen(*value);
- *format = 8;
- return True;
- }
- if (*target == XA_TARGETS(d)) {
-#if defined(unix) && defined(DNETCONN)
-# define NUM_TARGETS 9
-#else
-# if defined(unix) || defined(DNETCONN)
-# define NUM_TARGETS 8
-# else
-# define NUM_TARGETS 7
-# endif
-#endif
- Atom* std_targets = (Atom*)XtMalloc(NUM_TARGETS*sizeof(Atom));
- int i = 0;
- std_targets[i++] = XA_TIMESTAMP(d);
- std_targets[i++] = XA_HOSTNAME(d);
- std_targets[i++] = XA_IP_ADDRESS(d);
- std_targets[i++] = XA_USER(d);
- std_targets[i++] = XA_CLASS(d);
- std_targets[i++] = XA_NAME(d);
- std_targets[i++] = XA_CLIENT_WINDOW(d);
-#ifdef unix
- std_targets[i++] = XA_OWNER_OS(d);
-#endif
-#ifdef DNETCONN
- std_targets[i++] = XA_DECNET_ADDRESS(d);
-#endif
- *value = (XPointer)std_targets;
- *type = XA_ATOM;
- *length = NUM_TARGETS;
- *format = 32;
- return True;
- }
- /* else */
- return False;
-}
diff --git a/nx-X11/lib/Xmu/DefErrMsg.c b/nx-X11/lib/Xmu/DefErrMsg.c
deleted file mode 100644
index d1aa9ad9a..000000000
--- a/nx-X11/lib/Xmu/DefErrMsg.c
+++ /dev/null
@@ -1,173 +0,0 @@
-/* $Xorg: DefErrMsg.c,v 1.4 2001/02/09 02:03:52 xorgcvs Exp $ */
-
-/*
-
-Copyright 1988, 1998 The Open Group
-
-Permission to use, copy, modify, distribute, and sell this software and its
-documentation for any purpose is hereby granted without fee, provided that
-the above copyright notice appear in all copies and that both that
-copyright notice and this permission notice appear in supporting
-documentation.
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
-AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
-CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-Except as contained in this notice, the name of The Open Group shall not be
-used in advertising or otherwise to promote the sale, use or other dealings
-in this Software without prior written authorization from The Open Group.
-
-*/
-/* $XFree86: xc/lib/Xmu/DefErrMsg.c,v 1.7 2001/01/17 19:42:54 dawes Exp $ */
-
-#ifdef HAVE_CONFIG_H
-#include <config.h>
-#endif
-#include <stdio.h>
-#define NEED_EVENTS
-#include <X11/Xlibint.h>
-#include <X11/Xproto.h>
-#include <X11/Xmu/Error.h>
-#include <X11/Xmu/SysUtil.h>
-
-/*
- * XmuPrintDefaultErrorMessage - print a nice error that looks like the usual
- * message. Returns 1 if the caller should consider exitting else 0.
- */
-int
-XmuPrintDefaultErrorMessage(Display *dpy, XErrorEvent *event, FILE *fp)
-{
- char buffer[BUFSIZ];
- char mesg[BUFSIZ];
- char number[32];
- char *mtype = "XlibMessage";
- register _XExtension *ext = (_XExtension *)NULL;
- _XExtension *bext = (_XExtension *)NULL;
- XGetErrorText(dpy, event->error_code, buffer, BUFSIZ);
- XGetErrorDatabaseText(dpy, mtype, "XError", "X Error", mesg, BUFSIZ);
- (void) fprintf(fp, "%s: %s\n ", mesg, buffer);
- XGetErrorDatabaseText(dpy, mtype, "MajorCode", "Request Major code %d",
- mesg, BUFSIZ);
- (void) fprintf(fp, mesg, event->request_code);
- if (event->request_code < 128) {
- XmuSnprintf(number, sizeof(number), "%d", event->request_code);
- XGetErrorDatabaseText(dpy, "XRequest", number, "", buffer, BUFSIZ);
- } else {
- /* XXX this is non-portable */
- for (ext = dpy->ext_procs;
- ext && (ext->codes.major_opcode != event->request_code);
- ext = ext->next)
- ;
- if (ext)
- XmuSnprintf(buffer, sizeof(buffer), "%s", ext->name);
- else
- buffer[0] = '\0';
- }
- (void) fprintf(fp, " (%s)", buffer);
- fputs("\n ", fp);
- if (event->request_code >= 128) {
- XGetErrorDatabaseText(dpy, mtype, "MinorCode", "Request Minor code %d",
- mesg, BUFSIZ);
- (void) fprintf(fp, mesg, event->minor_code);
- if (ext) {
- XmuSnprintf(mesg, sizeof(mesg),
- "%s.%d", ext->name, event->minor_code);
- XGetErrorDatabaseText(dpy, "XRequest", mesg, "", buffer, BUFSIZ);
- (void) fprintf(fp, " (%s)", buffer);
- }
- fputs("\n ", fp);
- }
- if (event->error_code >= 128) {
- /* kludge, try to find the extension that caused it */
- buffer[0] = '\0';
- for (ext = dpy->ext_procs; ext; ext = ext->next) {
- if (ext->error_string)
- (*ext->error_string)(dpy, event->error_code, &ext->codes,
- buffer, BUFSIZ);
- if (buffer[0]) {
- bext = ext;
- break;
- }
- if (ext->codes.first_error &&
- ext->codes.first_error < event->error_code &&
- (!bext || ext->codes.first_error > bext->codes.first_error))
- bext = ext;
- }
- if (bext)
- XmuSnprintf(buffer, sizeof(buffer), "%s.%d", bext->name,
- event->error_code - bext->codes.first_error);
- else
- strcpy(buffer, "Value");
- XGetErrorDatabaseText(dpy, mtype, buffer, "", mesg, BUFSIZ);
- if (mesg[0]) {
- fputs(" ", fp);
- (void) fprintf(fp, mesg, event->resourceid);
- fputs("\n", fp);
- }
- /* let extensions try to print the values */
- for (ext = dpy->ext_procs; ext; ext = ext->next) {
- if (ext->error_values)
- (*ext->error_values)(dpy, event, fp);
- }
- } else if ((event->error_code == BadWindow) ||
- (event->error_code == BadPixmap) ||
- (event->error_code == BadCursor) ||
- (event->error_code == BadFont) ||
- (event->error_code == BadDrawable) ||
- (event->error_code == BadColor) ||
- (event->error_code == BadGC) ||
- (event->error_code == BadIDChoice) ||
- (event->error_code == BadValue) ||
- (event->error_code == BadAtom)) {
- if (event->error_code == BadValue)
- XGetErrorDatabaseText(dpy, mtype, "Value", "Value 0x%x",
- mesg, BUFSIZ);
- else if (event->error_code == BadAtom)
- XGetErrorDatabaseText(dpy, mtype, "AtomID", "AtomID 0x%x",
- mesg, BUFSIZ);
- else
- XGetErrorDatabaseText(dpy, mtype, "ResourceID", "ResourceID 0x%x",
- mesg, BUFSIZ);
- (void) fprintf(fp, mesg, event->resourceid);
- fputs("\n ", fp);
- }
- XGetErrorDatabaseText(dpy, mtype, "ErrorSerial", "Error Serial #%d",
- mesg, BUFSIZ);
- (void) fprintf(fp, mesg, event->serial);
- fputs("\n ", fp);
- XGetErrorDatabaseText(dpy, mtype, "CurrentSerial", "Current Serial #%d",
- mesg, BUFSIZ);
- (void) fprintf(fp, mesg, NextRequest(dpy)-1);
- fputs("\n", fp);
- if (event->error_code == BadImplementation) return 0;
- return 1;
-}
-
-
-/*
- * XmuSimpleErrorHandler - ignore errors for XQueryTree, XGetWindowAttributes,
- * and XGetGeometry; print a message for everything else. In all case, do
- * not exit.
- */
-int
-XmuSimpleErrorHandler(Display *dpy, XErrorEvent *errorp)
-{
- switch (errorp->request_code) {
- case X_QueryTree:
- case X_GetWindowAttributes:
- if (errorp->error_code == BadWindow) return 0;
- break;
- case X_GetGeometry:
- if (errorp->error_code == BadDrawable) return 0;
- break;
- }
- /* got a "real" X error */
- return XmuPrintDefaultErrorMessage (dpy, errorp, stderr);
-}
diff --git a/nx-X11/lib/Xmu/DelCmap.c b/nx-X11/lib/Xmu/DelCmap.c
deleted file mode 100644
index 1f2c6abe8..000000000
--- a/nx-X11/lib/Xmu/DelCmap.c
+++ /dev/null
@@ -1,73 +0,0 @@
-/* $Xorg: DelCmap.c,v 1.4 2001/02/09 02:03:52 xorgcvs Exp $ */
-
-/*
-
-Copyright 1989, 1998 The Open Group
-
-Permission to use, copy, modify, distribute, and sell this software and its
-documentation for any purpose is hereby granted without fee, provided that
-the above copyright notice appear in all copies and that both that
-copyright notice and this permission notice appear in supporting
-documentation.
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
-AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
-CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-Except as contained in this notice, the name of The Open Group shall not be
-used in advertising or otherwise to promote the sale, use or other dealings
-in this Software without prior written authorization from The Open Group.
-
-*/
-/* $XFree86: xc/lib/Xmu/DelCmap.c,v 1.6 2001/01/17 19:42:54 dawes Exp $ */
-
-/*
- * Author: Donna Converse, MIT X Consortium
- */
-
-#ifdef HAVE_CONFIG_H
-#include <config.h>
-#endif
-#include <X11/Xlib.h>
-#include <X11/Xutil.h>
-#include <X11/Xmu/StdCmap.h>
-
-/* To remove any standard colormap property, use XmuDeleteStandardColormap().
- * XmuDeleteStandardColormap() will remove the specified property from the
- * specified screen, releasing any resources used by the colormap(s) of the
- * property if possible.
- */
-
-void
-XmuDeleteStandardColormap(Display *dpy, int screen, Atom property)
- /* dpy; - specifies the X server to connect to
- * screen - specifies the screen of the display
- * property - specifies the standard colormap property
- */
-{
- XStandardColormap *stdcmaps, *s;
- int count = 0;
-
- if (XGetRGBColormaps(dpy, RootWindow(dpy, screen), &stdcmaps, &count,
- property))
- {
- for (s=stdcmaps; count > 0; count--, s++) {
- if ((s->killid == ReleaseByFreeingColormap) &&
- (s->colormap != None) &&
- (s->colormap != DefaultColormap(dpy, screen)))
- XFreeColormap(dpy, s->colormap);
- else if (s->killid != None)
- XKillClient(dpy, s->killid);
- }
- XDeleteProperty(dpy, RootWindow(dpy, screen), property);
- XFree((char *) stdcmaps);
- XSync(dpy, False);
- }
-}
-
diff --git a/nx-X11/lib/Xmu/DisplayQue.c b/nx-X11/lib/Xmu/DisplayQue.c
deleted file mode 100644
index ae9f92e1d..000000000
--- a/nx-X11/lib/Xmu/DisplayQue.c
+++ /dev/null
@@ -1,194 +0,0 @@
-/* $Xorg: DisplayQue.c,v 1.4 2001/02/09 02:03:52 xorgcvs Exp $ */
-
-/*
-
-Copyright 1989, 1998 The Open Group
-
-Permission to use, copy, modify, distribute, and sell this software and its
-documentation for any purpose is hereby granted without fee, provided that
-the above copyright notice appear in all copies and that both that
-copyright notice and this permission notice appear in supporting
-documentation.
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
-AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
-CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-Except as contained in this notice, the name of The Open Group shall not be
-used in advertising or otherwise to promote the sale, use or other dealings
-in this Software without prior written authorization from The Open Group.
-
-*/
-/* $XFree86: xc/lib/Xmu/DisplayQue.c,v 3.4 2001/07/25 15:04:50 dawes Exp $ */
-
-/*
- * Author: Jim Fulton, MIT X Consortium
- */
-
-#ifdef HAVE_CONFIG_H
-#include <config.h>
-#endif
-#include <stdio.h>
-#include <X11/Xlib.h>
-#include <stdlib.h>
-#include <X11/Xmu/DisplayQue.h>
-
-/*
- * Prototypes
- */
-static int _DQCloseDisplay(Display*, XPointer);
-
-#define CallCloseCallback(q,e) (void) (*((q)->closefunc)) ((q), (e))
-#define CallFreeCallback(q) (void) (*((q)->freefunc)) ((q))
-
-/*
- * XmuDQCreate - create a display queue
- */
-XmuDisplayQueue *
-XmuDQCreate(XmuCloseDisplayQueueProc closefunc,
- XmuFreeDisplayQueueProc freefunc,
- XPointer data)
-{
- XmuDisplayQueue *q = (XmuDisplayQueue *) malloc (sizeof (XmuDisplayQueue));
- if (q) {
- q->nentries = 0;
- q->head = q->tail = NULL;
- q->closefunc = closefunc;
- q->freefunc = freefunc;
- q->data = data;
- }
- return q;
-}
-
-
-/*
- * XmuDQDestroy - free all storage associated with this display queue,
- * optionally invoking the close callbacks.
- */
-
-Bool
-XmuDQDestroy(XmuDisplayQueue *q, Bool docallbacks)
-{
- XmuDisplayQueueEntry *e = q->head;
-
- while (e) {
- XmuDisplayQueueEntry *nexte = e->next;
- if (docallbacks && q->closefunc) CallCloseCallback (q, e);
- free ((char *) e);
- e = nexte;
- }
- free ((char *) q);
- return True;
-}
-
-
-/*
- * XmuDQLookupDisplay - finds the indicated display on the given queue
- */
-XmuDisplayQueueEntry *
-XmuDQLookupDisplay(XmuDisplayQueue *q, Display *dpy)
-{
- XmuDisplayQueueEntry *e;
-
- for (e = q->head; e; e = e->next) {
- if (e->display == dpy) return e;
- }
- return NULL;
-}
-
-
-/*
- * XmuDQAddDisplay - add the specified display to the queue; set data as a
- * convenience. Does not ensure that dpy hasn't already been added.
- */
-XmuDisplayQueueEntry *
-XmuDQAddDisplay(XmuDisplayQueue *q, Display *dpy, XPointer data)
-{
- XmuDisplayQueueEntry *e;
-
- if (!(e = (XmuDisplayQueueEntry *) malloc (sizeof (XmuDisplayQueueEntry)))) {
- return NULL;
- }
- if (!(e->closehook = XmuAddCloseDisplayHook (dpy, _DQCloseDisplay,
- (XPointer) q))) {
- free ((char *) e);
- return NULL;
- }
-
- e->display = dpy;
- e->next = NULL;
- e->data = data;
-
- if (q->tail) {
- q->tail->next = e;
- e->prev = q->tail;
- } else {
- q->head = e;
- e->prev = NULL;
- }
- q->tail = e;
- q->nentries++;
- return e;
-}
-
-
-/*
- * XmuDQRemoveDisplay - remove the specified display from the queue
- */
-Bool
-XmuDQRemoveDisplay(XmuDisplayQueue *q, Display *dpy)
-{
- XmuDisplayQueueEntry *e;
-
- for (e = q->head; e; e = e->next) {
- if (e->display == dpy) {
- if (q->head == e)
- q->head = e->next; /* if at head, then bump head */
- else
- e->prev->next = e->next; /* else splice out */
- if (q->tail == e)
- q->tail = e->prev; /* if at tail, then bump tail */
- else
- e->next->prev = e->prev; /* else splice out */
- (void) XmuRemoveCloseDisplayHook (dpy, e->closehook,
- _DQCloseDisplay, (XPointer) q);
- free ((char *) e);
- q->nentries--;
- return True;
- }
- }
- return False;
-}
-
-
-/*****************************************************************************
- * private functions *
- *****************************************************************************/
-
-/*
- * _DQCloseDisplay - upcalled from CloseHook to notify this queue; remove the
- * display when finished
- */
-static int
-_DQCloseDisplay(Display *dpy, XPointer arg)
-{
- XmuDisplayQueue *q = (XmuDisplayQueue *) arg;
- XmuDisplayQueueEntry *e;
-
- for (e = q->head; e; e = e->next) {
- if (e->display == dpy) {
- if (q->closefunc) CallCloseCallback (q, e);
- (void) XmuDQRemoveDisplay (q, dpy);
- if (q->nentries == 0 && q->freefunc) CallFreeCallback (q);
- return 1;
- }
- }
-
- return 0;
-}
diff --git a/nx-X11/lib/Xmu/DisplayQue.h b/nx-X11/lib/Xmu/DisplayQue.h
deleted file mode 100644
index 9f9013c1e..000000000
--- a/nx-X11/lib/Xmu/DisplayQue.h
+++ /dev/null
@@ -1,155 +0,0 @@
-/* $Xorg: DisplayQue.h,v 1.4 2001/02/09 02:03:52 xorgcvs Exp $ */
-
-/*
-
-Copyright 1994, 1998 The Open Group
-
-Permission to use, copy, modify, distribute, and sell this software and its
-documentation for any purpose is hereby granted without fee, provided that
-the above copyright notice appear in all copies and that both that
-copyright notice and this permission notice appear in supporting
-documentation.
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
-AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
-CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-Except as contained in this notice, the name of The Open Group shall not be
-used in advertising or otherwise to promote the sale, use or other dealings
-in this Software without prior written authorization from The Open Group.
-
-*/
-/* $XFree86: xc/lib/Xmu/DisplayQue.h,v 1.5 2001/01/17 19:42:54 dawes Exp $ */
-
-#ifndef _XMU_DISPLAYQUE_H_
-#define _XMU_DISPLAYQUE_H_
-
-#include <X11/Xmu/CloseHook.h>
-#include <X11/Xfuncproto.h>
-
-/*
- * Public Entry Points
- *
- *
- * XmuDisplayQueue *XmuDQCreate (closefunc, freefunc, data)
- * XmuCloseDisplayQueueProc closefunc;
- * XmuFreeDisplayQueueProc freefunc;
- * XPointer data;
- *
- * Creates and returns a queue into which displays may be placed. When
- * the display is closed, the closefunc (if non-NULL) is upcalled with
- * as follows:
- *
- * (*closefunc) (queue, entry)
- *
- * The freeproc, if non-NULL, is called whenever the last display is
- * closed, notifying the creator that display queue may be released
- * using XmuDQDestroy.
- *
- *
- * Bool XmuDQDestroy (q, docallbacks)
- * XmuDisplayQueue *q;
- * Bool docallbacks;
- *
- * Releases all memory for the indicated display queue. If docallbacks
- * is true, then the closefunc (if non-NULL) is called for each
- * display.
- *
- *
- * XmuDisplayQueueEntry *XmuDQLookupDisplay (q, dpy)
- * XmuDisplayQueue *q;
- * Display *dpy;
- *
- * Returns the queue entry for the specified display or NULL if the
- * display is not in the queue.
- *
- *
- * XmuDisplayQueueEntry *XmuDQAddDisplay (q, dpy, data)
- * XmuDisplayQueue *q;
- * Display *dpy;
- * XPointer data;
- *
- * Adds the indicated display to the end of the queue or NULL if it
- * is unable to allocate memory. The data field may be used by the
- * caller to attach arbitrary data to this display in this queue. The
- * caller should use XmuDQLookupDisplay to make sure that the display
- * hasn't already been added.
- *
- *
- * Bool XmuDQRemoveDisplay (q, dpy)
- * XmuDisplayQueue *q;
- * Display *dpy;
- *
- * Removes the specified display from the given queue. If the
- * indicated display is not found on this queue, False is returned,
- * otherwise True is returned.
- */
-
-typedef struct _XmuDisplayQueue XmuDisplayQueue;
-typedef struct _XmuDisplayQueueEntry XmuDisplayQueueEntry;
-
-typedef int (*XmuCloseDisplayQueueProc)(XmuDisplayQueue *queue,
- XmuDisplayQueueEntry *entry);
-
-typedef int (*XmuFreeDisplayQueueProc)(XmuDisplayQueue *queue);
-
-struct _XmuDisplayQueueEntry {
- struct _XmuDisplayQueueEntry *prev, *next;
- Display *display;
- CloseHook closehook;
- XPointer data;
-};
-
-struct _XmuDisplayQueue {
- int nentries;
- XmuDisplayQueueEntry *head, *tail;
- XmuCloseDisplayQueueProc closefunc;
- XmuFreeDisplayQueueProc freefunc;
- XPointer data;
-};
-
-_XFUNCPROTOBEGIN
-
-XmuDisplayQueue *XmuDQCreate
-(
- XmuCloseDisplayQueueProc closefunc,
- XmuFreeDisplayQueueProc freefunc,
- XPointer data
- );
-
-Bool XmuDQDestroy
-(
- XmuDisplayQueue *q,
- Bool docallbacks
- );
-
-XmuDisplayQueueEntry *XmuDQLookupDisplay
-(
- XmuDisplayQueue *q,
- Display *dpy
- );
-
-XmuDisplayQueueEntry *XmuDQAddDisplay
-(
- XmuDisplayQueue *q,
- Display *dpy,
- XPointer data
- );
-
-Bool XmuDQRemoveDisplay
-(
- XmuDisplayQueue *q,
- Display *dpy
- );
-
-_XFUNCPROTOEND
-
-#define XmuDQNDisplays(q) ((q)->nentries)
-
-#endif /* _XMU_DISPLAYQUE_H_ */
diff --git a/nx-X11/lib/Xmu/Distinct.c b/nx-X11/lib/Xmu/Distinct.c
deleted file mode 100644
index f00b00b5a..000000000
--- a/nx-X11/lib/Xmu/Distinct.c
+++ /dev/null
@@ -1,92 +0,0 @@
-/* $Xorg: Distinct.c,v 1.4 2001/02/09 02:03:52 xorgcvs Exp $ */
-
-/*
-
-Copyright 1990, 1998 The Open Group
-
-Permission to use, copy, modify, distribute, and sell this software and its
-documentation for any purpose is hereby granted without fee, provided that
-the above copyright notice appear in all copies and that both that
-copyright notice and this permission notice appear in supporting
-documentation.
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
-AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
-CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-Except as contained in this notice, the name of The Open Group shall not be
-used in advertising or otherwise to promote the sale, use or other dealings
-in this Software without prior written authorization from The Open Group.
-
-*/
-/* $XFree86: xc/lib/Xmu/Distinct.c,v 3.5 2001/07/25 15:04:50 dawes Exp $ */
-
-/*
- * Author: Keith Packard, MIT X Consortium
- */
-
-#ifdef HAVE_CONFIG_H
-#include <config.h>
-#endif
-#include <X11/Xlib.h>
-#include <stdlib.h>
-#include <X11/Xutil.h>
-#include <X11/Xmu/StdCmap.h>
-
-/*
- * Distinguishable colors routine. Determines if two colors are
- * distinguishable or not. Somewhat arbitrary meaning.
- */
-
-#define MIN_DISTINGUISH 10000.0
-
-Bool
-XmuDistinguishableColors(XColor *colors, int count)
-{
- double deltaRed, deltaGreen, deltaBlue;
- double dist;
- int i, j;
-
- for (i = 0; i < count - 1; i++)
- for (j = i + 1; j < count; j++)
- {
- deltaRed = (double)colors[i].red - (double)colors[j].red;
- deltaGreen = (double)colors[i].green - (double)colors[j].green;
- deltaBlue = (double)colors[i].blue - (double)colors[j].blue;
- dist = deltaRed * deltaRed +
- deltaGreen * deltaGreen +
- deltaBlue * deltaBlue;
- if (dist <= MIN_DISTINGUISH * MIN_DISTINGUISH)
- return False;
- }
- return True;
-}
-
-Bool
-XmuDistinguishablePixels(Display *dpy, Colormap cmap,
- unsigned long *pixels, int count)
-{
- XColor *defs;
- int i, j;
- Bool ret;
-
- for (i = 0; i < count - 1; i++)
- for (j = i + 1; j < count; j++)
- if (pixels[i] == pixels[j])
- return False;
- defs = (XColor *) malloc (count * sizeof (XColor));
- if (!defs)
- return False;
- for (i = 0; i < count; i++)
- defs[i].pixel = pixels[i];
- XQueryColors (dpy, cmap, defs, count);
- ret = XmuDistinguishableColors (defs, count);
- free ((char *) defs);
- return ret;
-}
diff --git a/nx-X11/lib/Xmu/DrRndRect.c b/nx-X11/lib/Xmu/DrRndRect.c
deleted file mode 100644
index 7fe5489d0..000000000
--- a/nx-X11/lib/Xmu/DrRndRect.c
+++ /dev/null
@@ -1,182 +0,0 @@
-/* $Xorg: DrRndRect.c,v 1.4 2001/02/09 02:03:52 xorgcvs Exp $ */
-
-/*
-
-Copyright 1988, 1998 The Open Group
-
-Permission to use, copy, modify, distribute, and sell this software and its
-documentation for any purpose is hereby granted without fee, provided that
-the above copyright notice appear in all copies and that both that
-copyright notice and this permission notice appear in supporting
-documentation.
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
-AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
-CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-Except as contained in this notice, the name of The Open Group shall not be
-used in advertising or otherwise to promote the sale, use or other dealings
-in this Software without prior written authorization from The Open Group.
-
-*/
-/* $XFree86: xc/lib/Xmu/DrRndRect.c,v 1.6 2001/01/17 19:42:54 dawes Exp $ */
-
-/*
- * XmuDrawRoundedRectangle, XmuFillRoundedRectangle
- *
- * Draw/Fill a rounded rectangle, where x, y, w, h are the dimensions of
- * the overall rectangle, and ew and eh are the sizes of a bounding box
- * that the corners are drawn inside of.
- */
-
-#ifdef HAVE_CONFIG_H
-#include <config.h>
-#endif
-#include <X11/Xlib.h>
-#include <X11/Xmu/Drawing.h>
-
-void
-XmuDrawRoundedRectangle(Display *dpy, Drawable draw, GC gc,
- int x, int y, int w, int h, int ew, int eh)
-{
- XArc arcs[8];
- int ew2, eh2;
-
- if ((ew2 = (ew << 1)) > w)
- ew2 = ew = 0;
- if ((eh2 = (eh << 1)) > h)
- eh2 = eh = 0;
-
- arcs[0].x = x;
- arcs[0].y = y;
- arcs[0].width = ew2;
- arcs[0].height = eh2;
- arcs[0].angle1 = 180 * 64;
- arcs[0].angle2 = -90 * 64;
-
- arcs[1].x = x + ew;
- arcs[1].y = y;
- arcs[1].width = w - ew2;
- arcs[1].height = 0;
- arcs[1].angle1 = 180 * 64;
- arcs[1].angle2 = -180 * 64;
-
- arcs[2].x = x + w - ew2;
- arcs[2].y = y;
- arcs[2].width = ew2;
- arcs[2].height = eh2;
- arcs[2].angle1 = 90 * 64;
- arcs[2].angle2 = -90 * 64;
-
- arcs[3].x = x + w;
- arcs[3].y = y + eh;
- arcs[3].width = 0;
- arcs[3].height = h - eh2;
- arcs[3].angle1 = 90 * 64;
- arcs[3].angle2 = -180 * 64;
-
- arcs[4].x = x + w - ew2;
- arcs[4].y = y + h - eh2;
- arcs[4].width = ew2;
- arcs[4].height = eh2;
- arcs[4].angle1 = 0;
- arcs[4].angle2 = -90 * 64;
-
- arcs[5].x = x + ew;
- arcs[5].y = y + h;
- arcs[5].width = w - ew2;
- arcs[5].height = 0;
- arcs[5].angle1 = 0;
- arcs[5].angle2 = -180 * 64;
-
- arcs[6].x = x;
- arcs[6].y = y + h - eh2;
- arcs[6].width = ew2;
- arcs[6].height = eh2;
- arcs[6].angle1 = 270 * 64;
- arcs[6].angle2 = -90 * 64;
-
- arcs[7].x = x;
- arcs[7].y = y + eh;
- arcs[7].width = 0;
- arcs[7].height = h - eh2;
- arcs[7].angle1 = 270 * 64;
- arcs[7].angle2 = -180 * 64;
-
- XDrawArcs(dpy, draw, gc, arcs, 8);
-}
-
-void
-XmuFillRoundedRectangle(Display *dpy, Drawable draw, GC gc,
- int x, int y, int w, int h, int ew, int eh)
-{
- XArc arcs[4];
- XRectangle rects[3];
- XGCValues vals;
- int ew2, eh2;
-
- XGetGCValues(dpy, gc, GCArcMode, &vals);
- if (vals.arc_mode != ArcPieSlice)
- XSetArcMode(dpy, gc, ArcPieSlice);
-
- if ((ew2 = (ew << 1)) > w)
- ew2 = ew = 0;
- if ((eh2 = (eh << 1)) > h)
- eh2 = eh = 0;
-
- arcs[0].x = x;
- arcs[0].y = y;
- arcs[0].width = ew2;
- arcs[0].height = eh2;
- arcs[0].angle1 = 180 * 64;
- arcs[0].angle2 = -90 * 64;
-
- arcs[1].x = x + w - ew2 - 1;
- arcs[1].y = y;
- arcs[1].width = ew2;
- arcs[1].height = eh2;
- arcs[1].angle1 = 90 * 64;
- arcs[1].angle2 = -90 * 64;
-
- arcs[2].x = x + w - ew2 - 1;
- arcs[2].y = y + h - eh2 - 1;
- arcs[2].width = ew2;
- arcs[2].height = eh2;
- arcs[2].angle1 = 0;
- arcs[2].angle2 = -90 * 64;
-
- arcs[3].x = x;
- arcs[3].y = y + h - eh2 - 1;
- arcs[3].width = ew2;
- arcs[3].height = eh2;
- arcs[3].angle1 = 270 * 64;
- arcs[3].angle2 = -90 * 64;
-
- XFillArcs(dpy, draw, gc, arcs, 4);
-
- rects[0].x = x + ew;
- rects[0].y = y;
- rects[0].width = w - ew2;
- rects[0].height = h;
-
- rects[1].x = x;
- rects[1].y = y + eh;
- rects[1].width = ew;
- rects[1].height = h - eh2;
-
- rects[2].x = x + w - ew;
- rects[2].y = y + eh;
- rects[2].width = ew;
- rects[2].height = h - eh2;
-
- XFillRectangles(dpy, draw, gc, rects, 3);
-
- if (vals.arc_mode != ArcPieSlice)
- XSetArcMode(dpy, gc, vals.arc_mode);
-}
diff --git a/nx-X11/lib/Xmu/DrawLogo.c b/nx-X11/lib/Xmu/DrawLogo.c
deleted file mode 100644
index 74e64d866..000000000
--- a/nx-X11/lib/Xmu/DrawLogo.c
+++ /dev/null
@@ -1,155 +0,0 @@
-/* $Xorg: DrawLogo.c,v 1.4 2001/02/09 02:03:52 xorgcvs Exp $ */
-
-/*
-
-Copyright 1988, 1998 The Open Group
-
-Permission to use, copy, modify, distribute, and sell this software and its
-documentation for any purpose is hereby granted without fee, provided that
-the above copyright notice appear in all copies and that both that
-copyright notice and this permission notice appear in supporting
-documentation.
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
-AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
-CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-Except as contained in this notice, the name of The Open Group shall not be
-used in advertising or otherwise to promote the sale, use or other dealings
-in this Software without prior written authorization from The Open Group.
-
-*/
-/* $XFree86: xc/lib/Xmu/DrawLogo.c,v 1.7 2001/01/17 19:42:54 dawes Exp $ */
-
-#ifdef HAVE_CONFIG_H
-#include <config.h>
-#endif
-#include <X11/Xlib.h>
-#include <X11/Xmu/Drawing.h>
-
-/*
- * Draw the "official" X Window System Logo, designed by Danny Chong
- *
- * Written by Ollie Jones, Apollo Computer
- *
- * Does some fancy stuff to make the logo look acceptable even
- * if it is tiny. Also makes the various linear elements of
- * the logo line up as well as possible considering rasterization.
- */
-void
-XmuDrawLogo(Display *dpy, Drawable drawable, GC gcFore, GC gcBack,
- int x, int y, unsigned int width, unsigned int height)
-{
- unsigned int size;
- int thin, gap, d31;
- XPoint poly[4];
-
- XFillRectangle(dpy, drawable, gcBack, x, y, width, height);
-
- /* for now, do a centered even-sized square, at least for now */
- size = width;
- if (height < width)
- size = height;
- size &= ~1;
- x += (width - size) >> 1;
- y += (height - size) >> 1;
-
-/*
- * Draw what will be the thin strokes.
- *
- * -----
- * / /
- * / /
- * / /
- * / /
- * /____/
- * d
- *
- * Point d is 9/44 (~1/5) of the way across.
- */
-
- thin = (size / 11);
- if (thin < 1) thin = 1;
- gap = (thin+3) / 4;
- d31 = thin + thin + gap;
- poly[0].x = x + size; poly[0].y = y;
- poly[1].x = x + size-d31; poly[1].y = y;
- poly[2].x = x + 0; poly[2].y = y + size;
- poly[3].x = x + d31; poly[3].y = y + size;
- XFillPolygon(dpy, drawable, gcFore, poly, 4, Convex, CoordModeOrigin);
-
-/*
- * Erase area not needed for lower thin stroke.
- *
- * ------
- * / /
- * / __ /
- * / / /
- * / / /
- * /__/__/
- */
-
- poly[0].x = x + d31/2; poly[0].y = y + size;
- poly[1].x = x + size / 2; poly[1].y = y + size/2;
- poly[2].x = x + (size/2)+(d31-(d31/2)); poly[2].y = y + size/2;
- poly[3].x = x + d31; poly[3].y = y + size;
- XFillPolygon(dpy, drawable, gcBack, poly, 4, Convex, CoordModeOrigin);
-
-/*
- * Erase area not needed for upper thin stroke.
- *
- * ------
- * / / /
- * /--/ /
- * / /
- * / /
- * /_____/
- */
-
- poly[0].x = x + size - d31/2; poly[0].y = y;
- poly[1].x = x + size / 2; poly[1].y = y + size/2;
- poly[2].x = x + (size/2)-(d31-(d31/2)); poly[2].y = y + size/2;
- poly[3].x = x + size - d31; poly[3].y = y;
- XFillPolygon(dpy, drawable, gcBack, poly, 4, Convex, CoordModeOrigin);
-
-/*
- * Draw thick stroke.
- * Point b is 1/4 of the way across.
- *
- * b
- * -----
- * \ \
- * \ \
- * \ \
- * \ \
- * \____\
- */
-
- poly[0].x = x; poly[0].y = y;
- poly[1].x = x + size/4; poly[1].y = y;
- poly[2].x = x + size; poly[2].y = y + size;
- poly[3].x = x + size - size/4; poly[3].y = y + size;
- XFillPolygon(dpy, drawable, gcFore, poly, 4, Convex, CoordModeOrigin);
-
-/*
- * Erase to create gap.
- *
- * /
- * /
- * /
- * /
- * /
- */
-
- poly[0].x = x + size- thin; poly[0].y = y;
- poly[1].x = x + size-( thin+gap); poly[1].y = y;
- poly[2].x = x + thin; poly[2].y = y + size;
- poly[3].x = x + thin + gap; poly[3].y = y + size;
- XFillPolygon(dpy, drawable, gcBack, poly, 4, Convex, CoordModeOrigin);
-}
diff --git a/nx-X11/lib/Xmu/Drawing.h b/nx-X11/lib/Xmu/Drawing.h
deleted file mode 100644
index 9ffed3bab..000000000
--- a/nx-X11/lib/Xmu/Drawing.h
+++ /dev/null
@@ -1,161 +0,0 @@
-/* $Xorg: Drawing.h,v 1.5 2001/02/09 02:03:52 xorgcvs Exp $ */
-
-/*
-
-Copyright 1988, 1998 The Open Group
-
-Permission to use, copy, modify, distribute, and sell this software and its
-documentation for any purpose is hereby granted without fee, provided that
-the above copyright notice appear in all copies and that both that
-copyright notice and this permission notice appear in supporting
-documentation.
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
-AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
-CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-Except as contained in this notice, the name of The Open Group shall not be
-used in advertising or otherwise to promote the sale, use or other dealings
-in this Software without prior written authorization from The Open Group.
-
-*/
-/* $XFree86: xc/lib/Xmu/Drawing.h,v 1.6 2001/12/14 19:55:42 dawes Exp $ */
-
-/*
- * The interfaces described by this header file are for miscellaneous utilities
- * and are not part of the Xlib standard.
- */
-
-#ifndef _XMU_DRAWING_H_
-#define _XMU_DRAWING_H_
-
-#include <X11/Xlib.h>
-#include <X11/Xfuncproto.h>
-
-#include <stdio.h>
-#if ! defined(_XtIntrinsic_h) && ! defined(PIXEL_ALREADY_TYPEDEFED)
-typedef unsigned long Pixel;
-#endif
-
-_XFUNCPROTOBEGIN
-
-void XmuDrawRoundedRectangle
-(
- Display *dpy,
- Drawable draw,
- GC gc,
- int x,
- int y,
- int w,
- int h,
- int ew,
- int eh
- );
-
-void XmuFillRoundedRectangle
-(
- Display *dpy,
- Drawable draw,
- GC gc,
- int x,
- int y,
- int w,
- int h,
- int ew,
- int eh
- );
-
-void XmuDrawLogo
-(
- Display *dpy,
- Drawable drawable,
- GC gcFore,
- GC gcBack,
- int x,
- int y,
- unsigned int width,
- unsigned int height
- );
-
-Pixmap XmuCreatePixmapFromBitmap
-(
- Display *dpy,
- Drawable d,
- Pixmap bitmap,
- unsigned int width,
- unsigned int height,
- unsigned int depth,
- unsigned long fore,
- unsigned long back
-);
-
-Pixmap XmuCreateStippledPixmap
-(
- Screen *screen,
- Pixel fore,
- Pixel back,
- unsigned int depth
- );
-
-void XmuReleaseStippledPixmap
-(
- Screen *screen,
- Pixmap pixmap
- );
-
-Pixmap XmuLocateBitmapFile
-(
- Screen *screen,
- _Xconst char *name,
- char *srcname_return,
- int srcnamelen,
- int *width_return,
- int *height_return,
- int *xhot_return,
- int *yhot_return
- );
-
-Pixmap XmuLocatePixmapFile
-(
- Screen *screen,
- _Xconst char *name,
- unsigned long fore,
- unsigned long back,
- unsigned int depth,
- char *srcname_return,
- int srcnamelen,
- int *width_return,
- int *height_return,
- int *xhot_return,
- int *yhot_return
- );
-
-int XmuReadBitmapData
-(
- FILE *fstream,
- unsigned int *width_return,
- unsigned int *height_return,
- unsigned char **datap_return,
- int *xhot_return,
- int *yhot_return
-);
-
-int XmuReadBitmapDataFromFile
-(
- _Xconst char *filename,
- unsigned int *width_return,
- unsigned int *height_return,
- unsigned char **datap_return,
- int *xhot_return,
- int *yhot_return
- );
-
-_XFUNCPROTOEND
-
-#endif /* _XMU_DRAWING_H_ */
diff --git a/nx-X11/lib/Xmu/Editres.h b/nx-X11/lib/Xmu/Editres.h
deleted file mode 100644
index 2a3f3e250..000000000
--- a/nx-X11/lib/Xmu/Editres.h
+++ /dev/null
@@ -1,42 +0,0 @@
-/* $Xorg: Editres.h,v 1.4 2001/02/09 02:03:52 xorgcvs Exp $ */
-
-/*
-
-Copyright 1991, 1994, 1998 The Open Group
-
-Permission to use, copy, modify, distribute, and sell this software and its
-documentation for any purpose is hereby granted without fee, provided that
-the above copyright notice appear in all copies and that both that
-copyright notice and this permission notice appear in supporting
-documentation.
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
-AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
-CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-Except as contained in this notice, the name of The Open Group shall not be
-used in advertising or otherwise to promote the sale, use or other dealings
-in this Software without prior written authorization from The Open Group.
-
-*/
-/* $XFree86: xc/lib/Xmu/Editres.h,v 1.5 2001/01/17 19:42:55 dawes Exp $ */
-
-#include <X11/Xfuncproto.h>
-
-_XFUNCPROTOBEGIN
-
-void _XEditResCheckMessages
-(
- Widget w,
- XtPointer data,
- XEvent *event,
- Boolean *cont
-);
-
-_XFUNCPROTOEND
diff --git a/nx-X11/lib/Xmu/EditresCom.c b/nx-X11/lib/Xmu/EditresCom.c
deleted file mode 100644
index 66da52c9b..000000000
--- a/nx-X11/lib/Xmu/EditresCom.c
+++ /dev/null
@@ -1,2214 +0,0 @@
-/* $Xorg: EditresCom.c,v 1.4 2001/02/09 02:03:52 xorgcvs Exp $ */
-
-/*
-
-Copyright 1989, 1998 The Open Group
-
-Permission to use, copy, modify, distribute, and sell this software and its
-documentation for any purpose is hereby granted without fee, provided that
-the above copyright notice appear in all copies and that both that
-copyright notice and this permission notice appear in supporting
-documentation.
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
-AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
-CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-Except as contained in this notice, the name of The Open Group shall not be
-used in advertising or otherwise to promote the sale, use or other dealings
-in this Software without prior written authorization from The Open Group.
-
-*/
-/* $XFree86: xc/lib/Xmu/EditresCom.c,v 1.21 2003/10/24 15:44:05 tsi Exp $ */
-
-/*
- * Author: Chris D. Peterson, Dave Sternlicht, MIT X Consortium
- */
-
-#ifdef HAVE_CONFIG_H
-#include <config.h>
-#endif
-#include <X11/IntrinsicP.h> /* To get into the composite and core widget
- structures. */
-#include <X11/ObjectP.h> /* For XtIs<Classname> macros. */
-#include <X11/StringDefs.h> /* for XtRString. */
-#include <X11/ShellP.h> /* for Application Shell Widget class. */
-
-#include <X11/Xatom.h>
-#include <X11/Xos.h> /* for strcpy declaration */
-#include <X11/Xfuncs.h>
-#include <X11/Xmu/EditresP.h>
-#include <X11/Xmd.h>
-#include <X11/Xmu/CharSet.h>
-#include <X11/Xmu/SysUtil.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-
-#define _XEditResPutBool _XEditResPut8
-#define _XEditResPutResourceType _XEditResPut8
-
-/*
- * Types
- */
-typedef enum {
- BlockNone,
- BlockSetValues,
- BlockAll
-} EditresBlock;
-
-typedef struct _SetValuesEvent {
- EditresCommand type; /* first field must be type */
- WidgetInfo *widgets;
- unsigned short num_entries; /* number of set values requests */
- char *name;
- char *res_type;
- XtPointer value;
- unsigned short value_len;
-} SetValuesEvent;
-
-typedef struct _SVErrorInfo {
- SetValuesEvent *event;
- ProtocolStream *stream;
- unsigned short *count;
- WidgetInfo *entry;
-} SVErrorInfo;
-
-typedef struct _GetValuesEvent {
- EditresCommand type; /* first field must be type */
- WidgetInfo *widgets;
- unsigned short num_entries; /* number of get values requests */
- char *name;
-} GetValuesEvent;
-
-typedef struct _FindChildEvent {
- EditresCommand type; /* first field must be type */
- WidgetInfo *widgets;
- short x, y;
-} FindChildEvent;
-
-typedef struct _GenericGetEvent {
- EditresCommand type; /* first field must be type */
- WidgetInfo *widgets;
- unsigned short num_entries; /* number of set values requests */
-} GenericGetEvent, GetResEvent, GetGeomEvent;
-
-/*
- * Common to all events
- */
-typedef struct _AnyEvent {
- EditresCommand type; /* first field must be type */
- WidgetInfo *widgets;
-} AnyEvent;
-
-/*
- * The event union
- */
-typedef union _EditresEvent {
- AnyEvent any_event;
- SetValuesEvent set_values_event;
- GetResEvent get_resources_event;
- GetGeomEvent get_geometry_event;
- FindChildEvent find_child_event;
-} EditresEvent;
-
-typedef struct _Globals {
- EditresBlock block;
- SVErrorInfo error_info;
- ProtocolStream stream;
- ProtocolStream *command_stream; /* command stream */
-#if defined(LONG64) || defined(WORD64)
- unsigned long base_address;
-#endif
-} Globals;
-
-#define CURRENT_PROTOCOL_VERSION 5L
-
-#define streq(a,b) (strcmp((a), (b)) == 0)
-
-/*
- * Prototypes
- */
-static Widget _FindChild(Widget, int, int);
-static void _XEditresGetStringValues(Widget, Arg*, int);
-static XtPointer BuildReturnPacket(ResIdent, EditResError, ProtocolStream*);
-static void CommandDone(Widget, Atom*, Atom*);
-static Boolean ConvertReturnCommand(Widget, Atom*, Atom*, Atom*, XtPointer*,
- unsigned long*, int*);
-static Boolean CvtStringToBlock(Display*, XrmValue*, Cardinal*,
- XrmValue*, XrmValue*, XtPointer*);
-static EditresEvent *BuildEvent(Widget, Atom, XtPointer, ResIdent,
- unsigned long);
-static char *DoFindChild(Widget, EditresEvent*, ProtocolStream*);
-static char *DoGetGeometry(Widget, EditresEvent*, ProtocolStream*);
-static char *DoGetResources(Widget, EditresEvent*, ProtocolStream*);
-static char *DoSetValues(Widget, EditresEvent*, ProtocolStream*);
-static void DumpChildren(Widget, ProtocolStream*, unsigned short*);
-static char *DumpValues(Widget, EditresEvent*, ProtocolStream*);
-static char *DumpWidgets(Widget, EditresEvent*, ProtocolStream*);
-static void ExecuteCommand(Widget, Atom, ResIdent, EditresEvent*);
-static void ExecuteGetGeometry(Widget, ProtocolStream*);
-static void ExecuteGetResources(Widget w, ProtocolStream *stream);
-static void ExecuteSetValues(Widget, SetValuesEvent*, WidgetInfo*,
- ProtocolStream*, unsigned short*);
-static void FreeEvent(EditresEvent*);
-static void GetCommand(Widget w, XtPointer, Atom*, Atom*, XtPointer,
- unsigned long*, int*);
-static void HandleToolkitErrors(String, String, String, String,
- String*, Cardinal*);
-static void InsertWidget(ProtocolStream*, Widget);
-static Bool IsChild(Widget, Widget, Widget);
-static Bool isApplicationShell(Widget);
-static void LoadResources(Widget);
-static Bool PositionInChild(Widget, int, int);
-static int qcmp_widget_list(register _Xconst void*, register _Xconst void*);
-static void SendCommand(Widget, Atom, ResIdent, EditResError,
- ProtocolStream*);
-static void SendFailure(Widget, Atom, ResIdent, char*);
-static char *VerifyWidget(Widget, WidgetInfo*);
-
-/*
- * External
- */
-void _XEditResCheckMessages(Widget, XtPointer, XEvent*, Boolean*);
-
-/*
- * Initialization
- */
-static Atom res_editor_command, res_editor_protocol, client_value;
-static Globals globals;
-
-/************************************************************
- * Resource Editor Communication Code
- ************************************************************/
-/*
- * Function:
- * _XEditResCheckMessages
- *
- * Parameters:
- * data - unused
- * event - The X Event that triggered this handler
- * cont - unused
- *
- * Description:
- * This callback routine is set on all shell widgets, and checks to
- * see if a client message event has come from the resource editor.
- */
-/*ARGSUSED*/
-void
-_XEditResCheckMessages(Widget w, XtPointer data, XEvent *event, Boolean *cont)
-{
- Time time;
- ResIdent ident;
- static Boolean first_time = False;
- static Atom res_editor, res_comm;
- Display *dpy;
-
- if (event->type == ClientMessage)
- {
- XClientMessageEvent * c_event = (XClientMessageEvent *)event;
- dpy = XtDisplay(w);
-
- if (!first_time)
- {
- Atom atoms[4];
- static char *names[] = {
- EDITRES_NAME, EDITRES_COMMAND_ATOM,
- EDITRES_PROTOCOL_ATOM, EDITRES_CLIENT_VALUE
- };
-
- first_time = True;
- XInternAtoms(dpy, names, 4, False, atoms);
- res_editor = atoms[0];
- res_editor_command = atoms[1];
- res_editor_protocol = atoms[2];
- /* Used in later procedures */
- client_value = atoms[3];
- LoadResources(w);
- }
-
- if ((c_event->message_type != res_editor)
- || (c_event->format != EDITRES_SEND_EVENT_FORMAT))
- return;
-
- time = c_event->data.l[0];
- res_comm = c_event->data.l[1];
- ident = (ResIdent) c_event->data.l[2];
- if (c_event->data.l[3] != CURRENT_PROTOCOL_VERSION)
- {
- _XEditResResetStream(&globals.stream);
- _XEditResPut8(&globals.stream, (unsigned int) CURRENT_PROTOCOL_VERSION);
- SendCommand(w, res_comm, ident, ProtocolMismatch, &globals.stream);
- return;
- }
-
- XtGetSelectionValue(w, res_comm, res_editor_command,
- GetCommand, (XtPointer)(long)ident, time);
- }
-}
-
-/*
- * Function:
- * BuildEvent
- *
- * Parameters:
- * w - widget to own selection, in case of error
- * sel - selection to send error message beck in
- * data - the data for the request
- * ident - the id number we are looking for
- * length - length of request
- *
- * Description:
- * Takes the info out the protocol stream an constructs
- * the proper event structure.
- *
- * Returns:
- * the event, or NULL
- */
-#if defined(ERROR_MESSAGE)
-#undef ERROR_MESSAGE
-#endif
-#define ERROR_MESSAGE "Client: Improperly formatted protocol request"
-static EditresEvent *
-BuildEvent(Widget w, Atom sel, XtPointer data, ResIdent ident,
- unsigned long length)
-{
- EditresEvent *event;
- ProtocolStream alloc_stream, *stream;
- unsigned char temp;
- register unsigned int i;
-
- stream = &alloc_stream;
- stream->current = stream->top = (unsigned char *)data;
- stream->size = HEADER_SIZE; /* size of header */
-
- /*
- * Retrieve the Header
- */
- if (length < HEADER_SIZE)
- {
- SendFailure(w, sel, ident, ERROR_MESSAGE);
- return (NULL);
- }
-
- (void)_XEditResGet8(stream, &temp);
- if (temp != ident) /* Id's don't match, ignore request */
- return (NULL);
-
- event = (EditresEvent *)XtCalloc(sizeof(EditresEvent), 1);
-
- (void)_XEditResGet8(stream, &temp);
- event->any_event.type = (EditresCommand)temp;
- (void)_XEditResGet32(stream, &stream->size);
- stream->top = stream->current; /* reset stream to top of value */
-
- /*
- * Now retrieve the data segment
- */
- switch(event->any_event.type)
- {
- case SendWidgetTree:
- break; /* no additional info */
- case SetValues:
- {
- SetValuesEvent *sv_event = (SetValuesEvent *)event;
-
- if (!(_XEditResGetString8(stream, &sv_event->name)
- && _XEditResGetString8(stream, &sv_event->res_type)))
- goto done;
-
- /*
- * Since we need the value length, we have to pull the
- * value out by hand
- */
- if (!_XEditResGet16(stream, &sv_event->value_len))
- goto done;
-
- sv_event->value = XtMalloc(sizeof(char) * (sv_event->value_len + 1));
-
- for (i = 0; i < sv_event->value_len; i++)
- if (!_XEditResGet8(stream, (unsigned char *)sv_event->value + i))
- goto done;
-
- ((char*)sv_event->value)[i] = '\0';
-
- if (!_XEditResGet16(stream, &sv_event->num_entries))
- goto done;
-
- sv_event->widgets = (WidgetInfo *)
- XtCalloc(sizeof(WidgetInfo), sv_event->num_entries);
-
- for (i = 0; i < sv_event->num_entries; i++)
- if (!_XEditResGetWidgetInfo(stream, sv_event->widgets + i))
- goto done;
- }
- break;
- case FindChild:
- {
- FindChildEvent *find_event = (FindChildEvent *)event;
-
- find_event->widgets = (WidgetInfo *)XtCalloc(sizeof(WidgetInfo), 1);
-
- if (!(_XEditResGetWidgetInfo(stream, find_event->widgets)
- && _XEditResGetSigned16(stream, &find_event->x)
- && _XEditResGetSigned16(stream, &find_event->y)))
- goto done;
- }
- break;
- case GetGeometry:
- case GetResources:
- {
- GenericGetEvent *get_event = (GenericGetEvent *)event;
-
- if (!_XEditResGet16(stream, &get_event->num_entries))
- goto done;
-
- get_event->widgets = (WidgetInfo *)
- XtCalloc(sizeof(WidgetInfo), get_event->num_entries);
-
- for (i = 0; i < get_event->num_entries; i++)
- if (!_XEditResGetWidgetInfo(stream, get_event->widgets + i))
- goto done;
- }
- break;
- case GetValues:
- {
- GetValuesEvent *gv_event = (GetValuesEvent *)event;
-
- _XEditResGetString8(stream, &gv_event->name);
- _XEditResGet16(stream, &gv_event->num_entries);
- gv_event->widgets = (WidgetInfo *)
- XtCalloc(sizeof(WidgetInfo), gv_event->num_entries);
- _XEditResGetWidgetInfo(stream, gv_event->widgets);
- }
- break;
- default:
- {
- char buf[BUFSIZ];
-
- XmuSnprintf(buf, sizeof(buf),
- "Unknown Protocol request %d.", event->any_event.type);
- SendFailure(w, sel, ident, buf);
- FreeEvent(event);
- return (NULL);
- }
- }
-
- return (event);
-
- done:
- SendFailure(w, sel, ident, ERROR_MESSAGE);
- FreeEvent(event);
- return (NULL);
-}
-
-/*
- * Function:
- * FreeEvent
- *
- * Parameters:
- * event - event to free
- *
- * Description:
- * Frees the event structure and any other pieces in it that need freeing.
- */
-static void
-FreeEvent(EditresEvent *event)
-{
- if (event->any_event.widgets != NULL)
- {
- XtFree((char *)event->any_event.widgets->ids);
- XtFree((char *)event->any_event.widgets);
- }
-
- if (event->any_event.type == SetValues)
- {
- XtFree(event->set_values_event.name);
- XtFree(event->set_values_event.res_type);
- }
-
- XtFree((char *)event);
-}
-
-/*
- * Function:
- * GetCommand
- *
- * Parameters:
- * (See Xt XtConvertSelectionProc)
- * data - contains the ident number for the command
- *
- * Description:
- * Gets the Command out of the selection asserted by the resource manager.
- */
-/*ARGSUSED*/
-static void
-GetCommand(Widget w, XtPointer data, Atom *selection, Atom *type,
- XtPointer value, unsigned long *length, int *format)
-{
- ResIdent ident = (ResIdent)(long)data;
- EditresEvent *event;
-
- if (*type != res_editor_protocol || *format != EDITRES_FORMAT)
- return;
-
- if ((event = BuildEvent(w, *selection, value, ident, *length)) != NULL)
- {
- ExecuteCommand(w, *selection, ident, event);
- FreeEvent(event);
- }
-}
-
-/*
- * Function:
- * ExecuteCommand
- *
- * Parameters:
- * w - widget
- * command - the command to execute
- * value - the associated with the command
- *
- * Description:
- * Executes a command string received from the resource editor.
- */
-/*ARGSUSED*/
-static void
-ExecuteCommand(Widget w, Atom sel, ResIdent ident, EditresEvent *event)
-{
- char *(*func)(Widget, EditresEvent*, ProtocolStream*);
- char *str;
-
- if (globals.block == BlockAll)
- {
- SendFailure(w, sel, ident,
- "This client has blocked all Editres commands.");
- return;
- }
- else if (globals.block == BlockSetValues
- && event->any_event.type == SetValues)
- {
- SendFailure(w, sel, ident,
- "This client has blocked all SetValues requests.");
- return;
- }
-
- switch(event->any_event.type)
- {
- case SendWidgetTree:
-#if defined(LONG64) || defined(WORD64)
- globals.base_address = (unsigned long)w & 0xFFFFFFFF00000000;
-#endif
- func = DumpWidgets;
- break;
- case SetValues:
- func = DoSetValues;
- break;
- case FindChild:
- func = DoFindChild;
- break;
- case GetGeometry:
- func = DoGetGeometry;
- break;
- case GetResources:
- func = DoGetResources;
- break;
- case GetValues:
- func = DumpValues;
- break;
- default:
- {
- char buf[BUFSIZ];
-
- XmuSnprintf(buf, sizeof(buf),
- "Unknown Protocol request %d.",event->any_event.type);
- SendFailure(w, sel, ident, buf);
- return;
- }
- }
-
- _XEditResResetStream(&globals.stream);
- if ((str = (*func)(w, event, &globals.stream)) == NULL)
- SendCommand(w, sel, ident, PartialSuccess, &globals.stream);
- else
- SendFailure(w, sel, ident, str);
-}
-
-/*
- * Function:
- * ConvertReturnCommand
- *
- * Parameters:
- * w - the widget that owns the selection
- * selection - selection to convert
- * target - target type for this selection
- * type_ret - type of the selection
- * value_ret - selection value
- * length_ret - lenght of this selection
- * format_ret - the format the selection is in
- *
- * Description:
- * Converts a selection
- *
- * Returns:
- * True if conversion was sucessful
- */
-/*ARGSUSED*/
-static Boolean
-ConvertReturnCommand(Widget w, Atom *selection, Atom *target, Atom *type_ret,
- XtPointer *value_ret, unsigned long *length_ret,
- int *format_ret)
-{
- /*
- * I assume the intrinsics give me the correct selection back
- */
- if ((*target != client_value))
- return (False);
-
- *type_ret = res_editor_protocol;
- *value_ret = (XtPointer)globals.command_stream->real_top;
- *length_ret = globals.command_stream->size + HEADER_SIZE;
- *format_ret = EDITRES_FORMAT;
-
- return (True);
-}
-
-/*
- * Function:
- * CommandDone
- *
- * Parameters:
- * widget - unused
- * selection - unused
- * target - unused
- *
- * Description:
- * done with the selection
- */
-/*ARGSUSED*/
-static void
-CommandDone(Widget widget, Atom *selection, Atom *target)
-{
- /* Keep the toolkit from automaticaly freeing the selection value */
-}
-
-/*
- * Function:
- * SendFailure
- *
- * Paramters:
- * w - widget to own the selection
- * sel - selection to assert
- * ident - identifier
- * str - error message
- *
- * Description:
- * Sends a failure message
- */
-static void
-SendFailure(Widget w, Atom sel, ResIdent ident, char *str)
-{
- _XEditResResetStream(&globals.stream);
- _XEditResPutString8(&globals.stream, str);
- SendCommand(w, sel, ident, Failure, &globals.stream);
-}
-
-/*
- * Function:
- * BuildReturnPacket
- *
- * Parameters:
- * ident - identifier
- * command - command code
- * stream - protocol stream
- * Description:
- * Builds a return packet, given the data to send
- *
- * Returns:
- * packet to send
- */
-static XtPointer
-BuildReturnPacket(ResIdent ident, EditResError error, ProtocolStream *stream)
-{
- long old_alloc, old_size;
- unsigned char *old_current;
-
- /*
- * We have cleverly keep enough space at the top of the header
- * for the return protocol stream, so all we have to do is
- * fill in the space
- */
- /*
- * Fool the insert routines into putting the header in the right
- * place while being damn sure not to realloc (that would be very bad.)
- */
- old_current = stream->current;
- old_alloc = stream->alloc;
- old_size = stream->size;
-
- stream->current = stream->real_top;
- stream->alloc = stream->size + (2 * HEADER_SIZE);
-
- _XEditResPut8(stream, ident);
- _XEditResPut8(stream, (unsigned char)error);
- _XEditResPut32(stream, old_size);
-
- stream->alloc = old_alloc;
- stream->current = old_current;
- stream->size = old_size;
-
- return ((XtPointer)stream->real_top);
-}
-
-/*
- * Function:
- * SendCommand
- * Parameters:
- * w - widget to own the selection
- * sel - selection to assert
- * ident - identifier
- * command - command code
- * stream - protocol stream
- *
- * Description:
- * Builds a return command line
- */
-static void
-SendCommand(Widget w, Atom sel, ResIdent ident, EditResError error,
- ProtocolStream *stream)
-{
- BuildReturnPacket(ident, error, stream);
- globals.command_stream = stream;
-
- /*
- * I REALLY want to own the selection. Since this was not triggered
- * by a user action, and I am the only one using this atom it is safe to
- * use CurrentTime
- */
- XtOwnSelection(w, sel, CurrentTime, ConvertReturnCommand, NULL, CommandDone);
-}
-
-/************************************************************
- * Generic Utility Functions
- ************************************************************/
-static int
-qcmp_widget_list(register _Xconst void *left, register _Xconst void *right)
-{
- return (char *)*(Widget **)left - (char *)*(Widget **)right;
-}
-
-/*
- * Function:
- * FindChildren
- *
- * Parameters:
- * parent - parent widget
- * children - list of children
- * normal - return normal children
- * popup - return popup children
- * extra - return extra children
- *
- * Description:
- * Retuns all children (popup, normal and otherwise) of this widget
- *
- * Returns:
- * number of children
- */
-static int
-FindChildren(Widget parent, Widget **children, Bool normal, Bool popup,
- Bool extra)
-{
- CompositeWidget cw = (CompositeWidget)parent;
- Cardinal i, num_children, current = 0;
- Widget *extra_widgets = NULL;
- Cardinal num_extra = 0;
-
- num_children = 0;
-
- if (XtIsWidget(parent) && popup)
- num_children += parent->core.num_popups;
-
- if (XtIsComposite(parent) && normal)
- num_children += cw->composite.num_children;
-
- if (XtIsWidget(parent) && extra)
- {
- XtResourceList norm_list, cons_list;
- Cardinal num_norm, num_cons;
- Arg args[1];
- Widget widget;
-
- XtGetResourceList(XtClass(parent), &norm_list, &num_norm);
-
- if (XtParent(parent) != NULL)
- XtGetConstraintResourceList(XtClass(XtParent(parent)),
- &cons_list, &num_cons);
- else
- num_cons = 0;
-
- extra_widgets = (Widget *)XtMalloc(sizeof(Widget));
- for (i = 0; i < num_norm; i++)
- if (strcmp(norm_list[i].resource_type, XtRWidget) == 0)
- {
- widget = NULL;
- XtSetArg(args[0], norm_list[i].resource_name, &widget);
- XtGetValues(parent, args, 1);
- if (widget && XtParent(widget) == parent)
- {
- ++num_extra;
- extra_widgets = (Widget *)
- XtRealloc((char *)extra_widgets, num_extra * sizeof(Widget));
- extra_widgets[num_extra - 1] = widget;
- }
- }
- for (i = 0; i < num_cons; i++)
- if (strcmp(cons_list[i].resource_type, XtRWidget) == 0)
- {
- widget = NULL;
- XtSetArg(args[0], cons_list[i].resource_name, &widget);
- XtGetValues(parent, args, 1);
- if (widget && XtParent(widget) == parent)
- {
- ++num_extra;
- extra_widgets = (Widget *)
- XtRealloc((char *)extra_widgets, num_extra * sizeof(Widget));
- extra_widgets[num_extra - 1] = widget;
- }
- }
- if (num_norm)
- XtFree((char *)norm_list);
- if (num_cons)
- XtFree((char *)cons_list);
- }
-
- if ((num_children + num_extra) == 0)
- {
- *children = NULL;
- return (0);
- }
-
- *children = (Widget *)XtMalloc(sizeof(Widget) * (num_children + num_extra));
-
- if (XtIsComposite(parent) && normal)
- for (i = 0; i < cw->composite.num_children; i++, current++)
- (*children)[current] = cw->composite.children[i];
-
- if (XtIsWidget(parent) && popup)
- for (i = 0; i < parent->core.num_popups; i++, current++)
- (*children)[current] = parent->core.popup_list[i];
-
- if (num_extra)
- /* Check for dups */
- {
- Cardinal j, old_num_extra = num_extra;
-
- qsort(extra_widgets, num_extra, sizeof(Widget), qcmp_widget_list);
- for (i = 0; i < num_extra - 1; i++)
- while (i < num_extra - 1 && extra_widgets[i] == extra_widgets[i + 1])
- {
- memmove(&extra_widgets[i], &extra_widgets[i + 1],
- (num_extra - i) * sizeof(Widget));
- --num_extra;
- }
-
- for (i = 0; i < num_children; i++)
- for (j = 0; j < num_extra; j++)
- if ((*children)[i] == extra_widgets[j])
- {
- if ((j + 1) < num_extra)
- memmove(&extra_widgets[j], &extra_widgets[j + 1],
- (num_extra - j) * sizeof(Widget));
- --num_extra;
- }
-
- if (old_num_extra != num_extra)
- *children = (Widget *)XtRealloc((char *)*children, sizeof(Widget)
- * (num_children + num_extra));
-
- if (num_extra)
- memcpy(&(*children)[num_children], extra_widgets,
- sizeof(Widget) * num_extra);
- }
- if (extra_widgets)
- XtFree((char *)extra_widgets);
- if (num_children + num_extra == 0)
- {
- XtFree((char *)*children);
- *children = NULL;
- }
-
- return (num_children + num_extra);
-}
-
-/*
- * Function:
- * IsChild
- *
- * parameters:
- * top - top of the tree
- * parent - parent widget
- * child - child widget
- *
- * Description:
- * Check to see of child is a child of parent
- */
-static Bool
-IsChild(Widget top, Widget parent, Widget child)
-{
- int i, num_children;
- Widget *children;
-
- if (parent == NULL)
- return (top == child);
-
- num_children = FindChildren(parent, &children, True, True, True);
-
- for (i = 0; i < num_children; i++)
- if (children[i] == child)
- {
- XtFree((char *)children);
- return (True);
- }
-
- XtFree((char *)children);
- return (False);
-}
-
-/*
- * Function:
- * VerifyWidget
- *
- * Parameters:
- * w - any widget in the tree
- * info - info about the widget to verify
- *
- * Description:
- * Makes sure all the widgets still exist
- */
-static char *
-VerifyWidget(Widget w, WidgetInfo *info)
-{
- Widget top;
- register int count;
- register Widget parent;
- register unsigned long *child;
-
- for (top = w; XtParent(top) != NULL; top = XtParent(top))
- ;
-
- parent = NULL;
- child = info->ids;
- count = 0;
-
- while (True)
- {
- if (!IsChild(top, parent, (Widget) *child))
- return ("This widget no longer exists in the client.");
-
- if (++count == info->num_widgets)
- break;
-
- parent = (Widget)*child++;
- }
-
- info->real_widget = (Widget)*child;
-
- return (NULL);
-}
-
-/************************************************************
- * Code to Perform SetValues operations
- ************************************************************/
-/*
- * Function:
- * DoSetValues
- *
- * Parameters:
- * w - a widget in the tree
- * event - event that caused this action
- * stream - protocol stream to add
- *
- * Description:
- * Performs the setvalues requested
- *
- * Returns:
- * NULL
- */
-static char *
-DoSetValues(Widget w, EditresEvent *event, ProtocolStream *stream)
-{
- char *str;
- register unsigned i;
- unsigned short count = 0;
- SetValuesEvent *sv_event = (SetValuesEvent *)event;
-
- _XEditResPut16(stream, count); /* insert 0, will be overwritten later */
-
- for (i = 0; i < sv_event->num_entries; i++)
- {
- if ((str = VerifyWidget(w, &sv_event->widgets[i])) != NULL)
- {
- _XEditResPutWidgetInfo(stream, &sv_event->widgets[i]);
- _XEditResPutString8(stream, str);
- count++;
- }
- else
- ExecuteSetValues(sv_event->widgets[i].real_widget,
- sv_event, sv_event->widgets + i, stream, &count);
- }
-
- /*
- * Overwrite the first 2 bytes with the real count.
- */
- *(stream->top) = count >> XER_NBBY;
- *(stream->top + 1) = count;
-
- return (NULL);
-}
-
-/*
- * Function:
- * HandleToolkitErrors
- *
- * Parameters:
- * name - name of the error
- * type - type of the error
- * class - class of the error
- * msg - the default message
- * params - the extra parameters for this message
- * num_params - ""
- *
- * Description: Handles X Toolkit Errors.
- */
-/* ARGSUSED */
-static void
-HandleToolkitErrors(String name, String type, String class, String msg,
- String *params, Cardinal *num_params)
-{
- SVErrorInfo *info = &globals.error_info;
- char buf[BUFSIZ];
-
- if (streq(name, "unknownType"))
- XmuSnprintf(buf, sizeof(buf),
- "The `%s' resource is not used by this widget.",
- info->event->name);
- else if (streq(name, "noColormap"))
- XmuSnprintf(buf, sizeof(buf), msg, params[0]);
- else if (streq(name, "conversionFailed") || streq(name, "conversionError"))
- {
- if (streq((String)info->event->value, XtRString))
- XmuSnprintf(buf, sizeof(buf),
- "Could not convert the string '%s' for the `%s' "
- "resource.", (String)info->event->value,
- info->event->name);
- else
- XmuSnprintf(buf, sizeof(buf),
- "Could not convert the `%s' resource.",
- info->event->name);
- }
- else
- XmuSnprintf(buf, sizeof(buf),
- "Name: %s, Type: %s, Class: %s, Msg: %s",
- name, type, class, msg);
-
- /*
- * Insert this info into the protocol stream, and update the count
- */
- (*(info->count))++;
- _XEditResPutWidgetInfo(info->stream, info->entry);
- _XEditResPutString8(info->stream, buf);
-}
-
-/*
- * Function:
- * ExecuteSetValues
- *
- * Parameters:
- * w - widget to perform the set_values on
- * sv_event - set values event
- * sv_info - set_value info
- *.
- * Description:
- * Performs a setvalues for a given command
- */
-static void
-ExecuteSetValues(Widget w, SetValuesEvent *sv_event, WidgetInfo *entry,
- ProtocolStream *stream, unsigned short *count)
-{
- XtErrorMsgHandler old;
- SVErrorInfo *info = &globals.error_info;
-
- info->event = sv_event; /* No data can be passed to */
- info->stream = stream; /* an error handler, so we */
- info->count = count; /* have to use a global */
- info->entry = entry;
-
- old = XtAppSetWarningMsgHandler(XtWidgetToApplicationContext(w),
- HandleToolkitErrors);
-
- XtVaSetValues(w, XtVaTypedArg,
- sv_event->name, sv_event->res_type,
- sv_event->value, sv_event->value_len,
- NULL);
-
- (void)XtAppSetWarningMsgHandler(XtWidgetToApplicationContext(w), old);
-}
-
-/************************************************************
- * Code for Creating and dumping widget tree.
- ************************************************************/
-/* Function:
- * DumpWidgets
- *
- * Parameters:
- * w - a widget in the tree
- * event - event that caused this action
- * stream - protocol stream to add
- *
- * Description:
- * Given a widget it builds a protocol packet containing the entire
- * widget heirarchy.
- *
- * Returns:
- * NULL
- */
-#define TOOLKIT_TYPE ("Xt")
-/*ARGSUSED*/
-static char *
-DumpWidgets(Widget w, EditresEvent *event, ProtocolStream *stream)
-{
- unsigned short count = 0;
-
- /* Find Tree's root */
- for (; XtParent(w) != NULL; w = XtParent(w))
- ;
-
- /*
- * hold space for count, overwritten later
- */
- _XEditResPut16(stream, (unsigned int)0);
-
- DumpChildren(w, stream, &count);
-
- /*
- * write out toolkit type
- */
- _XEditResPutString8(stream, TOOLKIT_TYPE);
-
- /*
- * Overwrite the first 2 bytes with the real count
- */
- *(stream->top) = count >> XER_NBBY;
- *(stream->top + 1) = count;
-
- return (NULL);
-}
-
-/*
- * Function:
- * DumpChildren
- *
- * Parameters:
- * w - widget to dump
- * stream - stream to dump to
- * count - number of dumps we have performed
- *
- * Description:
- * Adds a child's name to the list.
- */
-/* This is a trick/kludge. To make shared libraries happier (linking
- * against Xmu but not linking against Xt, and apparently even work
- * as we desire on SVR4, we need to avoid an explicit data reference
- * to applicationShellWidgetClass. XtIsTopLevelShell is known
- * (implementation dependent assumption!) to use a bit flag. So we
- * go that far. Then, we test whether it is an applicationShellWidget
- * class by looking for an explicit class name. Seems pretty safe.
- */
-static Bool
-isApplicationShell(Widget w)
-{
- register WidgetClass c;
-
- if (!XtIsTopLevelShell(w))
- return (False);
- for (c = XtClass(w); c; c = c->core_class.superclass)
- if (strcmp(c->core_class.class_name, "ApplicationShell") == 0)
- return (True);
-
- return (False);
-}
-
-static void
-DumpChildren(Widget w, ProtocolStream *stream, unsigned short *count)
-{
- int i, num_children;
- Widget *children;
- unsigned long window;
- char *c_class;
-
- (*count)++;
-
- InsertWidget(stream, w); /* Insert the widget into the stream */
-
- _XEditResPutString8(stream, XtName(w)); /* Insert name */
-
- if (isApplicationShell(w))
- c_class = ((ApplicationShellWidget)w)->application.class;
- else
- c_class = XtClass(w)->core_class.class_name;
-
- _XEditResPutString8(stream, c_class); /* Insert class */
-
- if (XtIsWidget(w))
- if (XtIsRealized(w))
- window = XtWindow(w);
- else
- window = EDITRES_IS_UNREALIZED;
- else
- window = EDITRES_IS_OBJECT;
-
- _XEditResPut32(stream, window); /* Insert window id */
-
- /*
- * Find children and recurse
- */
- num_children = FindChildren(w, &children, True, True, True);
- for (i = 0; i < num_children; i++)
- DumpChildren(children[i], stream, count);
-
- XtFree((char *)children);
-}
-
-/************************************************************
- * Code for getting the geometry of widgets
- ************************************************************/
-/*
- * Function:
- * DoGetGeometry
- *
- * Parameters:
- * w - widget in the tree
- * event - event that caused this action
- * stream - protocol stream to add
- *
- * Description:
- * Retrieves the Geometry of each specified widget.
- *
- * Returns:
- * NULL
- */
-static char *
-DoGetGeometry(Widget w, EditresEvent *event, ProtocolStream *stream)
-{
- unsigned i;
- char *str;
- GetGeomEvent *geom_event = (GetGeomEvent *)event;
-
- _XEditResPut16(stream, geom_event->num_entries);
-
- for (i = 0; i < geom_event->num_entries; i++)
- {
- /*
- * Send out the widget id
- */
- _XEditResPutWidgetInfo(stream, &geom_event->widgets[i]);
-
- if ((str = VerifyWidget(w, &geom_event->widgets[i])) != NULL)
- {
- _XEditResPutBool(stream, True); /* an error occured */
- _XEditResPutString8(stream, str); /* set message */
- }
- else
- ExecuteGetGeometry(geom_event->widgets[i].real_widget, stream);
- }
-
- return (NULL);
-}
-
-/*
- * Function:
- * ExecuteGetGeometry
- *
- * Parameters:
- * w - widget to get geometry
- * stream - stream to append to
- *
- * Description:
- * Gets the geometry for each widget specified.
- *
- * Returns:
- * True if no error occured.
- */
-static void
-ExecuteGetGeometry(Widget w, ProtocolStream *stream)
-{
- int i;
- Boolean mapped_when_man;
- Dimension width, height, border_width;
- Arg args[8];
- Cardinal num_args = 0;
- Position x, y;
-
- if (!XtIsRectObj(w) || (XtIsWidget(w) && !XtIsRealized(w)))
- {
- _XEditResPutBool(stream, False); /* no error */
- _XEditResPutBool(stream, False); /* not visable */
- for (i = 0; i < 5; i++) /* fill in extra space with 0's */
- _XEditResPut16(stream, 0);
- return;
- }
-
- XtSetArg(args[num_args], XtNwidth, &width); num_args++;
- XtSetArg(args[num_args], XtNheight, &height); num_args++;
- XtSetArg(args[num_args], XtNborderWidth, &border_width); num_args++;
- XtSetArg(args[num_args], XtNmappedWhenManaged, &mapped_when_man);
- num_args++;
- XtGetValues(w, args, num_args);
-
- if (!(XtIsManaged(w) && mapped_when_man) && XtIsWidget(w))
- {
- XWindowAttributes attrs;
-
- /*
- * The toolkit does not maintain mapping state, we have
- * to go to the server
- */
- if (XGetWindowAttributes(XtDisplay(w), XtWindow(w), &attrs) != 0)
- {
- if (attrs.map_state != IsViewable)
- {
- _XEditResPutBool(stream, False); /* no error */
- _XEditResPutBool(stream, False); /* not visable */
- for (i = 0; i < 5; i++) /* fill in extra space with 0's */
- _XEditResPut16(stream, 0);
- return;
- }
- }
- else
- {
- _XEditResPut8(stream, True); /* Error occured. */
- _XEditResPutString8(stream, "XGetWindowAttributes failed.");
- return;
- }
- }
-
- XtTranslateCoords(w, -((int) border_width), -((int) border_width), &x, &y);
-
- _XEditResPutBool(stream, False); /* no error */
- _XEditResPutBool(stream, True); /* Visable */
- _XEditResPut16(stream, x);
- _XEditResPut16(stream, y);
- _XEditResPut16(stream, width);
- _XEditResPut16(stream, height);
- _XEditResPut16(stream, border_width);
-}
-
-/************************************************************
- * Code for executing FindChild
- ************************************************************/
-/*
- * Function:
- * PositionInChild
- *
- * Parameters:
- * child - child widget to check
- * x - location of point to check in the parent's coord space
- * y - ""
- *
- * Description:
- * Returns true if this location is in the child.
- */
-static Bool
-PositionInChild(Widget child, int x, int y)
-{
- Arg args[6];
- Cardinal num;
- Dimension width, height, border_width;
- Position child_x, child_y;
- Boolean mapped_when_managed;
-
- if (!XtIsRectObj(child)) /* we must at least be a rect obj */
- return (False);
-
- num = 0;
- XtSetArg(args[num], XtNmappedWhenManaged, &mapped_when_managed); num++;
- XtSetArg(args[num], XtNwidth, &width); num++;
- XtSetArg(args[num], XtNheight, &height); num++;
- XtSetArg(args[num], XtNx, &child_x); num++;
- XtSetArg(args[num], XtNy, &child_y); num++;
- XtSetArg(args[num], XtNborderWidth, &border_width); num++;
- XtGetValues(child, args, num);
-
- /*
- * The only way we will know of the widget is mapped is to see if
- * mapped when managed is True and this is a managed child. Otherwise
- * we will have to ask the server if this window is mapped
- */
- if (XtIsWidget(child) && !(mapped_when_managed && XtIsManaged(child)))
- {
- XWindowAttributes attrs;
-
- if (XGetWindowAttributes(XtDisplay(child), XtWindow(child), &attrs)
- && attrs.map_state != IsViewable)
- return (False);
- }
-
- return ((x >= child_x)
- && (x <= (child_x + (Position)width + 2 * (Position)border_width))
- && (y >= child_y)
- && (y <= (child_y + (Position)height + 2 * (Position)border_width)));
-}
-
-/*
- * Function:
- * _FindChild
- *
- * Parameters:
- * parent - widget that is known to contain the point specified
- * x - point in coordinates relative to the widget specified
- * y - ""
- *
- * Description:
- * Finds the child that actually contains the point shown.
- */
-static Widget
-_FindChild(Widget parent, int x, int y)
-{
- Widget *children;
- int i = FindChildren(parent, &children, True, False, True);
-
- while (i > 0)
- {
- i--;
-
- if (PositionInChild(children[i], x, y))
- {
- Widget child = children[i];
-
- XtFree((char *)children);
- return (_FindChild(child, x - child->core.x, y - child->core.y));
- }
- }
-
- XtFree((char *)children);
-
- return (parent);
-}
-
-/*
- * Function:
- * DoFindChild
- *
- * Parameters:
- * w - widget in the tree
- * event - event that caused this action
- * stream - protocol stream to add
- * Description:
- * Finds the child that contains the location specified.
- *
- * Returns:
- * An allocated error message if something went horribly wrong and
- * no set values were performed, else NULL.
- */
-static char *
-DoFindChild(Widget w, EditresEvent *event, ProtocolStream *stream)
-{
- char *str;
- Widget parent, child;
- Position parent_x, parent_y;
- FindChildEvent *find_event = (FindChildEvent *)event;
-
- if ((str = VerifyWidget(w, find_event->widgets)) != NULL)
- return (str);
-
- parent = find_event->widgets->real_widget;
-
- XtTranslateCoords(parent, (Position) 0, (Position) 0,
- &parent_x, &parent_y);
-
- child = _FindChild(parent, find_event->x - (int) parent_x,
- find_event->y - (int) parent_y);
-
- InsertWidget(stream, child);
-
- return (NULL);
-}
-
-/************************************************************
- * Procedures for performing GetResources
- ************************************************************/
-/*
- * Function:
- * DoGetResources
- *
- * Parameters:
- * w - widget in the tree
- * event - event that caused this action
- * stream - protocol stream to add
- *
- * Description:
- * Gets the Resources associated with the widgets passed.
- *
- * Returns:
- * NULL
- */
-static char *
-DoGetResources(Widget w, EditresEvent *event, ProtocolStream *stream)
-{
- unsigned int i;
- char *str;
- GetResEvent *res_event = (GetResEvent *)event;
-
- _XEditResPut16(stream, res_event->num_entries); /* number of replys */
-
- for (i = 0; i < res_event->num_entries; i++)
- {
- /*
- * Send out the widget id
- */
- _XEditResPutWidgetInfo(stream, &res_event->widgets[i]);
- if ((str = VerifyWidget(w, &res_event->widgets[i])) != NULL)
- {
- _XEditResPutBool(stream, True); /* an error occured */
- _XEditResPutString8(stream, str); /* set message */
- }
- else
- {
- _XEditResPutBool(stream, False); /* no error occured */
- ExecuteGetResources(res_event->widgets[i].real_widget, stream);
- }
- }
-
- return (NULL);
-}
-
-/* Function:
- * ExecuteGetResources
- *
- * Parameters:
- * w - widget to get resources on
- * stream - protocol stream
- *
- * Description:
- * Gets the resources for any individual widget
- */
-static void
-ExecuteGetResources(Widget w, ProtocolStream *stream)
-{
- XtResourceList norm_list, cons_list;
- Cardinal num_norm, num_cons;
- register Cardinal i;
-
- /*
- * Get Normal Resources
- */
- XtGetResourceList(XtClass(w), &norm_list, &num_norm);
-
- if (XtParent(w) != NULL)
- XtGetConstraintResourceList(XtClass(XtParent(w)), &cons_list,&num_cons);
- else
- num_cons = 0;
-
- _XEditResPut16(stream, num_norm + num_cons); /* how many resources */
-
- /*
- * Insert all the normal resources
- */
- for (i = 0; i < num_norm; i++)
- {
- _XEditResPutResourceType(stream, NormalResource);
- _XEditResPutString8(stream, norm_list[i].resource_name);
- _XEditResPutString8(stream, norm_list[i].resource_class);
- _XEditResPutString8(stream, norm_list[i].resource_type);
- }
- XtFree((char *)norm_list);
-
- /*
- * Insert all the constraint resources
- */
- if (num_cons > 0)
- {
- for (i = 0; i < num_cons; i++)
- {
- _XEditResPutResourceType(stream, ConstraintResource);
- _XEditResPutString8(stream, cons_list[i].resource_name);
- _XEditResPutString8(stream, cons_list[i].resource_class);
- _XEditResPutString8(stream, cons_list[i].resource_type);
- }
- XtFree((char *)cons_list);
- }
-}
-
-/*
- * Function:
- * DumpValues
- *
- * Parameters:
- * event - event that caused this action
- * stream - protocol stream to add
- *
- * Description:
- * Returns resource values to the resource editor.
- *
- * Returns:
- * NULL
- */
-/*ARGSUSED*/
-static char *
-DumpValues(Widget w, EditresEvent* event, ProtocolStream* stream)
-{
- char *str;
- Arg warg[1];
- String res_value = NULL;
- GetValuesEvent *gv_event = (GetValuesEvent *)event;
-
- /* put the count in the stream */
- _XEditResPut16(stream, (unsigned int)1);
-
- /*
- * Get the resource of the widget asked for by the
- * resource editor and insert it into the stream
- */
- XtSetArg(warg[0], gv_event->name, &res_value);
-
- if ((str = VerifyWidget(w, &gv_event->widgets[0])) != NULL)
- _XEditResPutString8(stream, str);
- else
- {
- _XEditresGetStringValues(gv_event->widgets[0].real_widget, warg, 1);
- if (!res_value)
- res_value = "NoValue";
- _XEditResPutString8(stream, res_value);
- }
-
- return (NULL);
-}
-
-/************************************************************
- * Code for inserting values into the protocol stream
- ************************************************************/
-/*
- * Function:
- * InsertWidget
- *
- * Parameters:
- * stream - protocol stream
- * w - widget to insert
- *
- * Description:
- * Inserts the full parent hierarchy of this widget into the protocol
- * stream as a widget list.
- */
-static void
-InsertWidget(ProtocolStream *stream, Widget w)
-{
- Widget temp;
- unsigned long *widget_list;
- register int i, num_widgets;
-
- for (temp = w, i = 0; temp != 0; temp = XtParent(temp), i++)
- ;
-
- num_widgets = i;
- widget_list = (unsigned long *)XtMalloc(sizeof(unsigned long) * num_widgets);
-
- /*
- * Put the widgets into the list
- * make sure that they are inserted in the list from parent -> child
- */
- for (i--, temp = w; temp != NULL; temp = XtParent(temp), i--)
- widget_list[i] = (unsigned long)temp;
-
- _XEditResPut16(stream, num_widgets); /* insert number of widgets */
- for (i = 0; i < num_widgets; i++) /* insert Widgets themselves */
- _XEditResPut32(stream, widget_list[i]);
-
- XtFree((char *)widget_list);
-}
-
-/************************************************************
- * All of the following routines are public
- ************************************************************/
-/*
- * Function:
- * _XEditResPutString8
- *
- * Parameters:
- * stream - stream to insert string into
- * str - string to insert
- *
- * Description:
- * Inserts a string into the protocol stream.
- */
-void
-_XEditResPutString8(ProtocolStream *stream, char *str)
-{
- int i, len = strlen(str);
-
- _XEditResPut16(stream, len);
- for (i = 0; i < len; i++, str++)
- _XEditResPut8(stream, *str);
-}
-
-/*
- * Function:
- * _XEditResPut8
- *
- * Parameters:
- * stream - stream to insert string into
- * value - value to insert
- *
- * Description:
- * Inserts an 8 bit integer into the protocol stream.
- */
-void
-_XEditResPut8(ProtocolStream *stream, unsigned int value)
-{
- unsigned char temp;
-
- if (stream->size >= stream->alloc)
- {
- stream->alloc += 100;
- stream->real_top = (unsigned char *)
- XtRealloc((char *)stream->real_top, stream->alloc + HEADER_SIZE);
- stream->top = stream->real_top + HEADER_SIZE;
- stream->current = stream->top + stream->size;
- }
-
- temp = (unsigned char) (value & BYTE_MASK);
- *((stream->current)++) = temp;
- (stream->size)++;
-}
-
-/*
- * Function:
- * _XEditResPut16
- *
- * Arguments:
- * stream - stream to insert string into
- * value - value to insert
- *
- * Description:
- * Inserts a 16 bit integer into the protocol stream.
- */
-void
-_XEditResPut16(ProtocolStream *stream, unsigned int value)
-{
- _XEditResPut8(stream, (value >> XER_NBBY) & BYTE_MASK);
- _XEditResPut8(stream, value & BYTE_MASK);
-}
-
-/*
- * Function:
- * _XEditResPut32
- *
- * Arguments:
- * stream - stream to insert string into
- * value - value to insert
- *
- * Description:
- * Inserts a 32 bit integer into the protocol stream.
- */
-void
-_XEditResPut32(ProtocolStream *stream, unsigned long value)
-{
- int i;
-
- for (i = 3; i >= 0; i--)
- _XEditResPut8(stream, (value >> (XER_NBBY * i)) & BYTE_MASK);
-}
-
-/*
- * Function:
- * _XEditResPutWidgetInfo
- *
- * Parameters:
- * stream - stream to insert widget info into
- * info - info to insert
- *
- * Description:
- * Inserts the widget info into the protocol stream.
- */
-void
-_XEditResPutWidgetInfo(ProtocolStream *stream, WidgetInfo *info)
-{
- unsigned int i;
-
- _XEditResPut16(stream, info->num_widgets);
- for (i = 0; i < info->num_widgets; i++)
- _XEditResPut32(stream, info->ids[i]);
-}
-
-/************************************************************
- * Code for retrieving values from the protocol stream
- ************************************************************/
-/*
- * Function:
- * _XEditResResetStream
- *
- * Parameters:
- * stream - stream to reset
- *
- * Description:
- * Resets the protocol stream.
- */
-void
-_XEditResResetStream(ProtocolStream *stream)
-{
- stream->current = stream->top;
- stream->size = 0;
- if (stream->real_top == NULL)
- {
- stream->real_top = (unsigned char *)
- XtRealloc((char *)stream->real_top, stream->alloc + HEADER_SIZE);
- stream->top = stream->real_top + HEADER_SIZE;
- stream->current = stream->top + stream->size;
- }
-}
-
-/*
- * NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE
- *
- * The only modified field if the "current" field
- *
- * The only fields that must be set correctly are the "current", "top"
- * and "size" fields.
- */
-/*
- * Function:
- * _XEditResGetg8
- *
- * Parameters:
- * stream - protocol stream
- * value - a pointer to value to return
- *
- * Description:
- * Retrieves an unsigned 8 bit value from the protocol stream.
- *
- * Returns:
- * True if sucessful
- */
-Bool
-_XEditResGet8(ProtocolStream *stream, unsigned char *value)
-{
- if (stream->size < (unsigned long)(stream->current - stream->top))
- return (False);
-
- *value = *((stream->current)++);
- return (True);
-}
-
-/*
- * Function:
- * _XEditResGet16
- *
- * Parameters:
- * stream - protocol stream
- * value - pointer to return value
- *
- * Description:
- * Retrieves an unsigned 16 bit value from the protocol stream.
- *
- * Returns:
- * True if sucessful
- */
-Bool
-_XEditResGet16(ProtocolStream *stream, unsigned short *value)
-{
- unsigned char temp1, temp2;
-
- if (!(_XEditResGet8(stream, &temp1) && _XEditResGet8(stream, &temp2)))
- return (False);
-
- *value = ((unsigned short)temp1 << XER_NBBY) + (unsigned short)temp2;
- return (True);
-}
-
-/*
- * Function:
- * _XEditResGetSigned16
- *
- * Parameters:
- * stream - protocol stream
- * value - pointer to return value
- *
- * Description:
- * Retrieves an signed 16 bit value from the protocol stream.
- *
- * Returns:
- * True if sucessful
- */
-Bool
-_XEditResGetSigned16(ProtocolStream *stream, short *value)
-{
- unsigned char temp1, temp2;
-
- if (!(_XEditResGet8(stream, &temp1) && _XEditResGet8(stream, &temp2)))
- return (False);
-
- if (temp1 & (1 << (XER_NBBY - 1))) /* If the sign bit is active */
- {
- *value = -1; /* store all 1's */
- *value &= (temp1 << XER_NBBY); /* Now and in the MSB */
- *value &= temp2; /* and LSB */
- }
- else
- *value = ((unsigned short)temp1 << XER_NBBY) + (unsigned short)temp2;
-
- return (True);
-}
-
-/*
- * Function:
- * _XEditResGet32
- *
- * Parameters:
- * stream - protocol stream
- * value - pointer to return value
- *
- * Description:
- * Retrieves an unsigned 32 bit value from the protocol stream.
- *
- * Returns:
- * True if sucessful
- */
-Bool
-_XEditResGet32(ProtocolStream *stream, unsigned long *value)
-{
- unsigned short temp1, temp2;
-
- if (!(_XEditResGet16(stream, &temp1) && _XEditResGet16(stream, &temp2)))
- return (False);
-
- *value = ((unsigned short)temp1 << (XER_NBBY * 2)) + (unsigned short)temp2;
- return (True);
-}
-
-/* Function:
- * _XEditResGetString8
- *
- * Parameters:
- * stream - protocol stream
- * str - string to retrieve
- *
- * Description:
- * Retrieves an 8 bit string value from the protocol stream.
- *
- * Returns:
- * True if retrieval was successful
- */
-Bool
-_XEditResGetString8(ProtocolStream *stream, char **str)
-{
- unsigned short len;
- register unsigned i;
-
- if (!_XEditResGet16(stream, &len))
- return (False);
-
- *str = XtMalloc(sizeof(char) * (len + 1));
-
- for (i = 0; i < len; i++)
- {
- if (!_XEditResGet8(stream, (unsigned char *)*str + i))
- {
- XtFree(*str);
- *str = NULL;
- return (False);
- }
- }
- (*str)[i] = '\0';
-
- return (True);
-}
-
-/*
- * Function:
- * _XEditResGetWidgetInfo
- *
- * Parameters:
- * stream - protocol stream
- * info - widget info struct to store into
- *
- * Description:
- * Retrieves the list of widgets that follow and stores them in the
- * widget info structure provided.
- *
- * Returns:
- * True if retrieval was successful
- */
-Bool
-_XEditResGetWidgetInfo(ProtocolStream *stream, WidgetInfo *info)
-{
- unsigned int i;
-
- if (!_XEditResGet16(stream, &info->num_widgets))
- return (False);
-
- info->ids = (unsigned long *)XtMalloc(sizeof(long) * info->num_widgets);
-
- for (i = 0; i < info->num_widgets; i++)
- {
- if (!_XEditResGet32(stream, info->ids + i))
- {
- XtFree((char *)info->ids);
- info->ids = NULL;
- return (False);
- }
-#if defined(LONG64) || defined(WORD64)
- info->ids[i] |= globals.base_address;
-#endif
- }
- return (True);
-}
-
-/************************************************************
- * Code for Loading the EditresBlock resource
- ************************************************************/
-/*
- * Function:
- * CvStringToBlock
- *
- * Parameters:
- * dpy - display
- * args - unused
- * num_args - unused
- * from_val - value to convert
- * to_val - where to store
- * converter_data - unused
- *
- * Description:
- * Converts a string to an editres block value.
- *
- * Returns:
- * True if conversion was sucessful
- */
-/*ARGSUSED*/
-static Boolean
-CvtStringToBlock(Display *dpy, XrmValue *args, Cardinal *num_args,
- XrmValue *from_val, XrmValue *to_val,
- XtPointer *converter_data)
-{
- char ptr[16];
- static EditresBlock block;
-
- XmuNCopyISOLatin1Lowered(ptr, from_val->addr, sizeof(ptr));
-
- if (streq(ptr, "none"))
- block = BlockNone;
- else if (streq(ptr, "setvalues"))
- block = BlockSetValues;
- else if (streq(ptr, "all"))
- block = BlockAll;
- else
- {
- Cardinal num_params = 1;
- String params[1];
-
- params[0] = from_val->addr;
- XtAppWarningMsg(XtDisplayToApplicationContext(dpy),
- "CvtStringToBlock", "unknownValue", "EditresError",
- "Could not convert string \"%s\" to EditresBlock.",
- params, &num_params);
- return FALSE;
- }
-
- if (to_val->addr != NULL)
- {
- if (to_val->size < sizeof(EditresBlock))
- {
- to_val->size = sizeof(EditresBlock);
- return FALSE;
- }
- *(EditresBlock *)(to_val->addr) = block;
- }
- else
- to_val->addr = (XtPointer)block;
-
- to_val->size = sizeof(EditresBlock);
- return TRUE;
-}
-
-#define XtREditresBlock "EditresBlock"
-/*
- * Function:
- * LoadResources
- *
- * Parameters:
- * w - any widget in the tree
- *
- * Description:
- * Loads a global resource the determines of this application should
- * allow Editres requests.
- */
-static void
-LoadResources(Widget w)
-{
- static XtResource resources[] = {
- {"editresBlock", "EditresBlock", XtREditresBlock, sizeof(EditresBlock),
- XtOffsetOf(Globals, block), XtRImmediate, (XtPointer)BlockNone}
- };
-
- for (; XtParent(w) != NULL; w = XtParent(w))
- ;
-
- XtAppSetTypeConverter(XtWidgetToApplicationContext(w),
- XtRString, XtREditresBlock, CvtStringToBlock,
- NULL, 0, XtCacheAll, NULL);
-
- XtGetApplicationResources(w, (XtPointer)&globals, resources,
- XtNumber(resources), NULL, 0);
-}
-
-/*
- * Function:
- * _XEditresGetStringValues
- *
- * Parameters:
- * w - widget
- * warg - where to store result
- * numargs - unused
- */
-/*ARGSUSED*/
-static void
-_XEditresGetStringValues(Widget w, Arg *warg, int numargs)
-{
- static char buffer[32];
- XtResourceList res_list;
- Cardinal num_res;
- XtResource *res = NULL;
- long value;
- Cardinal i;
- char *string = "";
- Arg args[1];
- XrmValue to, from;
-
- /*
- * Look for the resource
- */
- XtGetResourceList(XtClass(w), &res_list, &num_res);
- for (i = 0; i < num_res; i++)
- if (strcmp(res_list[i].resource_name, warg->name) == 0)
- {
- res = &res_list[i];
- break;
- }
-
- if (res == NULL && XtParent(w) != NULL)
- {
- XtFree((char *)res_list);
- XtGetConstraintResourceList(XtClass(XtParent(w)), &res_list, &num_res);
- for (i = 0; i < num_res; i++)
- if (strcmp(res_list[i].resource_name, warg->name) == 0)
- {
- res = &res_list[i];
- break;
- }
- }
-
- if (res == NULL)
- {
- /* Couldn't find resource */
-
- XtFree((char *)res_list);
- *(XtPointer *)warg->value = NULL;
- return;
- }
-
- /* try to get the value in the proper size */
- switch (res->resource_size)
- {
-#ifdef LONG_64
- long v8;
-#endif
- int v4;
- short v2;
- char v1;
-
- case 1:
- XtSetArg(args[0], res->resource_name, &v1);
- XtGetValues(w, args, 1);
- value = (int)v1;
- break;
- case 2:
- XtSetArg(args[0], res->resource_name, &v2);
- XtGetValues(w, args, 1);
- value = (int)v2;
- break;
- case 4:
- XtSetArg(args[0], res->resource_name, &v4);
- XtGetValues(w, args, 1);
- value = (int)v4;
- break;
-#ifdef LONG_64
- case 8:
- XtSetArg(args[0], res->resource_name, &v8);
- XtGetValues(w, args, 1);
- value = (long)v8;
- break;
-#endif
- default:
- fprintf(stderr, "_XEditresGetStringValues: bad size %d\n",
- res->resource_size);
- string = "bad size";
- *(char **)(warg->value) = string;
- XtFree((char *)res_list);
- return;
- }
-
- /*
- * If the resource is already String, no conversion needed
- */
- if (strcmp(XtRString, res->resource_type) == 0)
- {
- if (value == 0)
- string = "(null)";
- else
- string = (char *)value;
- }
- else
- {
- from.size = res->resource_size;
- from.addr = (XPointer)&value;
- to.addr = NULL;
- to.size = 0;
-
- if (XtConvertAndStore(w,res->resource_type, &from, XtRString, &to))
- string = to.addr;
- else
- {
- string = buffer;
- /*
- * Conversion failed, fall back to representing it as integer
- */
- switch (res->resource_size)
- {
- case sizeof(char):
- XmuSnprintf(buffer, sizeof(buffer), "%d", (int)(value & 0xff));
- break;
- case sizeof(short):
- XmuSnprintf(buffer, sizeof(buffer), "%d", (int)(value & 0xffff));
- break;
- case sizeof(int):
- XmuSnprintf(buffer, sizeof(buffer), "0x%08x", (int)value);
- break;
-#ifdef LONG_64
- case sizeof(long):
- XmuSnprintf(buffer, sizeof(buffer), "0x%016lx", value);
- break;
-#endif
- }
- }
- }
-
- if (string == NULL)
- string = "";
-
- *(char **)(warg->value) = string;
- XtFree((char *)res_list);
-}
diff --git a/nx-X11/lib/Xmu/EditresP.h b/nx-X11/lib/Xmu/EditresP.h
deleted file mode 100644
index 886205bf2..000000000
--- a/nx-X11/lib/Xmu/EditresP.h
+++ /dev/null
@@ -1,409 +0,0 @@
-/* $Xorg: EditresP.h,v 1.4 2001/02/09 02:03:52 xorgcvs Exp $ */
-
-/*
-
-Copyright 1989, 1998 The Open Group
-
-Permission to use, copy, modify, distribute, and sell this software and its
-documentation for any purpose is hereby granted without fee, provided that
-the above copyright notice appear in all copies and that both that
-copyright notice and this permission notice appear in supporting
-documentation.
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
-AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
-CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-Except as contained in this notice, the name of The Open Group shall not be
-used in advertising or otherwise to promote the sale, use or other dealings
-in this Software without prior written authorization from The Open Group.
-
-*/
-/* $XFree86: xc/lib/Xmu/EditresP.h,v 1.5 2001/01/17 19:42:55 dawes Exp $ */
-
-/*
- * Author: Chris D. Peterson, MIT X Consortium
- */
-
-/************************************************************
-
- The Editres Protocol
-
-
- The Client message sent to the application is:
-
- ATOM = "ResEditor" --- RES_EDITOR_NAME
-
- FORMAT = 32 --- RES_EDIT_SEND_EVENT_FORMAT
-
- l[0] = timestamp
- l[1] = command atom name
- l[2] = ident of command
- l[3] = protocol version number to use
-
-
-
- The binary protocol has the following format:
-
- Card8: 8-bit unsingned integer
- Card16: 16-bit unsingned integer
- Card32: 32-bit unsingned integer
- Int16: 16-bit signed integer
- Window: 32-bit value
- Widget: 32-bit value
- String8: ListOfCard8
-
- [a][b][c] represent an exclusive list of choices.
-
- All widgets are passed as a list of widgets, containing the
- full instance heirarch of this widget. The hierarchy is ordered
- from parent to child. Thus the first element of each list is
- the root of the widget tree (this makes verifying that the widget
- still exists, MUCH faster).
-
- ListOfFoo comprises a list of things in the following format:
-
- number: Card16
- <number> things: ????
-
- This is a synchronous protocol, every request MUST be followed by a
- reply.
-
- Request:
-
- Serial Number: Card8
- Op Code: Card8 - { SendWidgetTree = 0,
- SetValues = 1,
- GetResources = 2,
- GetGeometry = 3,
- FindChild = 4,
- GetValues = 5 }
- Length: Card32
- Data:
-
- Reply:
-
- Serial Number: Card8
- Type: Card8 - { Formatted = 0,
- Unformatted = 1,
- ProtocolMismatch = 2
- }
- Length: Card32
-
-
- Byte Order:
-
- All Fields are MSB -> LSB
-
- Data:
-
- Formatted:
-
- The data contains the reply information for the request as
- specified below if the reply type is "Formatted". The return
- values for the other reply types are shown below.
-
- Unformatted:
-
- Message: String8
-
- ProtocolMismatch:
-
- RequestedVersion: Card8
-
-------------------------------------------------------------
-
- SendWidgetTree:
-
- --->
-
- Number of Entries: Card16
- Entry:
- widget: ListOfWidgets
- name: String8
- class: String8
- window: Card32
- toolkit: String8
-
- Send Widget Tree returns the toolkit type, and a fuly specified list
- of widgets for each widget in the tree. This is enough information
- to completely reconstruct the entire widget heirarchy.
-
- The window return value contains the Xid of the window currently
- used by this widget. If the widget is unrealized then 0 is returned,
- and if widget is a non-windowed object a value of 2 is returned.
-
- SetValues:
-
- name: String8
- type: String8
- value: String8
- Number of Entries: Card16
- Entry:
- widget: ListOfWidgets
-
- --->
-
- Number of Entries: Card16
- Entry:
- widget: ListOfWidgets
- message: String8
-
- SetValues will allow the same resource to be set on a number of
- widgets. This function will return an error message if the SetValues
- request caused an Xt error.
-
- GetValues:
-
- names: ListOfString8
- widget: Widget
-
- --->
- novalues: ListOfCard16
- values: ListOfString8
-
- GetValues will allow a number of resource values to be read
- on a particular widget. The request specifies the names of
- the resources wanted and the widget id these resources are
- from. The reply returns a list of indices from the requests
- name list of resources for which a value can not be returned.
- It also returns a list of returned values, in the order of the
- requests names list, skipping those indices present in novalues.
-
- GetResources:
-
- Number of Entries: Card16
- Entry
- widget: ListOfWidgets:
-
- ---->
-
- Number of Entries: Card16
- Entry
- Widget: ListOfWidgets:
- Error: Bool
-
- [ Message: String 8 ]
- [ Number of Resources: Card16
- Resource:
- Kind: {normal, constraint}
- Name: String8
- Class: String8
- Type: String8 ]
-
- GetResource retrieves the kind, name, class and type for every
- widget passed to it. If an error occured with the resource fetch
- Error will be set to True for the given widget and a message
- is returned rather than the resource info.
-
- GetGeometry:
-
- Number of Entries: Card16
- Entry
- Widget: ListOfWidgets:
-
- ---->
-
- Number of Entries: Card16
- Entry
- Widget: ListOfWidgets:
- Error: Bool
-
- [ message: String 8 ]
- [ mapped: Boolean
- X: Int16
- Y: Int16
- Width: Card16
- Height: Card16
- BorderWidth: Card16 ]
-
- GetGeometry retreives the mapping state, x, y, width, height
- and border width for each widget specified. If an error occured
- with the geometry fetch "Error" will be set to True for the given
- widget and a message is returned rather than the geometry info.
- X an Y corrospond to the root coordinates of the upper left corner
- of the widget (outside the window border).
-
- FindChild:
-
- Widget: ListOfWidgets
- X: Int16
- Y: Int16
-
- --->
-
- Widget: ListOfWidgets
-
- Find Child returns a descendent of the widget specified that
- is at the root coordinates specified.
-
- NOTE:
-
- The returned widget is undefined if the point is contained in
- two or more mapped widgets, or in two overlapping Rect objs.
-
- GetValues:
-
- names: ListOfString8
- widget: Widget
-
- --->
-
- values: ListOfString8
-
- GetValues will allow a number of resource values to be read
- on a particular widget. Currently only InterViews 3.0.1 Styles
- and their attributes are supported. In addition, the current
- user interface only supports the return of 1 resource. The ability
- to specify and return multiple resources is defined for future editres
- interfaces where some or all of a widgets resource values are returned
- and displayed at once.
-
-
-************************************************************/
-
-#include <X11/Intrinsic.h>
-#include <X11/Xfuncproto.h>
-
-#define XER_NBBY 8 /* number of bits in a byte */
-#define BYTE_MASK 255
-
-#define HEADER_SIZE 6
-
-#define EDITRES_IS_OBJECT 2
-#define EDITRES_IS_UNREALIZED 0
-
-/*
- * Format for atoms
- */
-#define EDITRES_FORMAT 8
-#define EDITRES_SEND_EVENT_FORMAT 32
-
-/*
- * Atoms
- */
-#define EDITRES_NAME "Editres"
-#define EDITRES_COMMAND_ATOM "EditresCommand"
-#define EDITRES_COMM_ATOM "EditresComm"
-#define EDITRES_CLIENT_VALUE "EditresClientVal"
-#define EDITRES_PROTOCOL_ATOM "EditresProtocol"
-
-typedef enum {
- SendWidgetTree = 0,
- SetValues = 1,
- GetResources = 2,
- GetGeometry = 3,
- FindChild = 4,
- GetValues = 5
-} EditresCommand;
-
-typedef enum {
- NormalResource = 0,
- ConstraintResource = 1
-} ResourceType;
-
-/*
- * The type of a resource identifier
- */
-typedef unsigned char ResIdent;
-
-typedef enum {
- PartialSuccess = 0,
- Failure = 1,
- ProtocolMismatch = 2
-} EditResError;
-
-typedef struct _WidgetInfo {
- unsigned short num_widgets;
- unsigned long *ids;
- Widget real_widget;
-} WidgetInfo;
-
-typedef struct _ProtocolStream {
- unsigned long size, alloc;
- unsigned char *real_top, *top, *current;
-} ProtocolStream;
-
-/************************************************************
- * Function definitions for reading and writing protocol requests
- ************************************************************/
-_XFUNCPROTOBEGIN
-
-void _XEditResPutString8
-(
- ProtocolStream *stream,
- char *str
- );
-
-void _XEditResPut8
-(
- ProtocolStream *stream,
- unsigned int value
- );
-
-void _XEditResPut16
-(
- ProtocolStream *stream,
- unsigned int value
- );
-
-void _XEditResPut32
-(
- ProtocolStream *stream,
- unsigned long value
- );
-
-void _XEditResPutWidgetInfo
-(
- ProtocolStream *stream,
- WidgetInfo *info
- );
-
-void _XEditResResetStream
-(
- ProtocolStream *stream
- );
-
-Bool _XEditResGet8
-(
- ProtocolStream *stream,
- unsigned char *value
- );
-
-Bool _XEditResGet16
-(
- ProtocolStream *stream,
- unsigned short *value
- );
-
-Bool _XEditResGetSigned16
-(
- ProtocolStream *stream,
- short *value
- );
-
-Bool _XEditResGet32
-(
- ProtocolStream *stream,
- unsigned long *value
- );
-
-Bool _XEditResGetString8
-(
- ProtocolStream *stream,
- char **str
- );
-
-Bool _XEditResGetWidgetInfo
-(
- ProtocolStream *stream,
- WidgetInfo *info
- );
-
-_XFUNCPROTOEND
diff --git a/nx-X11/lib/Xmu/Error.h b/nx-X11/lib/Xmu/Error.h
deleted file mode 100644
index f992930ec..000000000
--- a/nx-X11/lib/Xmu/Error.h
+++ /dev/null
@@ -1,59 +0,0 @@
-/* $Xorg: Error.h,v 1.5 2001/02/09 02:03:52 xorgcvs Exp $ */
-
-/*
-
-Copyright 1988, 1998 The Open Group
-
-Permission to use, copy, modify, distribute, and sell this software and its
-documentation for any purpose is hereby granted without fee, provided that
-the above copyright notice appear in all copies and that both that
-copyright notice and this permission notice appear in supporting
-documentation.
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
-AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
-CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-Except as contained in this notice, the name of The Open Group shall not be
-used in advertising or otherwise to promote the sale, use or other dealings
-in this Software without prior written authorization from The Open Group.
-
-*/
-/* $XFree86: xc/lib/Xmu/Error.h,v 1.5 2001/01/17 19:42:55 dawes Exp $ */
-
-/*
- * The interfaces described by this header file are for miscellaneous utilities
- * and are not part of the Xlib standard.
- */
-
-#ifndef _XMU_ERROR_H_
-#define _XMU_ERROR_H_
-
-#include <stdio.h>
-#include <X11/Xlib.h>
-#include <X11/Xfuncproto.h>
-
-_XFUNCPROTOBEGIN
-
-int XmuPrintDefaultErrorMessage
-(
- Display *dpy,
- XErrorEvent *event,
- FILE *fp
- );
-
-int XmuSimpleErrorHandler
-(
- Display *dpy,
- XErrorEvent *errorp
- );
-
-_XFUNCPROTOEND
-
-#endif /* _XMU_ERROR_H_ */
diff --git a/nx-X11/lib/Xmu/ExtAgent.c b/nx-X11/lib/Xmu/ExtAgent.c
deleted file mode 100644
index 27955678f..000000000
--- a/nx-X11/lib/Xmu/ExtAgent.c
+++ /dev/null
@@ -1,46 +0,0 @@
-/* $Xorg: ExtAgent.c,v 1.4 2001/02/09 02:03:52 xorgcvs Exp $ */
-
-/*
-
-Copyright 1994, 1998 The Open Group
-
-Permission to use, copy, modify, distribute, and sell this software and its
-documentation for any purpose is hereby granted without fee, provided that
-the above copyright notice appear in all copies and that both that
-copyright notice and this permission notice appear in supporting
-documentation.
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
-AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
-CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-Except as contained in this notice, the name of The Open Group shall not be
-used in advertising or otherwise to promote the sale, use or other dealings
-in this Software without prior written authorization from The Open Group.
-
-*/
-/* $XFree86: xc/lib/Xmu/ExtAgent.c,v 1.6 2001/01/17 19:42:55 dawes Exp $ */
-
-#ifdef HAVE_CONFIG_H
-#include <config.h>
-#endif
-#include <X11/Intrinsic.h>
-#include <X11/Xmu/ExtAgent.h>
-
-/* ARGSUSED */
-void
-XmuRegisterExternalAgent(Widget w, XtPointer data,
- XEvent *event, Boolean *cont)
-{
-/*
-* This is a stub. Writers of protocol libraries
-* that want to add protocol to Xaw, such as RAP, will reimplement this
-* procedure in their own libraries.
-*/
-}
diff --git a/nx-X11/lib/Xmu/ExtAgent.h b/nx-X11/lib/Xmu/ExtAgent.h
deleted file mode 100644
index b0caf3699..000000000
--- a/nx-X11/lib/Xmu/ExtAgent.h
+++ /dev/null
@@ -1,44 +0,0 @@
-/* $Xorg: ExtAgent.h,v 1.5 2001/02/09 02:03:52 xorgcvs Exp $ */
-
-/*
-
-Copyright 1994,1998 The Open Group
-
-Permission to use, copy, modify, distribute, and sell this software and its
-documentation for any purpose is hereby granted without fee, provided that
-the above copyright notice appear in all copies and that both that
-copyright notice and this permission notice appear in supporting
-documentation.
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
-AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
-CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-Except as contained in this notice, the name of The Open Group shall not be
-used in advertising or otherwise to promote the sale, use or other dealings
-in this Software without prior written authorization from The Open Group.
-
-*/
-/* $XFree86: xc/lib/Xmu/ExtAgent.h,v 1.5 2001/01/17 19:42:55 dawes Exp $ */
-
-#include <X11/Intrinsic.h>
-#include <X11/Xfuncproto.h>
-
-_XFUNCPROTOBEGIN
-
-extern void XmuRegisterExternalAgent
-(
- Widget w,
- XtPointer data,
- XEvent *event,
- Boolean *cont
- );
-
-_XFUNCPROTOEND
-
diff --git a/nx-X11/lib/Xmu/FToCback.c b/nx-X11/lib/Xmu/FToCback.c
deleted file mode 100644
index 6da4826f7..000000000
--- a/nx-X11/lib/Xmu/FToCback.c
+++ /dev/null
@@ -1,48 +0,0 @@
-/* $Xorg: FToCback.c,v 1.4 2001/02/09 02:03:52 xorgcvs Exp $ */
-
-/*
-
-Copyright 1988,1998 The Open Group
-
-Permission to use, copy, modify, distribute, and sell this software and its
-documentation for any purpose is hereby granted without fee, provided that
-the above copyright notice appear in all copies and that both that
-copyright notice and this permission notice appear in supporting
-documentation.
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
-AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
-CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-Except as contained in this notice, the name of The Open Group shall not be
-used in advertising or otherwise to promote the sale, use or other dealings
-in this Software without prior written authorization from The Open Group.
-
-*/
-/* $XFree86: xc/lib/Xmu/FToCback.c,v 1.6 2001/01/17 19:42:55 dawes Exp $ */
-
-#ifdef HAVE_CONFIG_H
-#include <config.h>
-#endif
-#include <X11/Intrinsic.h>
-#include <X11/Xmu/Converters.h>
-
-/* ARGSUSED */
-void
-XmuCvtFunctionToCallback(XrmValue *args, Cardinal *num_args,
- XrmValuePtr fromVal, XrmValuePtr toVal)
-{
- static XtCallbackRec callback[2]; /* K&R: initialized to NULL */
- static XtCallbackList callback_list = callback;
-
- callback[0].callback = *(XtCallbackProc *)fromVal->addr;
-
- toVal->size = sizeof(XtCallbackList);
- toVal->addr = (XPointer)&callback_list;
-}
diff --git a/nx-X11/lib/Xmu/GetHost.c b/nx-X11/lib/Xmu/GetHost.c
deleted file mode 100644
index 91673b86c..000000000
--- a/nx-X11/lib/Xmu/GetHost.c
+++ /dev/null
@@ -1,86 +0,0 @@
-/* $Xorg: GetHost.c,v 1.4 2001/02/09 02:03:52 xorgcvs Exp $ */
-
-/*
-
-Copyright 1989, 1998 The Open Group
-
-Permission to use, copy, modify, distribute, and sell this software and its
-documentation for any purpose is hereby granted without fee, provided that
-the above copyright notice appear in all copies and that both that
-copyright notice and this permission notice appear in supporting
-documentation.
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
-AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
-CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-Except as contained in this notice, the name of The Open Group shall not be
-used in advertising or otherwise to promote the sale, use or other dealings
-in this Software without prior written authorization from The Open Group.
-
-*/
-/* $XFree86: xc/lib/Xmu/GetHost.c,v 3.7 2001/07/25 15:04:50 dawes Exp $ */
-
-/*
- * Author: Jim Fulton, MIT X Consortium
- *
- * _XGetHostname - similar to gethostname but allows special processing.
- */
-
-#ifdef HAVE_CONFIG_H
-#include <config.h>
-#endif
-#include <X11/Xosdefs.h>
-#include <string.h>
-#include <unistd.h>
-
-#ifdef WIN32
-#include <X11/Xwinsock.h>
-#endif
-
-#ifdef USG
-#define NEED_UTSNAME
-#endif
-
-#ifdef NEED_UTSNAME
-#include <sys/utsname.h>
-#endif
-
-#include <X11/Xmu/SysUtil.h>
-
-int
-XmuGetHostname(char *buf, int maxlen)
-{
- int len;
-#ifdef WIN32
- static WSADATA wsadata;
-
- if (!wsadata.wVersion && WSAStartup(MAKEWORD(1,1), &wsadata))
- return -1;
-#endif
-
-#ifdef NEED_UTSNAME
- /*
- * same host name crock as in server and xinit.
- */
- struct utsname name;
-
- uname (&name);
- len = strlen (name.nodename);
- if (len >= maxlen) len = maxlen - 1;
- strncpy (buf, name.nodename, len);
- buf[len] = '\0';
-#else
- buf[0] = '\0';
- (void) gethostname (buf, maxlen);
- buf [maxlen - 1] = '\0';
- len = strlen(buf);
-#endif /* hpux */
- return len;
-}
diff --git a/nx-X11/lib/Xmu/GrayPixmap.c b/nx-X11/lib/Xmu/GrayPixmap.c
deleted file mode 100644
index 478269f8a..000000000
--- a/nx-X11/lib/Xmu/GrayPixmap.c
+++ /dev/null
@@ -1,139 +0,0 @@
-/* $Xorg: GrayPixmap.c,v 1.4 2001/02/09 02:03:52 xorgcvs Exp $ */
-
-/*
-
-Copyright 1987, 1988, 1998 The Open Group
-
-Permission to use, copy, modify, distribute, and sell this software and its
-documentation for any purpose is hereby granted without fee, provided that
-the above copyright notice appear in all copies and that both that
-copyright notice and this permission notice appear in supporting
-documentation.
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
-AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
-CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-Except as contained in this notice, the name of The Open Group shall not be
-used in advertising or otherwise to promote the sale, use or other dealings
-in this Software without prior written authorization from The Open Group.
-
-*/
-
-/***********************************************************
-
-Copyright 1987, 1988 by Digital Equipment Corporation, Maynard, Massachusetts.
-
- All Rights Reserved
-
-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 not be
-used in advertising or publicity pertaining to distribution of the
-software without specific, written prior permission.
-
-DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
-ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
-DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
-ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
-WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
-ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
-SOFTWARE.
-
-******************************************************************/
-/* $XFree86: xc/lib/Xmu/GrayPixmap.c,v 1.5 2001/01/17 19:42:55 dawes Exp $ */
-
-#ifdef HAVE_CONFIG_H
-#include <config.h>
-#endif
-#include <stdio.h>
-#include <X11/Intrinsic.h>
-#include <X11/Xmu/Drawing.h>
-
-typedef struct _PixmapCache {
- Screen *screen;
- Pixmap pixmap;
- Pixel foreground, background;
- unsigned int depth;
- int ref_count;
- struct _PixmapCache *next;
- } CacheEntry;
-
-static CacheEntry *pixmapCache = NULL;
-
-
-
-Pixmap
-XmuCreateStippledPixmap(Screen *screen, Pixel fore, Pixel back,
- unsigned int depth)
-/*
- * Creates a stippled pixmap of specified depth
- * caches these so that multiple requests share the pixmap
- */
-{
- register Display *display = DisplayOfScreen(screen);
- CacheEntry *cachePtr;
- Pixmap stippled_pixmap;
- static unsigned char pixmap_bits[] = {
- 0x02, 0x01,
- };
-
-/*
- * Creates a stippled pixmap of depth DefaultDepth(screen)
- * caches these so that multiple requests share the pixmap
- */
-
-#define pixmap_width 2
-#define pixmap_height 2
-
- /* see if we already have a pixmap suitable for this screen */
- for (cachePtr = pixmapCache; cachePtr; cachePtr = cachePtr->next) {
- if (cachePtr->screen == screen && cachePtr->foreground == fore &&
- cachePtr->background == back && cachePtr->depth == depth)
- return( cachePtr->ref_count++, cachePtr->pixmap );
- }
-
- stippled_pixmap = XCreatePixmapFromBitmapData (display,
- RootWindowOfScreen(screen), (char *)pixmap_bits,
- pixmap_width, pixmap_height, fore, back, depth);
-
- /* and insert it at the head of the cache */
- cachePtr = XtNew(CacheEntry);
- cachePtr->screen = screen;
- cachePtr->foreground = fore;
- cachePtr->background = back;
- cachePtr->depth = depth;
- cachePtr->pixmap = stippled_pixmap;
- cachePtr->ref_count = 1;
- cachePtr->next = pixmapCache;
- pixmapCache = cachePtr;
-
- return( stippled_pixmap );
-}
-
-void
-XmuReleaseStippledPixmap(Screen *screen, Pixmap pixmap)
-{
- register Display *display = DisplayOfScreen(screen);
- CacheEntry *cachePtr, **prevP;
- for (prevP = &pixmapCache, cachePtr = pixmapCache; cachePtr;) {
- if (cachePtr->screen == screen && cachePtr->pixmap == pixmap) {
- if (--cachePtr->ref_count == 0) {
- XFreePixmap( display, pixmap );
- *prevP = cachePtr->next;
- XtFree( (char*)cachePtr );
- break;
- }
- }
- prevP = &cachePtr->next;
- cachePtr = *prevP;
- }
-}
diff --git a/nx-X11/lib/Xmu/Imakefile b/nx-X11/lib/Xmu/Imakefile
deleted file mode 100644
index 5d3ac5bb5..000000000
--- a/nx-X11/lib/Xmu/Imakefile
+++ /dev/null
@@ -1,176 +0,0 @@
-XCOMM $Xorg: Imakefile,v 1.3 2000/08/17 19:46:02 cpqbld Exp $
-
-
-
-
-XCOMM $XFree86: xc/lib/Xmu/Imakefile,v 1.7 1999/04/28 15:04:50 dawes Exp $
-
-#define DoNormalLib NormalLibXmu
-#define DoSharedLib SharedLibXmu
-#define DoExtraLib SharedLibXmu
-#define DoDebugLib DebugLibXmu
-#define DoProfileLib ProfileLibXmu
-#define HasSharedData YES
-#define LibName Xmu
-#define SoRev SOXMUREV
-#define IncSubdir X11
-#define IncSubSubdir Xmu
-
-#include <Threads.tmpl>
-
-#ifdef SharedXmuReqs
-REQUIREDLIBS = SharedXmuReqs
-#endif
-
-/* Since people link in Xmu without Xt, we avoid references to string data. */
-#if HasSharedLibraries
- SHAREDCODEDEF = SharedCodeDef -DXTSTRINGDEFINES
-#endif
- LINTLIBS = $(LINTXLIB)
-
-#if HasSnprintf
- MISC_DEFINES = -DHAS_SNPRINTF
-#else
- MISC_INCLUDES = -I$(LIBSRC)/misc
-#endif
-
- DEFINES = $(MISC_DEFINES)
- INCLUDES = $(MISC_INCLUDES)
-
-#ifdef OsNameDefines
-OS_NAME_DEFINES = OsNameDefines
-#endif
- CSSDEFS = $(OS_NAME_DEFINES) $(CONNECTION_FLAGS)
- BITDEFS = -DBITMAPDIR=\"$(INCDIR)/X11/bitmaps\"
-
-HEADERS = \
- Xmu.h \
- Atoms.h \
- CharSet.h \
- CloseHook.h \
- Converters.h \
- CurUtil.h \
- CvtCache.h \
- DisplayQue.h \
- Drawing.h \
- Editres.h \
- EditresP.h \
- Error.h \
- ExtAgent.h \
- Initer.h \
- Lookup.h \
- Misc.h \
- StdSel.h \
- StdCmap.h \
- SysUtil.h \
- WidgetNode.h \
- WinUtil.h \
- Xct.h
-
-
-SRCS = \
- AllCmap.c \
- Atoms.c \
- ClientWin.c \
- Clip.c \
- CloseHook.c \
- CmapAlloc.c \
- CrCmap.c \
- CrPixFBit.c \
- CursorName.c \
- CvtCache.c \
- CvtStdSel.c \
- DefErrMsg.c \
- DelCmap.c \
- DisplayQue.c \
- Distinct.c \
- DrawLogo.c \
- DrRndRect.c \
- EditresCom.c \
- ExtAgent.c \
- FToCback.c \
- GetHost.c \
- GrayPixmap.c \
- Initer.c \
- LocBitmap.c \
- Lookup.c \
- LookupCmap.c \
- Lower.c \
- RdBitF.c \
- ScrOfWin.c \
- ShapeWidg.c \
- StdCmap.c \
- StrToBS.c \
- StrToBmap.c \
- StrToCurs.c \
- StrToGrav.c \
- StrToJust.c \
- StrToLong.c \
- StrToOrnt.c \
- StrToShap.c \
- StrToWidg.c \
- UpdMapHint.c \
- VisCmap.c \
- WidgetNode.c \
- Xct.c \
- sharedlib.c
-
-#if SharedDataSeparation
-UNSHAREDOBJS = sharedlib.o
-#endif
-
-OBJS = \
- AllCmap.o \
- Atoms.o \
- ClientWin.o \
- Clip.o \
- CloseHook.o \
- CmapAlloc.o \
- CrCmap.o \
- CrPixFBit.o \
- CursorName.o \
- CvtCache.o \
- CvtStdSel.o \
- DefErrMsg.o \
- DelCmap.o \
- DisplayQue.o \
- Distinct.o \
- DrawLogo.o \
- DrRndRect.o \
- EditresCom.o \
- ExtAgent.o \
- FToCback.o \
- GetHost.o \
- GrayPixmap.o \
- Initer.o \
- LocBitmap.o \
- Lookup.o \
- LookupCmap.o \
- Lower.o \
- RdBitF.o \
- ScrOfWin.o \
- ShapeWidg.o \
- StdCmap.o \
- StrToBS.o \
- StrToBmap.o \
- StrToCurs.o \
- StrToGrav.o \
- StrToJust.o \
- StrToLong.o \
- StrToOrnt.o \
- StrToShap.o \
- StrToWidg.o \
- UpdMapHint.o \
- VisCmap.o \
- WidgetNode.o \
- Xct.o
-
-#include <Library.tmpl>
-
-SpecialCLibObjectRule(CvtStdSel,$(ICONFIGFILES),$(CSSDEFS))
-SpecialCLibObjectRule(LocBitmap,$(ICONFIGFILES),$(BITDEFS))
-#if DoSharedLib && SharedDataSeparation
-SpecialCObjectRule(sharedlib,$(_NOOP_),$(SHLIBDEF))
-#endif
-
-DependTarget()
diff --git a/nx-X11/lib/Xmu/Initer.c b/nx-X11/lib/Xmu/Initer.c
deleted file mode 100644
index f18492f69..000000000
--- a/nx-X11/lib/Xmu/Initer.c
+++ /dev/null
@@ -1,117 +0,0 @@
-/* $Xorg: Initer.c,v 1.4 2001/02/09 02:03:52 xorgcvs Exp $ */
-
-/*
-
-Copyright 1988, 1989, 1998 The Open Group
-
-Permission to use, copy, modify, distribute, and sell this software and its
-documentation for any purpose is hereby granted without fee, provided that
-the above copyright notice appear in all copies and that both that
-copyright notice and this permission notice appear in supporting
-documentation.
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
-AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
-CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-Except as contained in this notice, the name of The Open Group shall not be
-used in advertising or otherwise to promote the sale, use or other dealings
-in this Software without prior written authorization from The Open Group.
-
-*/
-/* $XFree86: xc/lib/Xmu/Initer.c,v 1.6 2001/01/17 19:42:56 dawes Exp $ */
-
-/* Created By: Chris D. Peterson
- * MIT X Consortium
- * Date: May 8, 1989
- */
-
-#ifdef HAVE_CONFIG_H
-#include <config.h>
-#endif
-#include <X11/Intrinsic.h>
-#include <X11/Xmu/Initer.h>
-
-struct InitializerList {
- XmuInitializerProc function; /* function to call */
- XPointer data; /* Data to pass the function. */
- XtAppContext * app_con_list; /* a null terminated list of app_contexts. */
-};
-
-/*
- * Prototypes
- */
-static Bool AddToAppconList(XtAppContext**, XtAppContext);
-
-static struct InitializerList * init_list = NULL;
-static Cardinal init_list_length = 0;
-
-void
-XmuAddInitializer(XmuInitializerProc func, XPointer data)
-{
- init_list_length++;
- init_list = (struct InitializerList *) XtRealloc( (char *) init_list,
- (sizeof(struct InitializerList) *
- init_list_length) );
-
- init_list[init_list_length - 1].function = func;
- init_list[init_list_length - 1].data = data;
- init_list[init_list_length - 1].app_con_list = NULL;
-}
-
-void
-XmuCallInitializers(XtAppContext app_con)
-{
- unsigned i;
-
- for (i = 0 ; i < init_list_length ; i++) {
- if (AddToAppconList(&(init_list[i].app_con_list), app_con))
- (init_list[i].function) (app_con, init_list[i].data);
- }
-}
-
-/*
- * Function:
- * AddToAppconList
- *
- * Parameters:
- * app_list - NULL terminated list of application contexts
- * app_con - application context to test
- *
- * Description:
- * Adds an action to the application context list and
- * returns True, if this app_con is already on the list then
- * it is NOT added and False is returned.
- *
- * Returns:
- * True if not found, False if found
- */
-static Bool
-AddToAppconList(XtAppContext **app_list, XtAppContext app_con)
-{
- int i;
- XtAppContext *local_list;
-
- i = 0;
- local_list = *app_list;
- if (*app_list != NULL) {
- for ( ; *local_list != NULL ; i++, local_list++) {
- if (*local_list == app_con)
- return (False);
- }
- }
-
- *app_list = (XtAppContext *) XtRealloc((char *)(*app_list),
- sizeof(XtAppContext *) * (i + 2) );
- (*app_list)[i++] = app_con;
- (*app_list)[i] = NULL;
-
- return (True);
-}
-
diff --git a/nx-X11/lib/Xmu/Initer.h b/nx-X11/lib/Xmu/Initer.h
deleted file mode 100644
index 5e870af8c..000000000
--- a/nx-X11/lib/Xmu/Initer.h
+++ /dev/null
@@ -1,58 +0,0 @@
-/* $Xorg: Initer.h,v 1.5 2001/02/09 02:03:52 xorgcvs Exp $ */
-
-/*
-
-Copyright 1988, 1998 The Open Group
-
-Permission to use, copy, modify, distribute, and sell this software and its
-documentation for any purpose is hereby granted without fee, provided that
-the above copyright notice appear in all copies and that both that
-copyright notice and this permission notice appear in supporting
-documentation.
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
-AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
-CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-Except as contained in this notice, the name of The Open Group shall not be
-used in advertising or otherwise to promote the sale, use or other dealings
-in this Software without prior written authorization from The Open Group.
-
-*/
-/* $XFree86: xc/lib/Xmu/Initer.h,v 1.5 2001/01/17 19:42:56 dawes Exp $ */
-
-/*
- * The interfaces described by this header file are for miscellaneous utilities
- * and are not part of the Xlib standard.
- */
-
-#ifndef _XMU_INITER_H_
-#define _XMU_INITER_H_
-
-#include <X11/Intrinsic.h>
-#include <X11/Xfuncproto.h>
-
-typedef void (*XmuInitializerProc)(XtAppContext app_context, XPointer data);
-
-_XFUNCPROTOBEGIN
-
-void XmuCallInitializers
-(
- XtAppContext app_context
- );
-
-void XmuAddInitializer
-(
- XmuInitializerProc func,
- XPointer data
- );
-
-_XFUNCPROTOEND
-
-#endif /* _XMU_INITER_H_ */
diff --git a/nx-X11/lib/Xmu/LocBitmap.c b/nx-X11/lib/Xmu/LocBitmap.c
deleted file mode 100644
index 112f3cff4..000000000
--- a/nx-X11/lib/Xmu/LocBitmap.c
+++ /dev/null
@@ -1,272 +0,0 @@
-/* $Xorg: LocBitmap.c,v 1.7 2001/02/09 02:03:52 xorgcvs Exp $ */
-
-/*
-
-Copyright 1989, 1998 The Open Group
-
-Permission to use, copy, modify, distribute, and sell this software and its
-documentation for any purpose is hereby granted without fee, provided that
-the above copyright notice appear in all copies and that both that
-copyright notice and this permission notice appear in supporting
-documentation.
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
-AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
-CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-Except as contained in this notice, the name of The Open Group shall not be
-used in advertising or otherwise to promote the sale, use or other dealings
-in this Software without prior written authorization from The Open Group.
-
-*/
-/* $XFree86: xc/lib/Xmu/LocBitmap.c,v 3.9 2001/12/14 19:55:47 dawes Exp $ */
-
-/*
- * Author: Jim Fulton, MIT X Consortium
- */
-
-#ifdef HAVE_CONFIG_H
-#include <config.h>
-#endif
-#include <X11/Xlib.h>
-#include <stdlib.h>
-#include <string.h>
-#include <X11/Xresource.h>
-#include <X11/Xutil.h>
-#include <X11/Xmu/CvtCache.h>
-#include <X11/Xmu/Drawing.h>
-#include <X11/Xmu/SysUtil.h>
-
-#ifndef X_NOT_POSIX
-#ifdef _POSIX_SOURCE
-#include <limits.h>
-#else
-#define _POSIX_SOURCE
-#include <limits.h>
-#undef _POSIX_SOURCE
-#endif
-#endif /* X_NOT_POSIX */
-#ifndef PATH_MAX
-#ifdef WIN32
-#define PATH_MAX 512
-#else
-#include <sys/param.h>
-#endif
-#ifndef PATH_MAX
-#ifdef MAXPATHLEN
-#define PATH_MAX MAXPATHLEN
-#else
-#define PATH_MAX 1024
-#endif
-#endif
-#endif /* PATH_MAX */
-
-/*
- * Prototypes
- */
-static char **split_path_string(char*);
-
-/*
- * XmuLocateBitmapFile - read a bitmap file using the normal defaults
- */
-
-Pixmap
-XmuLocateBitmapFile(Screen *screen, _Xconst char *name, char *srcname,
- int srcnamelen, int *widthp, int *heightp,
- int *xhotp, int *yhotp)
-{
- return XmuLocatePixmapFile (screen, name,
- (unsigned long) 1, (unsigned long) 0,
- (unsigned int) 1, srcname, srcnamelen,
- widthp, heightp, xhotp, yhotp);
-}
-
-
-/*
- * version that reads pixmap data as well as bitmap data
- */
-Pixmap
-XmuLocatePixmapFile(Screen *screen, _Xconst char *name,
- unsigned long fore, unsigned long back,
- unsigned int depth,
- char *srcname, int srcnamelen,
- int *widthp, int *heightp, int *xhotp, int *yhotp)
-{
-
-#ifndef BITMAPDIR
-#define BITMAPDIR "/usr/include/X11/bitmaps"
-#endif
-
- Display *dpy = DisplayOfScreen (screen);
- Window root = RootWindowOfScreen (screen);
- Bool try_plain_name = True;
- XmuCvtCache *cache = _XmuCCLookupDisplay (dpy);
- char **file_paths = (char **) NULL;
- char filename[PATH_MAX];
-#if 0
- char* bitmapdir = BITMAPDIR;
-#endif
- unsigned int width, height;
- int xhot, yhot;
- int i;
-
- /*
- * look in cache for bitmap path
- */
- if (cache) {
- if (!cache->string_to_bitmap.bitmapFilePath) {
- XrmName xrm_name[2];
- XrmClass xrm_class[2];
- XrmRepresentation rep_type;
- XrmValue value;
-
- xrm_name[0] = XrmPermStringToQuark ("bitmapFilePath");
- xrm_name[1] = NULLQUARK;
- xrm_class[0] = XrmPermStringToQuark ("BitmapFilePath");
- xrm_class[1] = NULLQUARK;
- if (!XrmGetDatabase(dpy)) {
- /* what a hack; need to initialize it */
- (void) XGetDefault (dpy, "", "");
- }
- if (XrmQGetResource (XrmGetDatabase(dpy), xrm_name, xrm_class,
- &rep_type, &value) &&
- rep_type == XrmPermStringToQuark("String")) {
- cache->string_to_bitmap.bitmapFilePath =
- split_path_string (value.addr);
- }
- }
- file_paths = cache->string_to_bitmap.bitmapFilePath;
- }
-
- /*
- * Search order:
- * 1. name if it begins with / or ./
- * 2. "each prefix in file_paths"/name
- * 3. BITMAPDIR/name
- * 4. name if didn't begin with / or .
- */
-
- for (i = 1; i <= 4; i++) {
- char *fn = filename;
- Pixmap pixmap;
- unsigned char *data;
-
- switch (i) {
- case 1:
-#ifndef __UNIXOS2__
- if (!(name[0] == '/' || ((name[0] == '.') && name[1] == '/')))
-#else
- if (!(name[0] == '/' || (name[0] == '.' && name[1] == '/') ||
- (isalpha(name[0]) && name[1] == ':')))
-#endif
- continue;
- fn = (char *) name;
- try_plain_name = False;
- break;
- case 2:
- if (file_paths && *file_paths) {
- XmuSnprintf(filename, sizeof(filename),
- "%s/%s", *file_paths, name);
- file_paths++;
- i--;
- break;
- }
- continue;
- case 3:
- XmuSnprintf(filename, sizeof(filename), "%s/%s", BITMAPDIR, name);
- break;
- case 4:
- if (!try_plain_name) continue;
- fn = (char *) name;
- break;
- }
-
- data = NULL;
- pixmap = None;
-#ifdef __UNIXOS2__
- fn = (char*)__XOS2RedirRoot(fn);
-#endif
- if (XmuReadBitmapDataFromFile (fn, &width, &height, &data,
- &xhot, &yhot) == BitmapSuccess) {
- pixmap = XCreatePixmapFromBitmapData (dpy, root, (char *) data,
- width, height,
- fore, back, depth);
- XFree ((char *)data);
- }
-
- if (pixmap) {
- if (widthp) *widthp = (int)width;
- if (heightp) *heightp = (int)height;
- if (xhotp) *xhotp = xhot;
- if (yhotp) *yhotp = yhot;
- if (srcname && srcnamelen > 0) {
- strncpy (srcname, fn, srcnamelen - 1);
- srcname[srcnamelen - 1] = '\0';
- }
- return pixmap;
- }
- }
-
- return None;
-}
-
-
-/*
- * split_path_string - split a colon-separated list into its constituent
- * parts; to release, free list[0] and list.
- */
-static char **
-split_path_string(register char *src)
-{
- int nelems = 1;
- register char *dst;
- char **elemlist, **elem;
-
- /* count the number of elements */
- for (dst = src; *dst; dst++) if (*dst == ':') nelems++;
-
- /* get memory for everything */
- dst = (char *) malloc (dst - src + 1);
- if (!dst) return NULL;
- elemlist = (char **) calloc ((nelems + 1), sizeof (char *));
- if (!elemlist) {
- free (dst);
- return NULL;
- }
-
- /* copy to new list and walk up nulling colons and setting list pointers */
- strcpy (dst, src);
- for (elem = elemlist, src = dst; *src; src++) {
- if (*src == ':') {
- *elem++ = dst;
- *src = '\0';
- dst = src + 1;
- }
- }
- *elem = dst;
-
- return elemlist;
-}
-
-
-void
-_XmuStringToBitmapInitCache(register XmuCvtCache *c)
-{
- c->string_to_bitmap.bitmapFilePath = NULL;
-}
-
-void
-_XmuStringToBitmapFreeCache(register XmuCvtCache *c)
-{
- if (c->string_to_bitmap.bitmapFilePath) {
- if (c->string_to_bitmap.bitmapFilePath[0])
- free (c->string_to_bitmap.bitmapFilePath[0]);
- free ((char *) (c->string_to_bitmap.bitmapFilePath));
- }
-}
diff --git a/nx-X11/lib/Xmu/Lookup.c b/nx-X11/lib/Xmu/Lookup.c
deleted file mode 100644
index 27676c1da..000000000
--- a/nx-X11/lib/Xmu/Lookup.c
+++ /dev/null
@@ -1,279 +0,0 @@
-/* $Xorg: Lookup.c,v 1.4 2001/02/09 02:03:53 xorgcvs Exp $ */
-
-/*
-
-Copyright 1988, 1989, 1998 The Open Group
-
-Permission to use, copy, modify, distribute, and sell this software and its
-documentation for any purpose is hereby granted without fee, provided that
-the above copyright notice appear in all copies and that both that
-copyright notice and this permission notice appear in supporting
-documentation.
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
-AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
-CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-Except as contained in this notice, the name of The Open Group shall not be
-used in advertising or otherwise to promote the sale, use or other dealings
-in this Software without prior written authorization from The Open Group.
-
-*/
-/* $XFree86: xc/lib/Xmu/Lookup.c,v 3.7 2001/01/17 19:42:56 dawes Exp $ */
-
-#ifdef HAVE_CONFIG_H
-#include <config.h>
-#endif
-#include <X11/Xmu/Lookup.h>
-
-#define XK_LATIN1
-#define XK_PUBLISHING
-#include <X11/keysymdef.h>
-
-/* bit (1<<i) means character is in codeset i */
-static unsigned short _Xconst latin1[128] =
- {0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
- 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
- 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
- 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
- 0x10ee, 0x0000, 0x1000, 0x1084, 0x102e, 0x1000, 0x1080, 0x108e, /* 10 */
- 0x108e, 0x1080, 0x0000, 0x1080, 0x1080, 0x10ee, 0x1000, 0x1008,
- 0x108e, 0x1080, 0x1084, 0x1084, 0x108e, 0x1004, 0x1000, 0x1084, /* 11 */
- 0x100e, 0x1000, 0x0000, 0x1080, 0x1000, 0x1084, 0x1000, 0x0000,
- 0x0004, 0x000e, 0x000e, 0x0008, 0x000e, 0x0008, 0x0008, 0x0006, /* 12 */
- 0x0004, 0x000e, 0x0004, 0x000e, 0x0004, 0x000e, 0x000e, 0x0004,
- 0x0000, 0x0004, 0x0004, 0x0006, 0x000e, 0x0008, 0x000e, 0x000e, /* 13 */
- 0x0008, 0x0004, 0x000e, 0x000c, 0x000e, 0x0002, 0x0000, 0x000e,
- 0x0004, 0x000e, 0x000e, 0x0008, 0x000e, 0x0008, 0x0008, 0x0006, /* 14 */
- 0x0004, 0x000e, 0x0004, 0x000e, 0x0004, 0x000e, 0x000e, 0x0004,
- 0x0000, 0x0004, 0x0004, 0x0006, 0x000e, 0x0008, 0x000e, 0x000e, /* 15 */
- 0x0008, 0x0004, 0x000e, 0x000c, 0x000e, 0x0002, 0x0000, 0x0000};
-
-/* bit (1<<i) means character is in codeset i */
-static unsigned short _Xconst latin2[128] =
- {0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
- 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
- 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
- 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
- 0x0000, 0x0008, 0x0004, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, /* 10 */
- 0x0000, 0x0008, 0x0004, 0x0000, 0x0000, 0x0000, 0x0008, 0x0004,
- 0x0000, 0x0008, 0x0008, 0x0000, 0x0000, 0x0000, 0x0000, 0x0008, /* 11 */
- 0x0000, 0x0008, 0x0004, 0x0000, 0x0000, 0x0000, 0x0008, 0x0004,
- 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, /* 12 */
- 0x0008, 0x0000, 0x0008, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
- 0x0008, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, /* 13 */
- 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
- 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, /* 14 */
- 0x0008, 0x0000, 0x0008, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
- 0x0008, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, /* 15 */
- 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x000c};
-
-/* maps Cyrillic keysyms to 8859-5 */
-static unsigned char _Xconst cyrillic[128] =
- {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0xf2, 0xf3, 0xf1, 0xf4, 0xf5, 0xf6, 0xf7, /* 10 */
- 0xf8, 0xf9, 0xfa, 0xfb, 0xfc, 0x00, 0xfe, 0xff,
- 0xf0, 0xa2, 0xa3, 0xa1, 0xa4, 0xa5, 0xa6, 0xa7, /* 11 */
- 0xa8, 0xa9, 0xaa, 0xab, 0xac, 0x00, 0xae, 0xaf,
- 0xee, 0xd0, 0xd1, 0xe6, 0xd4, 0xd5, 0xe4, 0xd3, /* 12 */
- 0xe5, 0xd8, 0xd9, 0xda, 0xdb, 0xdc, 0xdd, 0xde,
- 0xdf, 0xef, 0xe0, 0xe1, 0xe2, 0xe3, 0xd6, 0xd2, /* 13 */
- 0xec, 0xeb, 0xd7, 0xe8, 0xed, 0xe9, 0xe7, 0xea,
- 0xce, 0xb0, 0xb1, 0xc6, 0xb4, 0xb5, 0xc4, 0xb3, /* 14 */
- 0xc5, 0xb8, 0xb9, 0xba, 0xbb, 0xbc, 0xbd, 0xbe,
- 0xbf, 0xcf, 0xc0, 0xc1, 0xc2, 0xc3, 0xb6, 0xb2, /* 15 */
- 0xcc, 0xcb, 0xb7, 0xc8, 0xcd, 0xc9, 0xc7, 0xca};
-
-/* maps Greek keysyms to 8859-7 */
-static unsigned char _Xconst greek[128] =
- {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0xb6, 0xb8, 0xb9, 0xba, 0xda, 0x00, 0xbc, /* 10 */
- 0xbe, 0xdb, 0x00, 0xbf, 0x00, 0x00, 0xb5, 0xaf,
- 0x00, 0xdc, 0xdd, 0xde, 0xdf, 0xfa, 0xc0, 0xfc, /* 11 */
- 0xfd, 0xfb, 0xe0, 0xfe, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7, /* 12 */
- 0xc8, 0xc9, 0xca, 0xcb, 0xcc, 0xcd, 0xce, 0xcf,
- 0xd0, 0xd1, 0xd3, 0x00, 0xd4, 0xd5, 0xd6, 0xd7, /* 13 */
- 0xd8, 0xd9, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0xe1, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, 0xe7, /* 14 */
- 0xe8, 0xe9, 0xea, 0xeb, 0xec, 0xed, 0xee, 0xef,
- 0xf0, 0xf1, 0xf3, 0xf2, 0xf4, 0xf5, 0xf6, 0xf7, /* 15 */
- 0xf8, 0xf9, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
-
-#define sLatin1 (unsigned long)0
-#define sLatin2 (unsigned long)1
-#define sLatin3 (unsigned long)2
-#define sLatin4 (unsigned long)3
-#define sKana (unsigned long)4
-#define sX0201 (unsigned long)0x01000004
-#define sArabic (unsigned long)5
-#define sCyrillic (unsigned long)6
-#define sGreek (unsigned long)7
-#define sAPL (unsigned long)11
-#define sHebrew (unsigned long)12
-
-int
-XmuLookupString(register XKeyEvent *event, unsigned char *buffer, int nbytes,
- KeySym *keysym, XComposeStatus *status,
- unsigned long keysymSet)
-{
- int count;
- KeySym symbol;
- unsigned long kset;
-
- kset = keysymSet & 0xffffff;
- count = XLookupString(event, (char *)buffer, nbytes, &symbol, status);
- if (keysym) *keysym = symbol;
- if ((nbytes == 0) || (symbol == NoSymbol)) {
- /* nothing */
- } else if ((count == 0) && ((symbol >> 8) == kset)) {
- count = 1;
- switch (keysymSet) {
- case sKana:
- buffer[0] = (symbol & 0xff);
- if (buffer[0] == 0x7e)
- count = 0;
- break;
- case sCyrillic:
- buffer[0] = cyrillic[symbol & 0x7f];
- break;
- case sGreek:
- buffer[0] = greek[symbol & 0x7f];
- if (!buffer[0])
- count = 0;
- break;
- default:
- buffer[0] = (symbol & 0xff);
- break;
- }
- } else if ((keysymSet != 0) && (count == 1) &&
- (((unsigned char *)buffer)[0] == symbol) &&
- (symbol & 0x80) &&
- !(latin1[symbol & 0x7f] & (1 << kset))) {
- if ((keysymSet == sHebrew) && (symbol == XK_multiply))
- buffer[0] = 0xaa;
- else if ((keysymSet == sHebrew) && (symbol == XK_division))
- buffer[0] = 0xba;
- else if ((keysymSet == sCyrillic) && (symbol == XK_section))
- buffer[0] = 0xfd;
- else if ((keysymSet == sX0201) && (symbol == XK_yen))
- buffer[0] = 0x5c;
- else
- count = 0;
- } else if (count != 0) {
- if ((keysymSet == sX0201) &&
- ((symbol == XK_backslash) || (symbol == XK_asciitilde)))
- count = 0;
- } else if (((symbol >> 8) == sLatin2) &&
- (symbol & 0x80) && (latin2[symbol & 0x7f] & (1 << kset))) {
- buffer[0] = (symbol & 0xff);
- count = 1;
- } else if ((keysymSet == sGreek) &&
- ((symbol == XK_leftsinglequotemark) ||
- (symbol == XK_rightsinglequotemark))) {
- buffer[0] = symbol - (XK_leftsinglequotemark - 0xa1);
- count = 1;
- }
- return count;
-}
-
-/* produces ISO 8859-1 encoding plus ASCII control */
-int
-XmuLookupLatin1(register XKeyEvent *event, unsigned char *buffer, int nbytes,
- KeySym *keysym, XComposeStatus *status)
-{
- return XLookupString(event, (char *)buffer, nbytes, keysym, status);
-}
-
-/* produces ISO 8859-2 encoding plus ASCII control */
-int
-XmuLookupLatin2(register XKeyEvent *event, unsigned char *buffer, int nbytes,
- KeySym *keysym, XComposeStatus *status)
-{
- return XmuLookupString(event, buffer, nbytes, keysym, status, sLatin2);
-}
-
-/* produces ISO 8859-3 encoding plus ASCII control */
-int
-XmuLookupLatin3(register XKeyEvent *event, unsigned char *buffer, int nbytes,
- KeySym *keysym, XComposeStatus *status)
-{
- return XmuLookupString(event, buffer, nbytes, keysym, status, sLatin3);
-}
-
-/* produces ISO 8859-4 encoding plus ASCII control */
-int
-XmuLookupLatin4(register XKeyEvent *event, unsigned char *buffer, int nbytes,
- KeySym *keysym, XComposeStatus *status)
-{
- return XmuLookupString(event, buffer, nbytes, keysym, status, sLatin4);
-}
-
-/* produces ISO 8859-1 GL plus Katakana plus ASCII control */
-int
-XmuLookupKana(register XKeyEvent *event, unsigned char *buffer, int nbytes,
- KeySym *keysym, XComposeStatus *status)
-{
- return XmuLookupString(event, buffer, nbytes, keysym, status, sKana);
-}
-
-/* produces JIS X0201-1976 (8-bit) */
-int
-XmuLookupJISX0201(register XKeyEvent *event, unsigned char *buffer, int nbytes,
- KeySym *keysym, XComposeStatus *status)
-{
- return XmuLookupString(event, buffer, nbytes, keysym, status, sX0201);
-}
-
-/* produces ISO 8859-6 encoding plus ASCII control */
-int
-XmuLookupArabic(register XKeyEvent *event, unsigned char *buffer, int nbytes,
- KeySym *keysym, XComposeStatus *status)
-{
- return XmuLookupString(event, buffer, nbytes, keysym, status, sArabic);
-}
-
-/* produces ISO/IEC 8859-5 encoding plus ASCII control */
-int
-XmuLookupCyrillic(register XKeyEvent *event, unsigned char *buffer, int nbytes,
- KeySym *keysym, XComposeStatus *status)
-{
- return XmuLookupString(event, buffer, nbytes, keysym, status, sCyrillic);
-}
-
-/* produces ISO 8859-7 encoding plus ASCII control */
-int
-XmuLookupGreek(register XKeyEvent *event, unsigned char *buffer, int nbytes,
- KeySym *keysym, XComposeStatus *status)
-{
- return XmuLookupString(event, buffer, nbytes, keysym, status, sGreek);
-}
-
-/* XXX this character set needs work */
-
-int
-XmuLookupAPL(register XKeyEvent *event, unsigned char *buffer, int nbytes,
- KeySym *keysym, XComposeStatus *status)
-{
- return XmuLookupString(event, buffer, nbytes, keysym, status, sAPL);
-}
-
-/* produces ISO 8859-8 encoding plus ASCII control */
-int
-XmuLookupHebrew(register XKeyEvent *event, unsigned char *buffer, int nbytes,
- KeySym *keysym, XComposeStatus *status)
-{
- return XmuLookupString(event, buffer, nbytes, keysym, status, sHebrew);
-}
diff --git a/nx-X11/lib/Xmu/Lookup.h b/nx-X11/lib/Xmu/Lookup.h
deleted file mode 100644
index 3699a2719..000000000
--- a/nx-X11/lib/Xmu/Lookup.h
+++ /dev/null
@@ -1,128 +0,0 @@
-/*
- * $XFree86$
- */
-
-/************************************************************
-
-Copyright 1999 by Thomas E. Dickey <dickey@clark.net>
-
- All Rights Reserved
-
-Permission is hereby granted, free of charge, to any person obtaining a
-copy of this software and associated documentation files (the
-"Software"), to deal in the Software without restriction, including
-without limitation the rights to use, copy, modify, merge, publish,
-distribute, sublicense, and/or sell copies of the Software, and to
-permit persons to whom the Software is furnished to do so, subject to
-the following conditions:
-
-The above copyright notice and this permission notice shall be included
-in all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
-OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
-IN NO EVENT SHALL THE ABOVE LISTED COPYRIGHT HOLDER(S) BE LIABLE FOR ANY
-CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
-TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
-SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-Except as contained in this notice, the name(s) of the above copyright
-holders shall not be used in advertising or otherwise to promote the
-sale, use or other dealings in this Software without prior written
-authorization.
-
-********************************************************/
-
-#ifndef included_xmu_lookup_h
-#define included_xmu_lookup_h 1
-
-#include <X11/Xlib.h>
-#include <X11/Xutil.h>
-
-extern int XmuLookupString(
- XKeyEvent *event,
- unsigned char *buffer,
- int nbytes,
- KeySym *keysym,
- XComposeStatus *status,
- unsigned long keysymSet);
-
-extern int XmuLookupLatin1(
- XKeyEvent *event,
- unsigned char *buffer,
- int nbytes,
- KeySym *keysym,
- XComposeStatus *status);
-
-extern int XmuLookupLatin2(
- XKeyEvent *event,
- unsigned char *buffer,
- int nbytes,
- KeySym *keysym,
- XComposeStatus *status);
-
-extern int XmuLookupLatin3(
- XKeyEvent *event,
- unsigned char *buffer,
- int nbytes,
- KeySym *keysym,
- XComposeStatus *status);
-
-extern int XmuLookupLatin4(
- XKeyEvent *event,
- unsigned char *buffer,
- int nbytes,
- KeySym *keysym,
- XComposeStatus *status);
-
-extern int XmuLookupKana(
- XKeyEvent *event,
- unsigned char *buffer,
- int nbytes,
- KeySym *keysym,
- XComposeStatus *status);
-
-extern int XmuLookupJISX0201(
- XKeyEvent *event,
- unsigned char *buffer,
- int nbytes,
- KeySym *keysym,
- XComposeStatus *status);
-
-extern int XmuLookupArabic(
- XKeyEvent *event,
- unsigned char *buffer,
- int nbytes,
- KeySym *keysym,
- XComposeStatus *status);
-
-extern int XmuLookupCyrillic(
- XKeyEvent *event,
- unsigned char *buffer,
- int nbytes,
- KeySym *keysym,
- XComposeStatus *status);
-
-extern int XmuLookupGreek(
- XKeyEvent *event,
- unsigned char *buffer,
- int nbytes,
- KeySym *keysym,
- XComposeStatus *status);
-
-extern int XmuLookupAPL(
- XKeyEvent *event,
- unsigned char *buffer,
- int nbytes,
- KeySym *keysym,
- XComposeStatus *status);
-
-extern int XmuLookupHebrew(
- XKeyEvent *event,
- unsigned char *buffer,
- int nbytes,
- KeySym *keysym,
- XComposeStatus *status);
-
-#endif /* included_xmu_lookup_h */
diff --git a/nx-X11/lib/Xmu/LookupCmap.c b/nx-X11/lib/Xmu/LookupCmap.c
deleted file mode 100644
index e7d7008e5..000000000
--- a/nx-X11/lib/Xmu/LookupCmap.c
+++ /dev/null
@@ -1,325 +0,0 @@
-/* $Xorg: LookupCmap.c,v 1.4 2001/02/09 02:03:53 xorgcvs Exp $ */
-
-/*
-
-Copyright 1989, 1998 The Open Group
-
-Permission to use, copy, modify, distribute, and sell this software and its
-documentation for any purpose is hereby granted without fee, provided that
-the above copyright notice appear in all copies and that both that
-copyright notice and this permission notice appear in supporting
-documentation.
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
-AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
-CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-Except as contained in this notice, the name of The Open Group shall not be
-used in advertising or otherwise to promote the sale, use or other dealings
-in this Software without prior written authorization from The Open Group.
-
-*/
-/* $XFree86: xc/lib/Xmu/LookupCmap.c,v 1.7 2001/07/25 15:04:50 dawes Exp $ */
-
-/*
- * Author: Donna Converse, MIT X Consortium
- */
-
-#ifdef HAVE_CONFIG_H
-#include <config.h>
-#endif
-#include <stdio.h>
-#include <X11/Xlib.h>
-#include <X11/Xatom.h>
-#include <X11/Xutil.h>
-#include <X11/Xmu/StdCmap.h>
-#include <stdlib.h>
-
-/*
- * Prototypes
- */
-static Status lookup(Display*, int, VisualID, Atom, XStandardColormap*, Bool);
-
-/*
- * To create a standard colormap if one does not currently exist, or
- * replace the currently existing standard colormap, use
- * XmuLookupStandardColormap().
- *
- * Given a screen, a visual, and a property, XmuLookupStandardColormap()
- * will determine the best allocation for the property under the specified
- * visual, and determine the whether to create a new colormap or to use
- * the default colormap of the screen. It will call XmuStandardColormap()
- * to create the standard colormap.
- *
- * If replace is true, any previous definition of the property will be
- * replaced. If retain is true, the property and the colormap will be
- * made permanent for the duration of the server session. However,
- * pre-existing property definitions which are not replaced cannot be made
- * permanent by a call to XmuLookupStandardColormap(); a request to retain
- * resources pertains to newly created resources.
- *
- * Returns 0 on failure, non-zero on success. A request to create a
- * standard colormap upon a visual which cannot support such a map is
- * considered a failure. An example of this would be requesting any
- * standard colormap property on a monochrome visual, or, requesting an
- * RGB_BEST_MAP on a display whose colormap size is 16.
- */
-
-Status
-XmuLookupStandardColormap(Display *dpy, int screen, VisualID visualid,
- unsigned int depth, Atom property,
- Bool replace, Bool retain)
- /*
- * dpy - specifies X server connection
- * screen - specifies screen of display
- * visualid - specifies the visual type
- * depth - specifies the visual type
- * property - a standard colormap property
- * replace - specifies whether to replace
- * retain - specifies whether to retain
- */
-{
- Display *odpy; /* original display connection */
- XStandardColormap *colormap;
- XVisualInfo vinfo_template, *vinfo; /* visual */
- long vinfo_mask;
- unsigned long r_max, g_max, b_max; /* allocation */
- int count;
- Colormap cmap; /* colormap ID */
- Status status = 0;
-
-
- /* Match the requested visual */
-
- vinfo_template.visualid = visualid;
- vinfo_template.screen = screen;
- vinfo_template.depth = depth;
- vinfo_mask = VisualIDMask | VisualScreenMask | VisualDepthMask;
- if ((vinfo = XGetVisualInfo(dpy, vinfo_mask, &vinfo_template, &count)) ==
- NULL)
- return 0;
-
- /* Monochrome visuals have no standard maps */
-
- if (vinfo->colormap_size <= 2) {
- XFree((char *) vinfo);
- return 0;
- }
-
- /* If the requested property already exists on this screen, and,
- * if the replace flag has not been set to true, return success.
- * lookup() will remove a pre-existing map if replace is true.
- */
-
- if (lookup(dpy, screen, visualid, property, (XStandardColormap *) NULL,
- replace) && !replace) {
- XFree((char *) vinfo);
- return 1;
- }
-
- /* Determine the best allocation for this property under the requested
- * visualid and depth, and determine whether or not to use the default
- * colormap of the screen.
- */
-
- if (!XmuGetColormapAllocation(vinfo, property, &r_max, &g_max, &b_max)) {
- XFree((char *) vinfo);
- return 0;
- }
-
- cmap = (property == XA_RGB_DEFAULT_MAP &&
- visualid == XVisualIDFromVisual(DefaultVisual(dpy, screen)))
- ? DefaultColormap(dpy, screen) : None;
-
- /* If retaining resources, open a new connection to the same server */
-
- if (retain) {
- odpy = dpy;
- if ((dpy = XOpenDisplay(XDisplayString(odpy))) == NULL) {
- XFree((char *) vinfo);
- return 0;
- }
- }
-
- /* Create the standard colormap */
-
- colormap = XmuStandardColormap(dpy, screen, visualid, depth, property,
- cmap, r_max, g_max, b_max);
-
- /* Set the standard colormap property */
-
- if (colormap) {
- XGrabServer(dpy);
-
- if (lookup(dpy, screen, visualid, property, colormap, replace) &&
- !replace) {
- /* Someone has defined the property since we last looked.
- * Since we will not replace it, release our own resources.
- * If this is the default map, our allocations will be freed
- * when this connection closes.
- */
- if (colormap->killid == ReleaseByFreeingColormap)
- XFreeColormap(dpy, colormap->colormap);
- }
- else if (retain) {
- XSetCloseDownMode(dpy, RetainPermanent);
- }
- XUngrabServer(dpy);
- XFree((char *) colormap);
- status = 1;
- }
-
- if (retain)
- XCloseDisplay(dpy);
- XFree((char *) vinfo);
- return status;
-}
-
-/***************************************************************************/
-
-/* Lookup a standard colormap property. If the property is RGB_DEFAULT_MAP,
- * the visualid is used to determine whether the indicated standard colormap
- * exists. If the map exists and replace is true, delete the resources used
- * by the map and remove the property. Return true if the map exists,
- * or did exist and was deleted; return false if the map was not found.
- *
- * Note that this is not the way that a Status return is normally used.
- *
- * If new is not NULL, new points to an XStandardColormap structure which
- * describes a standard colormap of the specified property. It will be made
- * a standard colormap of the screen if none already exists, or if replace
- * is true.
- */
-
-static Status
-lookup(Display *dpy, int screen, VisualID visualid, Atom property,
- XStandardColormap *cnew, Bool replace)
- /*
- * dpy - specifies display connection
- * screen - specifies screen number
- * visualid - specifies visualid for std map
- * property - specifies colormap property name
- * cnew - specifies a standard colormap
- * replace - specifies whether to replace
- */
-{
- register int i;
- int count;
- XStandardColormap *stdcmaps, *s;
- Window win = RootWindow(dpy, screen);
-
- /* The property does not already exist */
-
- if (! XGetRGBColormaps(dpy, win, &stdcmaps, &count, property)) {
- if (cnew)
- XSetRGBColormaps(dpy, win, cnew, 1, property);
- return 0;
- }
-
- /* The property exists and is not describing the RGB_DEFAULT_MAP */
-
- if (property != XA_RGB_DEFAULT_MAP) {
- if (replace) {
- XmuDeleteStandardColormap(dpy, screen, property);
- if (cnew)
- XSetRGBColormaps(dpy, win, cnew, 1, property);
- }
- XFree((char *)stdcmaps);
- return 1;
- }
-
- /* The property exists and is RGB_DEFAULT_MAP */
-
- for (i=0, s=stdcmaps; (i < count) && (s->visualid != visualid); i++, s++)
- ;
-
- /* No RGB_DEFAULT_MAP property matches the given visualid */
-
- if (i == count) {
- if (cnew) {
- XStandardColormap *m, *maps;
-
- s = (XStandardColormap *) malloc((unsigned) ((count+1) * sizeof
- (XStandardColormap)));
-
- for (i = 0, m = s, maps = stdcmaps; i < count; i++, m++, maps++) {
- m->colormap = maps->colormap;
- m->red_max = maps->red_max;
- m->red_mult = maps->red_mult;
- m->green_max = maps->green_max;
- m->green_mult = maps->green_mult;
- m->blue_max = maps->blue_max;
- m->blue_mult = maps->blue_mult;
- m->base_pixel = maps->base_pixel;
- m->visualid = maps->visualid;
- m->killid = maps->killid;
- }
- m->colormap = cnew->colormap;
- m->red_max = cnew->red_max;
- m->red_mult = cnew->red_mult;
- m->green_max = cnew->green_max;
- m->green_mult = cnew->green_mult;
- m->blue_max = cnew->blue_max;
- m->blue_mult = cnew->blue_mult;
- m->base_pixel = cnew->base_pixel;
- m->visualid = cnew->visualid;
- m->killid = cnew->killid;
-
- XSetRGBColormaps(dpy, win, s, ++count, property);
- free((char *) s);
- }
- XFree((char *) stdcmaps);
- return 0;
- }
-
- /* Found an RGB_DEFAULT_MAP property with a matching visualid */
-
- if (replace) {
- /* Free old resources first - we may need them, particularly in
- * the default colormap of the screen. However, because of this,
- * it is possible that we will destroy the old resource and fail
- * to create a new one if XmuStandardColormap() fails.
- */
-
- if (count == 1) {
- XmuDeleteStandardColormap(dpy, screen, property);
- if (cnew)
- XSetRGBColormaps(dpy, win, cnew, 1, property);
- }
- else {
- XStandardColormap *map;
-
- /* s still points to the matching standard colormap */
-
- if (s->killid == ReleaseByFreeingColormap) {
- if ((s->colormap != None) &&
- (s->colormap != DefaultColormap(dpy, screen)))
- XFreeColormap(dpy, s->colormap);
- }
- else if (s->killid != None)
- XKillClient(dpy, s->killid);
-
- map = (cnew) ? cnew : stdcmaps + --count;
-
- s->colormap = map->colormap;
- s->red_max = map->red_max;
- s->red_mult = map->red_mult;
- s->green_max = map->green_max;
- s->green_mult = map->green_mult;
- s->blue_max = map->blue_max;
- s->blue_mult = map->blue_mult;
- s->visualid = map->visualid;
- s->killid = map->killid;
-
- XSetRGBColormaps(dpy, win, stdcmaps, count, property);
- }
- }
- XFree((char *) stdcmaps);
- return 1;
-}
diff --git a/nx-X11/lib/Xmu/Lower.c b/nx-X11/lib/Xmu/Lower.c
deleted file mode 100644
index 06ad31a29..000000000
--- a/nx-X11/lib/Xmu/Lower.c
+++ /dev/null
@@ -1,164 +0,0 @@
-/* $Xorg: Lower.c,v 1.4 2001/02/09 02:03:53 xorgcvs Exp $ */
-
-/*
-
-Copyright 1988, 1998 The Open Group
-
-Permission to use, copy, modify, distribute, and sell this software and its
-documentation for any purpose is hereby granted without fee, provided that
-the above copyright notice appear in all copies and that both that
-copyright notice and this permission notice appear in supporting
-documentation.
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
-AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
-CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-Except as contained in this notice, the name of The Open Group shall not be
-used in advertising or otherwise to promote the sale, use or other dealings
-in this Software without prior written authorization from The Open Group.
-
-*/
-
-/* $XFree86: xc/lib/Xmu/Lower.c,v 1.11 2001/07/25 15:04:50 dawes Exp $ */
-
-#define XK_LATIN1
-#ifdef HAVE_CONFIG_H
-#include <config.h>
-#endif
-#include <X11/keysymdef.h>
-#include <X11/Xmu/CharSet.h>
-#include <X11/Xmu/SysUtil.h>
-
-#include <stdio.h>
-
-#ifndef HAS_SNPRINTF
-#undef SCOPE
-#define SCOPE static
-#include "snprintf.c"
-#endif
-
-#include <stdarg.h>
-
-/*
- * ISO Latin-1 case conversion routine
- */
-#define XmuTolower(c) \
-((c) >= XK_a && (c) <= XK_z ? \
- (c) : (c) >= XK_A && (c) <= XK_Z ? \
- (c) + (XK_a - XK_A) : (c) >= XK_Agrave && (c) <= XK_Odiaeresis ? \
- (c) + (XK_agrave - XK_Agrave) : (c) >= XK_Ooblique && (c) <= XK_Thorn ? \
- (c) + (XK_oslash - XK_Ooblique) : \
- (c))
-
-#define XmuToupper(c) \
-((c) >= XK_A && (c) <= XK_Z ? \
- (c) : (c) >= XK_a && (c) <= XK_z ? \
- (c) - (XK_a - XK_A) : (c) >= XK_agrave && (c) <= XK_odiaeresis ? \
- (c) - (XK_agrave - XK_Agrave) : (c) >= XK_oslash && (c) <= XK_thorn ? \
- (c) - (XK_oslash - XK_Ooblique) : \
- (c))
-
-/*
- * Implementation
- */
-void
-XmuCopyISOLatin1Lowered(char *dst, _Xconst char *src)
-{
- register unsigned char *dest, *source;
-
- for (dest = (unsigned char *)dst, source = (unsigned char *)src;
- *source;
- source++, dest++)
- *dest = XmuTolower(*source);
- *dest = '\0';
-}
-
-void
-XmuCopyISOLatin1Uppered(char *dst, _Xconst char *src)
-{
- register unsigned char *dest, *source;
-
- for (dest = (unsigned char *)dst, source = (unsigned char *)src;
- *source;
- source++, dest++)
- *dest = XmuToupper(*source);
- *dest = '\0';
-}
-
-int
-XmuCompareISOLatin1(_Xconst char *first, _Xconst char *second)
-{
- register unsigned char *ap, *bp;
-
- for (ap = (unsigned char *)first, bp = (unsigned char *)second;
- *ap && *bp && XmuTolower(*ap) == XmuTolower(*bp);
- ap++, bp++)
- ;
-
- return ((int)XmuTolower(*ap) - (int)XmuTolower(*bp));
-}
-
-void
-XmuNCopyISOLatin1Lowered(char *dst, _Xconst char *src, register int size)
-{
- register unsigned char *dest, *source;
-
- if (size > 0)
- {
- for (dest = (unsigned char *)dst, source = (unsigned char *)src;
- *source && size > 1;
- source++, dest++, size--)
- *dest = XmuTolower(*source);
- *dest = '\0';
- }
-}
-
-void
-XmuNCopyISOLatin1Uppered(char *dst, _Xconst char *src, register int size)
-{
- register unsigned char *dest, *source;
-
- if (size > 0)
- {
- for (dest = (unsigned char *)dst, source = (unsigned char *)src;
- *source && size > 1;
- source++, dest++, size--)
- *dest = XmuToupper(*source);
- *dest = '\0';
- }
-}
-
-int
-XmuSnprintf(char *str, int size, _Xconst char *fmt, ...)
-{
- va_list ap;
- int retval;
-
- if (size <= 0)
- return (size);
-
- va_start(ap, fmt);
-
-#if 0
- retval = vsprintf(str, fmt, ap);
- if (retval >= size)
- {
- fprintf(stderr, "WARNING: buffer overflow detected!\n");
- fflush(stderr);
- abort();
- }
-#else
- retval = vsnprintf(str, size, fmt, ap);
-#endif
-
- va_end(ap);
-
- return (retval);
-}
diff --git a/nx-X11/lib/Xmu/Misc.h b/nx-X11/lib/Xmu/Misc.h
deleted file mode 100644
index b47fbba4b..000000000
--- a/nx-X11/lib/Xmu/Misc.h
+++ /dev/null
@@ -1,65 +0,0 @@
-/* $Xorg: Misc.h,v 1.4 2001/02/09 02:03:53 xorgcvs Exp $ */
-
-/*
-
-Copyright 1987, 1988, 1998 The Open Group
-
-Permission to use, copy, modify, distribute, and sell this software and its
-documentation for any purpose is hereby granted without fee, provided that
-the above copyright notice appear in all copies and that both that
-copyright notice and this permission notice appear in supporting
-documentation.
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
-AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
-CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-Except as contained in this notice, the name of The Open Group shall not be
-used in advertising or otherwise to promote the sale, use or other dealings
-in this Software without prior written authorization from The Open Group.
-
-*/
-
-/***********************************************************
-
-Copyright 1987, 1988 by Digital Equipment Corporation, Maynard, Massachusetts.
-
- All Rights Reserved
-
-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 not be
-used in advertising or publicity pertaining to distribution of the
-software without specific, written prior permission.
-
-DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
-ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
-DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
-ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
-WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
-ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
-SOFTWARE.
-
-******************************************************************/
-
-/* Various useful constant and macro definitions */
-
-#ifndef _Xmu_Misc_h
-#define _Xmu_Misc_h
-
-#define MAXDIMENSION ((1 << 31)-1)
-
-#define Max(x, y) (((x) > (y)) ? (x) : (y))
-#define Min(x, y) (((x) < (y)) ? (x) : (y))
-#define AssignMax(x, y) {if ((y) > (x)) x = (y);}
-#define AssignMin(x, y) {if ((y) < (x)) x = (y);}
-
-#endif /*_Xmu_Misc_h*/
diff --git a/nx-X11/lib/Xmu/README b/nx-X11/lib/Xmu/README
deleted file mode 100644
index d618e2a71..000000000
--- a/nx-X11/lib/Xmu/README
+++ /dev/null
@@ -1,8 +0,0 @@
-This library contains miscellaneous utilities and is not part of the Xlib
-standard. It contains routines which only use public interfaces so that it
-may be layered on top of any proprietary implementation of Xlib or Xt.
-
-It is intended to support clients in the MIT distribution; vendors
-may choose not to distribute this library if they wish. Therefore,
-applications developers who depend on this library should be prepared to
-treat it as part of their software base when porting.
diff --git a/nx-X11/lib/Xmu/RdBitF.c b/nx-X11/lib/Xmu/RdBitF.c
deleted file mode 100644
index eb5fe598d..000000000
--- a/nx-X11/lib/Xmu/RdBitF.c
+++ /dev/null
@@ -1,401 +0,0 @@
-/* $Xorg: RdBitF.c,v 1.4 2001/02/09 02:03:53 xorgcvs Exp $ */
-
-/*
-
-Copyright 1988, 1998 The Open Group
-
-Permission to use, copy, modify, distribute, and sell this software and its
-documentation for any purpose is hereby granted without fee, provided that
-the above copyright notice appear in all copies and that both that
-copyright notice and this permission notice appear in supporting
-documentation.
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
-AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
-CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-Except as contained in this notice, the name of The Open Group shall not be
-used in advertising or otherwise to promote the sale, use or other dealings
-in this Software without prior written authorization from The Open Group.
-
-*/
-/* $XFree86: xc/lib/Xmu/RdBitF.c,v 3.12 2001/12/14 19:55:48 dawes Exp $ */
-
-/*
- * This file contains miscellaneous utility routines and is not part of the
- * Xlib standard.
- *
- * Public entry points:
- *
- * XmuReadBitmapData read data from FILE descriptor
- * XmuReadBitmapDataFromFile read X10 or X11 format bitmap files
- * and return data
- *
- * Note that this file and ../X/XRdBitF.c look very similar.... Keep them
- * that way (but don't use common source code so that people can have one
- * without the other).
- */
-
-
-/*
- * Based on an optimized version provided by Jim Becker, Auguest 5, 1988.
- */
-
-#ifdef HAVE_CONFIG_H
-#include <config.h>
-#endif
-#include <X11/Xos.h>
-#include <X11/Xlib.h>
-#include <X11/Xutil.h>
-#include <X11/Xlibint.h>
-#include <stdio.h>
-#include <ctype.h>
-#include <X11/Xmu/Drawing.h>
-
-#define MAX_SIZE 255
-
-/*
- * Prototypes
- */
-static void initHexTable(void);
-static int NextInt(FILE*);
-
-/* shared data for the image read/parse logic */
-static short hexTable[256]; /* conversion value */
-static Bool initialized = False; /* easier to fill in at run time */
-
-
-/*
- * Table index for the hex values. Initialized once, first time.
- * Used for translation value or delimiter significance lookup.
- */
-static void
-initHexTable(void)
-{
- /*
- * We build the table at run time for several reasons:
- *
- * 1. portable to non-ASCII machines.
- * 2. still reentrant since we set the init flag after setting table.
- * 3. easier to extend.
- * 4. less prone to bugs.
- */
- hexTable['0'] = 0; hexTable['1'] = 1;
- hexTable['2'] = 2; hexTable['3'] = 3;
- hexTable['4'] = 4; hexTable['5'] = 5;
- hexTable['6'] = 6; hexTable['7'] = 7;
- hexTable['8'] = 8; hexTable['9'] = 9;
- hexTable['A'] = 10; hexTable['B'] = 11;
- hexTable['C'] = 12; hexTable['D'] = 13;
- hexTable['E'] = 14; hexTable['F'] = 15;
- hexTable['a'] = 10; hexTable['b'] = 11;
- hexTable['c'] = 12; hexTable['d'] = 13;
- hexTable['e'] = 14; hexTable['f'] = 15;
-
- /* delimiters of significance are flagged w/ negative value */
- hexTable[' '] = -1; hexTable[','] = -1;
- hexTable['}'] = -1; hexTable['\n'] = -1;
- hexTable['\t'] = -1;
-
- initialized = True;
-}
-
-/*
- * read next hex value in the input stream, return -1 if EOF
- */
-static int
-NextInt(FILE *fstream)
-{
- int ch;
- int value = 0;
- int gotone = 0;
- int done = 0;
-
- /* loop, accumulate hex value until find delimiter */
- /* skip any initial delimiters found in read stream */
-
- while (!done) {
- ch = getc(fstream);
- if (ch == EOF) {
- value = -1;
- done++;
- } else {
- /* trim high bits, check type and accumulate */
- ch &= 0xff;
- if (isascii(ch) && isxdigit(ch)) {
- value = (value << 4) + hexTable[ch];
- gotone++;
- } else if ((hexTable[ch]) < 0 && gotone)
- done++;
- }
- }
- return value;
-}
-
-
-/*
- * The data returned by the following routine is always in left-most byte
- * first and left-most bit first. If it doesn't return BitmapSuccess then
- * its arguments won't have been touched. This routine should look as much
- * like the Xlib routine XReadBitmapfile as possible.
- */
-int
-XmuReadBitmapData(FILE *fstream, unsigned int *width, unsigned int *height,
- unsigned char **datap, int *x_hot, int *y_hot)
-{
- unsigned char *data = NULL; /* working variable */
- char line[MAX_SIZE]; /* input line from file */
- int size; /* number of bytes of data */
- char name_and_type[MAX_SIZE]; /* an input line */
- char *type; /* for parsing */
- int value; /* from an input line */
- int version10p; /* boolean, old format */
- int padding; /* to handle alignment */
- int bytes_per_line; /* per scanline of data */
- unsigned int ww = 0; /* width */
- unsigned int hh = 0; /* height */
- int hx = -1; /* x hotspot */
- int hy = -1; /* y hotspot */
-
-#undef Xmalloc /* see MALLOC_0_RETURNS_NULL in Xlibint.h */
-#define Xmalloc(size) malloc(size)
-
- /* first time initialization */
- if (initialized == False) initHexTable();
-
- /* error cleanup and return macro */
-#define RETURN(code) { if (data) free (data); return code; }
-
- while (fgets(line, MAX_SIZE, fstream)) {
- if (strlen(line) == MAX_SIZE-1) {
- RETURN (BitmapFileInvalid);
- }
- if (sscanf(line,"#define %s %d",name_and_type,&value) == 2) {
- if (!(type = strrchr(name_and_type, '_')))
- type = name_and_type;
- else
- type++;
-
- if (!strcmp("width", type))
- ww = (unsigned int) value;
- if (!strcmp("height", type))
- hh = (unsigned int) value;
- if (!strcmp("hot", type)) {
- if (type-- == name_and_type || type-- == name_and_type)
- continue;
- if (!strcmp("x_hot", type))
- hx = value;
- if (!strcmp("y_hot", type))
- hy = value;
- }
- continue;
- }
-
- if (sscanf(line, "static short %s = {", name_and_type) == 1)
- version10p = 1;
- else if (sscanf(line,"static unsigned char %s = {",name_and_type) == 1)
- version10p = 0;
- else if (sscanf(line, "static char %s = {", name_and_type) == 1)
- version10p = 0;
- else
- continue;
-
- if (!(type = strrchr(name_and_type, '_')))
- type = name_and_type;
- else
- type++;
-
- if (strcmp("bits[]", type))
- continue;
-
- if (!ww || !hh)
- RETURN (BitmapFileInvalid);
-
- if ((ww % 16) && ((ww % 16) < 9) && version10p)
- padding = 1;
- else
- padding = 0;
-
- bytes_per_line = (ww+7)/8 + padding;
-
- size = bytes_per_line * hh;
- data = (unsigned char *) Xmalloc ((unsigned int) size);
- if (!data)
- RETURN (BitmapNoMemory);
-
- if (version10p) {
- unsigned char *ptr;
- int bytes;
-
- for (bytes=0, ptr=data; bytes<size; (bytes += 2)) {
- if ((value = NextInt(fstream)) < 0)
- RETURN (BitmapFileInvalid);
- *(ptr++) = value;
- if (!padding || ((bytes+2) % bytes_per_line))
- *(ptr++) = value >> 8;
- }
- } else {
- unsigned char *ptr;
- int bytes;
-
- for (bytes=0, ptr=data; bytes<size; bytes++, ptr++) {
- if ((value = NextInt(fstream)) < 0)
- RETURN (BitmapFileInvalid);
- *ptr=value;
- }
- }
- break;
- } /* end while */
-
- if (data == NULL) {
- RETURN (BitmapFileInvalid);
- }
-
- *datap = data;
- data = NULL;
- *width = ww;
- *height = hh;
- if (x_hot) *x_hot = hx;
- if (y_hot) *y_hot = hy;
-
- RETURN (BitmapSuccess);
-}
-
-#if defined(WIN32)
-static int
-access_file(char *path, char *pathbuf, int len_pathbuf, char **pathret)
-{
- if (access (path, F_OK) == 0) {
- if (strlen (path) < len_pathbuf)
- *pathret = pathbuf;
- else
- *pathret = malloc (strlen (path) + 1);
- if (*pathret) {
- strcpy (*pathret, path);
- return 1;
- }
- }
- return 0;
-}
-
-static int
-AccessFile(char *path, char *pathbuf, int len_pathbuf, char **pathret)
-{
-#ifndef MAX_PATH
-#define MAX_PATH 512
-#endif
-
- unsigned long drives;
- int i, len;
- char* drive;
- char buf[MAX_PATH];
- char* bufp;
-
- /* just try the "raw" name first and see if it works */
- if (access_file (path, pathbuf, len_pathbuf, pathret))
- return 1;
-
- /* try the places set in the environment */
- drive = getenv ("_XBASEDRIVE");
-#ifdef __UNIXOS2__
- if (!drive)
- drive = getenv ("X11ROOT");
-#endif
- if (!drive)
- drive = "C:";
- len = strlen (drive) + strlen (path);
- if (len < MAX_PATH) bufp = buf;
- else bufp = malloc (len + 1);
- strcpy (bufp, drive);
- strcat (bufp, path);
- if (access_file (bufp, pathbuf, len_pathbuf, pathret)) {
- if (bufp != buf) free (bufp);
- return 1;
- }
-
-#ifndef __UNIXOS2__
- /* one last place to look */
- drive = getenv ("HOMEDRIVE");
- if (drive) {
- len = strlen (drive) + strlen (path);
- if (len < MAX_PATH) bufp = buf;
- else bufp = malloc (len + 1);
- strcpy (bufp, drive);
- strcat (bufp, path);
- if (access_file (bufp, pathbuf, len_pathbuf, pathret)) {
- if (bufp != buf) free (bufp);
- return 1;
- }
- }
-
- /* does OS/2 (with or with gcc-emx) have getdrives? */
- /* tried everywhere else, go fishing */
-#define C_DRIVE ('C' - 'A')
-#define Z_DRIVE ('Z' - 'A')
- drives = _getdrives ();
- for (i = C_DRIVE; i <= Z_DRIVE; i++) { /* don't check on A: or B: */
- if ((1 << i) & drives) {
- len = 2 + strlen (path);
- if (len < MAX_PATH) bufp = buf;
- else bufp = malloc (len + 1);
- *bufp = 'A' + i;
- *(bufp + 1) = ':';
- *(bufp + 2) = '\0';
- strcat (bufp, path);
- if (access_file (bufp, pathbuf, len_pathbuf, pathret)) {
- if (bufp != buf) free (bufp);
- return 1;
- }
- }
- }
-#endif
- return 0;
-}
-
-FILE *
-fopen_file(char *path, char *mode)
-{
- char buf[MAX_PATH];
- char* bufp;
- void* ret = NULL;
- UINT olderror = SetErrorMode (SEM_FAILCRITICALERRORS);
-
- if (AccessFile (path, buf, MAX_PATH, &bufp))
- ret = fopen (bufp, mode);
-
- (void) SetErrorMode (olderror);
-
- if (bufp != buf) free (bufp);
-
- return ret;
-}
-
-#else
-#define fopen_file fopen
-#endif
-
-
-int
-XmuReadBitmapDataFromFile(_Xconst char *filename, unsigned int *width,
- unsigned int *height, unsigned char **datap,
- int *x_hot, int *y_hot)
-{
- FILE *fstream;
- int status;
-
-#ifdef __UNIXOS2__
- filename = __XOS2RedirRoot(filename);
-#endif
- if ((fstream = fopen_file (filename, "r")) == NULL) {
- return BitmapOpenFailed;
- }
- status = XmuReadBitmapData(fstream, width, height, datap, x_hot, y_hot);
- fclose (fstream);
- return status;
-}
diff --git a/nx-X11/lib/Xmu/ScrOfWin.c b/nx-X11/lib/Xmu/ScrOfWin.c
deleted file mode 100644
index dbba3c65b..000000000
--- a/nx-X11/lib/Xmu/ScrOfWin.c
+++ /dev/null
@@ -1,60 +0,0 @@
-/* $Xorg: ScrOfWin.c,v 1.4 2001/02/09 02:03:53 xorgcvs Exp $ */
-
-/*
-
-Copyright 1989, 1998 The Open Group
-
-Permission to use, copy, modify, distribute, and sell this software and its
-documentation for any purpose is hereby granted without fee, provided that
-the above copyright notice appear in all copies and that both that
-copyright notice and this permission notice appear in supporting
-documentation.
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
-AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
-CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-Except as contained in this notice, the name of The Open Group shall not be
-used in advertising or otherwise to promote the sale, use or other dealings
-in this Software without prior written authorization from The Open Group.
-
-*/
-/* $XFree86: xc/lib/Xmu/ScrOfWin.c,v 1.6 2001/01/17 19:42:56 dawes Exp $ */
-
-/*
- * Author: Jim Fulton, MIT X Consortium
- */
-
-#ifdef HAVE_CONFIG_H
-#include <config.h>
-#endif
-#include <stdio.h>
-#include <X11/Xlib.h>
-#include <X11/Xmu/WinUtil.h>
-
-Screen *
-XmuScreenOfWindow(Display *dpy, Window w)
-{
- register int i;
- Window root;
- int x, y; /* dummy variables */
- unsigned int width, height, bw, depth; /* dummy variables */
-
- if (!XGetGeometry (dpy, w, &root, &x, &y, &width, &height,
- &bw, &depth)) {
- return NULL;
- }
- for (i = 0; i < ScreenCount (dpy); i++) { /* find root from list */
- if (root == RootWindow (dpy, i)) {
- return ScreenOfDisplay (dpy, i);
- }
- }
- return NULL;
-}
-
diff --git a/nx-X11/lib/Xmu/ShapeWidg.c b/nx-X11/lib/Xmu/ShapeWidg.c
deleted file mode 100644
index 732018c92..000000000
--- a/nx-X11/lib/Xmu/ShapeWidg.c
+++ /dev/null
@@ -1,251 +0,0 @@
-/* $Xorg: ShapeWidg.c,v 1.4 2001/02/09 02:03:53 xorgcvs Exp $ */
-
-/*
-
-Copyright 1988, 1998 The Open Group
-
-Permission to use, copy, modify, distribute, and sell this software and its
-documentation for any purpose is hereby granted without fee, provided that
-the above copyright notice appear in all copies and that both that
-copyright notice and this permission notice appear in supporting
-documentation.
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
-AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
-CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-Except as contained in this notice, the name of The Open Group shall not be
-used in advertising or otherwise to promote the sale, use or other dealings
-in this Software without prior written authorization from The Open Group.
-
-*/
-/* $XFree86: xc/lib/Xmu/ShapeWidg.c,v 1.7 2001/01/17 19:42:56 dawes Exp $ */
-
-#ifdef HAVE_CONFIG_H
-#include <config.h>
-#endif
-#include <X11/IntrinsicP.h>
-#include <X11/extensions/shape.h>
-#include "Converters.h"
-#include "Drawing.h"
-#include "Misc.h"
-
-/*
- * Prototypes
- */
-static void ShapeEllipseOrRoundedRectangle(Widget, Bool, int, int);
-static void ShapeError(Widget);
-static void ShapeOval(Widget);
-static void ShapeRectangle(Widget);
-
-/*
- * Implementation
- */
-Boolean
-XmuReshapeWidget(Widget w, int shape_style,
- int corner_width, int corner_height)
-{
- switch (shape_style)
- {
- case XmuShapeRectangle:
- ShapeRectangle(w);
- break;
- case XmuShapeOval:
- ShapeOval(w);
- break;
- case XmuShapeEllipse:
- case XmuShapeRoundedRectangle:
- ShapeEllipseOrRoundedRectangle(w, shape_style == XmuShapeEllipse,
- corner_width, corner_height);
- break;
- default:
- ShapeError(w);
- return (False);
- }
- return (True);
-}
-
-static void
-ShapeError(Widget w)
-{
- String params[1];
- Cardinal num_params = 1;
-
- params[0] = XtName(w);
- XtAppWarningMsg(XtWidgetToApplicationContext(w),
- "shapeUnknown", "xmuReshapeWidget", "XmuLibrary",
- "Unsupported shape style for Command widget \"%s\"",
- params, &num_params);
-}
-
-static void
-ShapeRectangle(Widget w)
-{
- XShapeCombineMask(XtDisplay(w), XtWindow(w),
- ShapeBounding, 0, 0, None, ShapeSet);
- XShapeCombineMask(XtDisplay(w), XtWindow(w),
- ShapeClip, 0, 0, None, ShapeSet);
-}
-
-/*
- * Function:
- * ShapeOval
- *
- * Parameters:
- * w - widget to be reshaped
- *
- * Description:
- * Reshapes a widget to a oval format.
- *
- * Notes:
- * X11R6.3 behaviour changed. Now if the height is larger than the
- * width, this function inverts the sense of the oval, instead of
- * fallbacking to ellipse.
- */
-static void
-ShapeOval(Widget w)
-{
- Display *dpy = XtDisplay(w);
- int width = w->core.width;
- int height = w->core.height;
- Pixmap p;
- XGCValues values;
- GC gc;
- int rad;
-
- if (width < 3 || height < 3)
- return;
- width += w->core.border_width << 1;
- height += w->core.border_width << 1;
-
- p = XCreatePixmap(dpy, XtWindow(w), width, height, 1);
- values.foreground = 0;
- values.background = 1;
- values.cap_style = CapRound;
- values.line_width = Min(width, height);
- gc = XCreateGC(dpy, p,
- GCForeground | GCBackground | GCLineWidth | GCCapStyle,
- &values);
- XFillRectangle(dpy, p, gc, 0, 0, width, height);
- XSetForeground(dpy, gc, 1);
-
- if (width < height)
- {
- rad = width >> 1;
- XDrawLine(dpy, p, gc, rad, rad, rad, height - rad - 1);
- }
- else
- {
- rad = height >> 1;
- XDrawLine(dpy, p, gc, rad, rad, width - rad - 1, rad);
- }
- XShapeCombineMask(dpy, XtWindow(w), ShapeBounding,
- -(int)w->core.border_width, -(int)w->core.border_width,
- p, ShapeSet);
- if (w->core.border_width)
- {
- XSetForeground(dpy, gc, 0);
- XFillRectangle(dpy, p, gc, 0, 0, width, height);
- values.line_width = Min(w->core.width, w->core.height);
- values.foreground = 1;
- XChangeGC(dpy, gc, GCLineWidth | GCForeground, &values);
- if (w->core.width < w->core.height)
- {
- rad = w->core.width >> 1;
- XDrawLine(dpy, p, gc, rad, rad, rad, w->core.height - rad - 1);
- }
- else
- {
- rad = w->core.height >> 1;
- XDrawLine(dpy, p, gc, rad, rad, w->core.width - rad - 1, rad);
- }
- XShapeCombineMask(dpy, XtWindow(w), ShapeClip, 0, 0, p, ShapeSet);
- }
- else
- XShapeCombineMask(XtDisplay(w), XtWindow(w),
- ShapeClip, 0, 0, None, ShapeSet);
-
- XFreePixmap(dpy, p);
- XFreeGC(dpy, gc);
-}
-
-/*
- * Function:
- * ShapeEllipseOrRoundedRectangle
- *
- * Parameters:
- * w - widget to be reshaped
- * ellipse - True if shape to ellise, rounded rectangle otherwise
- * ew - horizontal radius of rounded rectangle
- * eh - vertical radius of rouded rectangle
- *
- * Description:
- * Based on the ellipse parameter, gives the widget a elliptical
- * shape, or rounded rectangle shape.
- *
- * Notes:
- * The GC is created with a line width of 2, what seens to draw the
- * widget border correctly, if the width - height is not proportional.
- */
-static void
-ShapeEllipseOrRoundedRectangle(Widget w, Bool ellipse, int ew, int eh)
-{
- Display *dpy = XtDisplay(w);
- unsigned width = w->core.width;
- unsigned height = w->core.height;
- Pixmap p;
- XGCValues values;
- GC gc;
- unsigned long mask;
-
- if (width < 3 || width < 3)
- return;
- width += w->core.border_width << 1;
- height += w->core.border_width << 1;
-
- mask = GCForeground | GCLineWidth;
- p = XCreatePixmap(dpy, XtWindow(w), width, height, 1);
-
- values.foreground = 0;
- values.line_width = 2;
-
- gc = XCreateGC(dpy, p, mask, &values);
- XFillRectangle(dpy, p, gc, 0, 0, width, height);
- XSetForeground(dpy, gc, 1);
- if (!ellipse)
- XmuFillRoundedRectangle(dpy, p, gc, 1, 1, width - 2, height - 2, ew, eh);
- else
- {
- XDrawArc(dpy, p, gc, 1, 1, width - 2, height - 2, 0, 360 * 64);
- XFillArc(dpy, p, gc, 2, 2, width - 4, height - 4, 0, 360 * 64);
- }
- XShapeCombineMask(dpy, XtWindow(w), ShapeBounding,
- -(int)w->core.border_width, -(int)w->core.border_width,
- p, ShapeSet);
- if (w->core.border_width)
- {
- XSetForeground(dpy, gc, 0);
- XFillRectangle(dpy, p, gc, 0, 0, width, height);
- XSetForeground(dpy, gc, 1);
- if (!ellipse)
- XmuFillRoundedRectangle(dpy, p, gc, 1, 1,
- w->core.width - 2, w->core.height - 2,
- ew, eh);
- else
- XFillArc(dpy, p, gc, 0, 0, w->core.width, w->core.height,
- 0, 360 * 64);
- XShapeCombineMask(dpy, XtWindow(w), ShapeClip, 0, 0, p, ShapeSet);
- }
- else
- XShapeCombineMask(XtDisplay(w), XtWindow(w),
- ShapeClip, 0, 0, None, ShapeSet);
-
- XFreePixmap(dpy, p);
- XFreeGC(dpy, gc);
-}
diff --git a/nx-X11/lib/Xmu/StdCmap.c b/nx-X11/lib/Xmu/StdCmap.c
deleted file mode 100644
index ffce489ce..000000000
--- a/nx-X11/lib/Xmu/StdCmap.c
+++ /dev/null
@@ -1,236 +0,0 @@
-/* $Xorg: StdCmap.c,v 1.4 2001/02/09 02:03:53 xorgcvs Exp $ */
-
-/*
-
-Copyright 1989, 1998 The Open Group
-
-Permission to use, copy, modify, distribute, and sell this software and its
-documentation for any purpose is hereby granted without fee, provided that
-the above copyright notice appear in all copies and that both that
-copyright notice and this permission notice appear in supporting
-documentation.
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
-AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
-CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-Except as contained in this notice, the name of The Open Group shall not be
-used in advertising or otherwise to promote the sale, use or other dealings
-in this Software without prior written authorization from The Open Group.
-
-*/
-/* $XFree86: xc/lib/Xmu/StdCmap.c,v 1.5 2001/01/17 19:42:56 dawes Exp $ */
-
-/*
- * Author: Donna Converse, MIT X Consortium
- */
-
-#ifdef HAVE_CONFIG_H
-#include <config.h>
-#endif
-#include <stdio.h>
-#include <X11/Xlib.h>
-#include <X11/Xatom.h>
-#include <X11/Xutil.h>
-#include <X11/Xmu/StdCmap.h>
-
-#define lowbit(x) ((x) & (~(x) + 1))
-
-/*
- * Prototypes
- */
-/* argument restrictions */
-static Status valid_args(XVisualInfo*, unsigned long, unsigned long,
- unsigned long, Atom);
-
-/*
- * To create any one standard colormap, use XmuStandardColormap().
- *
- * Create a standard colormap for the given screen, visualid, and visual
- * depth, with the given red, green, and blue maximum values, with the
- * given standard property name. Return a pointer to an XStandardColormap
- * structure which describes the newly created colormap, upon success.
- * Upon failure, return NULL.
- *
- * XmuStandardColormap() calls XmuCreateColormap() to create the map.
- *
- * Resources created by this function are not made permanent; that is the
- * caller's responsibility.
- */
-
-XStandardColormap *
-XmuStandardColormap(Display *dpy, int screen, VisualID visualid,
- unsigned int depth, Atom property, Colormap cmap,
- unsigned long red_max, unsigned long green_max,
- unsigned long blue_max)
- /*
- * dpy - specifies X server connection
- * screen - specifies display screen
- * visualid - identifies the visual type
- * depth - identifies the visual type
- * property - a standard colormap property
- * cmap - specifies colormap ID or None
- * red_max, green_max, blue_max - allocations
- */
-{
- XStandardColormap *stdcmap;
- Status status;
- XVisualInfo vinfo_template, *vinfo;
- long vinfo_mask;
- int n;
-
- /* Match the required visual information to an actual visual */
- vinfo_template.visualid = visualid;
- vinfo_template.screen = screen;
- vinfo_template.depth = depth;
- vinfo_mask = VisualIDMask | VisualScreenMask | VisualDepthMask;
- if ((vinfo = XGetVisualInfo(dpy, vinfo_mask, &vinfo_template, &n)) == NULL)
- return 0;
-
- /* Check the validity of the combination of visual characteristics,
- * allocation, and colormap property. Create an XStandardColormap
- * structure.
- */
-
- if (! valid_args(vinfo, red_max, green_max, blue_max, property)
- || ((stdcmap = XAllocStandardColormap()) == NULL)) {
- XFree((char *) vinfo);
- return 0;
- }
-
- /* Fill in the XStandardColormap structure */
-
- if (cmap == DefaultColormap(dpy, screen)) {
- /* Allocating out of the default map, cannot use XFreeColormap() */
- Window win = XCreateWindow(dpy, RootWindow(dpy, screen), 1, 1, 1, 1,
- 0, 0, InputOnly, vinfo->visual,
- (unsigned long) 0,
- (XSetWindowAttributes *)NULL);
- stdcmap->killid = (XID) XCreatePixmap(dpy, win, 1, 1, depth);
- XDestroyWindow(dpy, win);
- stdcmap->colormap = cmap;
- } else {
- stdcmap->killid = ReleaseByFreeingColormap;
- stdcmap->colormap = XCreateColormap(dpy, RootWindow(dpy, screen),
- vinfo->visual, AllocNone);
- }
- stdcmap->red_max = red_max;
- stdcmap->green_max = green_max;
- stdcmap->blue_max = blue_max;
- if (property == XA_RGB_GRAY_MAP)
- stdcmap->red_mult = stdcmap->green_mult = stdcmap->blue_mult = 1;
- else if (vinfo->class == TrueColor || vinfo->class == DirectColor) {
- stdcmap->red_mult = lowbit(vinfo->red_mask);
- stdcmap->green_mult = lowbit(vinfo->green_mask);
- stdcmap->blue_mult = lowbit(vinfo->blue_mask);
- } else {
- stdcmap->red_mult = (red_max > 0)
- ? (green_max + 1) * (blue_max + 1) : 0;
- stdcmap->green_mult = (green_max > 0) ? blue_max + 1 : 0;
- stdcmap->blue_mult = (blue_max > 0) ? 1 : 0;
- }
- stdcmap->base_pixel = 0; /* base pixel may change */
- stdcmap->visualid = vinfo->visualid;
-
- /* Make the colormap */
-
- status = XmuCreateColormap(dpy, stdcmap);
-
- /* Clean up */
-
- XFree((char *) vinfo);
- if (!status) {
-
- /* Free the colormap or the pixmap, if we created one */
- if (stdcmap->killid == ReleaseByFreeingColormap)
- XFreeColormap(dpy, stdcmap->colormap);
- else if (stdcmap->killid != None)
- XFreePixmap(dpy, stdcmap->killid);
-
- XFree((char *) stdcmap);
- return (XStandardColormap *) NULL;
- }
- return stdcmap;
-}
-
-/****************************************************************************/
-static Status
-valid_args(XVisualInfo *vinfo, unsigned long red_max, unsigned long green_max,
- unsigned long blue_max, Atom property)
- /*
- * vinfo - specifies visual
- * red_max, green_max, blue_max - specifies alloc
- * property - specifies property name
- */
-{
- unsigned long ncolors; /* number of colors requested */
-
- /* Determine that the number of colors requested is <= map size */
-
- if ((vinfo->class == DirectColor) || (vinfo->class == TrueColor)) {
- unsigned long mask;
-
- mask = vinfo->red_mask;
- while (!(mask & 1))
- mask >>= 1;
- if (red_max > mask)
- return 0;
- mask = vinfo->green_mask;
- while (!(mask & 1))
- mask >>= 1;
- if (green_max > mask)
- return 0;
- mask = vinfo->blue_mask;
- while (!(mask & 1))
- mask >>= 1;
- if (blue_max > mask)
- return 0;
- } else if (property == XA_RGB_GRAY_MAP) {
- ncolors = red_max + green_max + blue_max + 1;
- if (ncolors > vinfo->colormap_size)
- return 0;
- } else {
- ncolors = (red_max + 1) * (green_max + 1) * (blue_max + 1);
- if (ncolors > vinfo->colormap_size)
- return 0;
- }
-
- /* Determine that the allocation and visual make sense for the property */
-
- switch (property)
- {
- case XA_RGB_DEFAULT_MAP:
- if (red_max == 0 || green_max == 0 || blue_max == 0)
- return 0;
- break;
- case XA_RGB_RED_MAP:
- if (red_max == 0)
- return 0;
- break;
- case XA_RGB_GREEN_MAP:
- if (green_max == 0)
- return 0;
- break;
- case XA_RGB_BLUE_MAP:
- if (blue_max == 0)
- return 0;
- break;
- case XA_RGB_BEST_MAP:
- if (red_max == 0 || green_max == 0 || blue_max == 0)
- return 0;
- break;
- case XA_RGB_GRAY_MAP:
- if (red_max == 0 || blue_max == 0 || green_max == 0)
- return 0;
- break;
- default:
- return 0;
- }
- return 1;
-}
diff --git a/nx-X11/lib/Xmu/StdCmap.h b/nx-X11/lib/Xmu/StdCmap.h
deleted file mode 100644
index b268d073c..000000000
--- a/nx-X11/lib/Xmu/StdCmap.h
+++ /dev/null
@@ -1,119 +0,0 @@
-/* $Xorg: StdCmap.h,v 1.5 2001/02/09 02:03:53 xorgcvs Exp $ */
-
-/*
-
-Copyright 1988, 1998 The Open Group
-
-Permission to use, copy, modify, distribute, and sell this software and its
-documentation for any purpose is hereby granted without fee, provided that
-the above copyright notice appear in all copies and that both that
-copyright notice and this permission notice appear in supporting
-documentation.
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
-AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
-CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-Except as contained in this notice, the name of The Open Group shall not be
-used in advertising or otherwise to promote the sale, use or other dealings
-in this Software without prior written authorization from The Open Group.
-
-*/
-/* $XFree86: xc/lib/Xmu/StdCmap.h,v 1.8 2001/01/23 17:38:14 keithp Exp $ */
-
-/*
- * The interfaces described by this header file are for miscellaneous utilities
- * and are not part of the Xlib standard.
- */
-
-#ifndef _XMU_STDCMAP_H_
-#define _XMU_STDCMAP_H_
-
-#include <X11/Xfuncproto.h>
-
-_XFUNCPROTOBEGIN
-
-Status XmuAllStandardColormaps
-(
- Display *dpy
- );
-
-Status XmuCreateColormap
-(
- Display *dpy,
- XStandardColormap *colormap
- );
-
-void XmuDeleteStandardColormap
-(
- Display *dpy,
- int screen,
- Atom property
- );
-
-Status XmuGetColormapAllocation
-(
- XVisualInfo *vinfo,
- Atom property,
- unsigned long *red_max_return,
- unsigned long *green_max_return,
- unsigned long *blue_max_return
- );
-
-Status XmuLookupStandardColormap
-(
- Display *dpy,
- int screen,
- VisualID visualid,
- unsigned int depth,
- Atom property,
- Bool replace,
- Bool retain
- );
-
-XStandardColormap *XmuStandardColormap
-(
- Display *dpy,
- int screen,
- VisualID visualid,
- unsigned int depth,
- Atom property,
- Colormap cmap,
- unsigned long red_max,
- unsigned long green_max,
- unsigned long blue_max
- );
-
-Status XmuVisualStandardColormaps
-(
- Display *dpy,
- int screen,
- VisualID visualid,
- unsigned int depth,
- Bool replace,
- Bool retain
- );
-
-Bool XmuDistinguishableColors
-(
- XColor *colors,
- int count
- );
-
-Bool XmuDistinguishablePixels
-(
- Display *dpy,
- Colormap cmap,
- unsigned long *pixels,
- int count
- );
-
-_XFUNCPROTOEND
-
-#endif /* _XMU_STDCMAP_H_ */
diff --git a/nx-X11/lib/Xmu/StdSel.h b/nx-X11/lib/Xmu/StdSel.h
deleted file mode 100644
index f7c9452de..000000000
--- a/nx-X11/lib/Xmu/StdSel.h
+++ /dev/null
@@ -1,57 +0,0 @@
-/* $Xorg: StdSel.h,v 1.5 2001/02/09 02:03:53 xorgcvs Exp $ */
-
-/*
-
-Copyright 1988, 1998 The Open Group
-
-Permission to use, copy, modify, distribute, and sell this software and its
-documentation for any purpose is hereby granted without fee, provided that
-the above copyright notice appear in all copies and that both that
-copyright notice and this permission notice appear in supporting
-documentation.
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
-AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
-CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-Except as contained in this notice, the name of The Open Group shall not be
-used in advertising or otherwise to promote the sale, use or other dealings
-in this Software without prior written authorization from The Open Group.
-
-*/
-/* $XFree86: xc/lib/Xmu/StdSel.h,v 1.7 2001/01/17 19:42:56 dawes Exp $ */
-
-/*
- * The interfaces described by this header file are for miscellaneous utilities
- * and are not part of the Xlib standard.
- */
-
-#ifndef _XMU_SELECTION_H_
-#define _XMU_SELECTION_H_
-
-#include <X11/Intrinsic.h>
-#include <X11/Xfuncproto.h>
-
-_XFUNCPROTOBEGIN
-
-Boolean XmuConvertStandardSelection
-(
- Widget w,
- Time timev,
- Atom *selection,
- Atom *target,
- Atom *type_return,
- XPointer *value_return,
- unsigned long *length_return,
- int *format_return
- );
-
-_XFUNCPROTOEND
-
-#endif /* _XMU_SELECTION_H_ */
diff --git a/nx-X11/lib/Xmu/StrToBS.c b/nx-X11/lib/Xmu/StrToBS.c
deleted file mode 100644
index 79fbedda6..000000000
--- a/nx-X11/lib/Xmu/StrToBS.c
+++ /dev/null
@@ -1,149 +0,0 @@
-/* $Xorg: StrToBS.c,v 1.4 2001/02/09 02:03:53 xorgcvs Exp $ */
-
-/*
-
-Copyright 1988, 1998 The Open Group
-
-Permission to use, copy, modify, distribute, and sell this software and its
-documentation for any purpose is hereby granted without fee, provided that
-the above copyright notice appear in all copies and that both that
-copyright notice and this permission notice appear in supporting
-documentation.
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
-AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
-CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-Except as contained in this notice, the name of The Open Group shall not be
-used in advertising or otherwise to promote the sale, use or other dealings
-in this Software without prior written authorization from The Open Group.
-
-*/
-
-/* $XFree86: xc/lib/Xmu/StrToBS.c,v 1.6 2001/01/17 19:42:56 dawes Exp $ */
-
-#ifdef HAVE_CONFIG_H
-#include <config.h>
-#endif
-#include <X11/Intrinsic.h>
-#include "Converters.h"
-#include "CharSet.h"
-
-/*
- * Prototypes
- */
-static void InitializeQuarks(void);
-
-/*
- * Initialization
- */
-static XrmQuark QnotUseful, QwhenMapped, Qalways, Qdefault;
-static Boolean haveQuarks;
-
-/*
- * Implementation
- */
-static void
-InitializeQuarks(void)
-{
- if (!haveQuarks)
- {
- char name[11];
-
- XmuNCopyISOLatin1Lowered(name, XtEnotUseful, sizeof(name));
- QnotUseful = XrmStringToQuark(name);
- XmuNCopyISOLatin1Lowered(name, XtEwhenMapped, sizeof(name));
- QwhenMapped = XrmStringToQuark(name);
- XmuNCopyISOLatin1Lowered(name, XtEalways, sizeof(name));
- Qalways = XrmStringToQuark(name);
- XmuNCopyISOLatin1Lowered(name, XtEdefault, sizeof(name));
- Qdefault = XrmStringToQuark(name);
- haveQuarks = True;
- }
-}
-
-/*ARGSUSED*/
-void
-XmuCvtStringToBackingStore(XrmValue *args, Cardinal *num_args,
- XrmValuePtr fromVal, XrmValuePtr toVal)
-{
- XrmQuark q;
- char name[11];
- static int backingStoreType;
-
- if (*num_args != 0)
- XtWarning("String to BackingStore conversion needs no extra arguments");
-
- InitializeQuarks();
- XmuNCopyISOLatin1Lowered(name, (char *)fromVal->addr, sizeof(name));
-
- q = XrmStringToQuark (name);
- if (q == QnotUseful)
- backingStoreType = NotUseful;
- else if (q == QwhenMapped)
- backingStoreType = WhenMapped;
- else if (q == Qalways)
- backingStoreType = Always;
- else if (q == Qdefault)
- backingStoreType = Always + WhenMapped + NotUseful;
- else
- {
- XtStringConversionWarning((char *)fromVal->addr, XtRBackingStore);
- return;
- }
- toVal->size = sizeof(int);
- toVal->addr = (XPointer)&backingStoreType;
-}
-
-/*ARGSUSED*/
-Boolean
-XmuCvtBackingStoreToString(Display *dpy, XrmValuePtr args, Cardinal *num_args,
- XrmValuePtr fromVal, XrmValuePtr toVal,
- XtPointer *data)
-{
- static String buffer;
- Cardinal size;
-
- switch (*(int *)fromVal->addr)
- {
- case NotUseful:
- buffer = XtEnotUseful;
- break;
- case WhenMapped:
- buffer = XtEwhenMapped;
- break;
- case Always:
- buffer = XtEalways;
- break;
- case (Always + WhenMapped + NotUseful):
- buffer = XtEdefault;
- break;
- default:
- XtWarning("Cannot convert BackingStore to String");
- toVal->addr = NULL;
- toVal->size = 0;
- return (False);
- }
-
- size = strlen(buffer) + 1;
- if (toVal->addr != NULL)
- {
- if (toVal->size < size)
- {
- toVal->size = size;
- return (False);
- }
- strcpy((char *)toVal->addr, buffer);
- }
- else
- toVal->addr = (XPointer)buffer;
- toVal->size = sizeof(String);
-
- return (True);
-}
diff --git a/nx-X11/lib/Xmu/StrToBmap.c b/nx-X11/lib/Xmu/StrToBmap.c
deleted file mode 100644
index f46a99a1a..000000000
--- a/nx-X11/lib/Xmu/StrToBmap.c
+++ /dev/null
@@ -1,150 +0,0 @@
-/* $Xorg: StrToBmap.c,v 1.4 2001/02/09 02:03:53 xorgcvs Exp $ */
-
-/*
-
-Copyright 1987, 1988, 1998 The Open Group
-
-Permission to use, copy, modify, distribute, and sell this software and its
-documentation for any purpose is hereby granted without fee, provided that
-the above copyright notice appear in all copies and that both that
-copyright notice and this permission notice appear in supporting
-documentation.
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
-AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
-CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-Except as contained in this notice, the name of The Open Group shall not be
-used in advertising or otherwise to promote the sale, use or other dealings
-in this Software without prior written authorization from The Open Group.
-
-*/
-
-/***********************************************************
-
-Copyright 1987, 1988 by Digital Equipment Corporation, Maynard, Massachusetts.
-
- All Rights Reserved
-
-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 not be
-used in advertising or publicity pertaining to distribution of the
-software without specific, written prior permission.
-
-DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
-ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
-DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
-ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
-WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
-ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
-SOFTWARE.
-
-******************************************************************/
-/* $XFree86: xc/lib/Xmu/StrToBmap.c,v 1.5 2001/01/17 19:42:57 dawes Exp $ */
-
-#ifdef HAVE_CONFIG_H
-#include <config.h>
-#endif
-#include <X11/Intrinsic.h>
-#include <X11/StringDefs.h>
-#include <X11/Xmu/Converters.h>
-#include <X11/Xmu/Drawing.h>
-
-
-/*
- * XmuConvertStringToBitmap:
- *
- * creates a depth-1 Pixmap suitable for window manager icons.
- * "string" represents a bitmap(1) filename which may be absolute,
- * or relative to the global resource bitmapFilePath, class
- * BitmapFilePath. If the resource is not defined, the default
- * value is the build symbol BITMAPDIR.
- *
- * shares lots of code with XmuConvertStringToCursor.
- *
- * To use, include the following in your ClassInitialize procedure:
-
-static XtConvertArgRec screenConvertArg[] = {
- {XtBaseOffset, (XtPointer) XtOffset(Widget, core.screen), sizeof(Screen *)}
-};
-
- XtAddConverter("String", "Bitmap", XmuCvtStringToBitmap,
- screenConvertArg, XtNumber(screenConvertArg));
- *
- */
-
-#define done(address, type) \
- { (*toVal).size = sizeof(type); (*toVal).addr = (XPointer) address; }
-
-
-/*ARGSUSED*/
-void
-XmuCvtStringToBitmap(XrmValuePtr args, Cardinal *num_args,
- XrmValuePtr fromVal, XrmValuePtr toVal)
-{
- static Pixmap pixmap; /* static for cvt magic */
- char *name = (char *)fromVal->addr;
- Screen *screen;
- Display *dpy;
- XrmDatabase db;
- String fn;
- unsigned int width, height;
- int xhot, yhot;
- unsigned char *data;
-
- if (*num_args != 1)
- XtErrorMsg("wrongParameters","cvtStringToBitmap","XtToolkitError",
- "String to pixmap conversion needs screen argument",
- (String *)NULL, (Cardinal *)NULL);
-
- if (strcmp(name, "None") == 0) {
- pixmap = None;
- done(&pixmap, Pixmap);
- return;
- }
-
- if (strcmp(name, "ParentRelative") == 0) {
- pixmap = ParentRelative;
- done(&pixmap, Pixmap);
- return;
- }
-
- screen = *((Screen **) args[0].addr);
- pixmap = XmuLocateBitmapFile (screen, name,
- NULL, 0, NULL, NULL, NULL, NULL);
- if (pixmap == None) {
- dpy = DisplayOfScreen(screen);
- db = XrmGetDatabase(dpy);
- XrmSetDatabase(dpy, XtScreenDatabase(screen));
- fn = XtResolvePathname(dpy, "bitmaps", name, "", NULL, NULL, 0, NULL);
- if (!fn)
- fn = XtResolvePathname(dpy, "", name, ".xbm", NULL, NULL, 0, NULL);
- XrmSetDatabase(dpy, db);
- if (fn &&
- XmuReadBitmapDataFromFile (fn, &width, &height, &data,
- &xhot, &yhot) == BitmapSuccess) {
- pixmap = XCreatePixmapFromBitmapData (dpy,
- RootWindowOfScreen(screen),
- (char *) data, width, height,
- 1, 0, 1);
- XFree ((char *)data);
- }
- }
-
- if (pixmap != None) {
- done (&pixmap, Pixmap);
- } else {
- XtStringConversionWarning (name, "Pixmap");
- return;
- }
-}
-
diff --git a/nx-X11/lib/Xmu/StrToCurs.c b/nx-X11/lib/Xmu/StrToCurs.c
deleted file mode 100644
index 7f13c0d4e..000000000
--- a/nx-X11/lib/Xmu/StrToCurs.c
+++ /dev/null
@@ -1,351 +0,0 @@
-/* $Xorg: StrToCurs.c,v 1.4 2001/02/09 02:03:53 xorgcvs Exp $ */
-
-/*
-
-Copyright 1987, 1988, 1998 The Open Group
-
-Permission to use, copy, modify, distribute, and sell this software and its
-documentation for any purpose is hereby granted without fee, provided that
-the above copyright notice appear in all copies and that both that
-copyright notice and this permission notice appear in supporting
-documentation.
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
-AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
-CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-Except as contained in this notice, the name of The Open Group shall not be
-used in advertising or otherwise to promote the sale, use or other dealings
-in this Software without prior written authorization from The Open Group.
-
-*/
-
-/***********************************************************
-
-Copyright 1987, 1988 by Digital Equipment Corporation, Maynard, Massachusetts.
-
- All Rights Reserved
-
-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 not be
-used in advertising or publicity pertaining to distribution of the
-software without specific, written prior permission.
-
-DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
-ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
-DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
-ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
-WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
-ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
-SOFTWARE.
-
-******************************************************************/
-
-/* $XFree86: xc/lib/Xmu/StrToCurs.c,v 1.11 2002/09/19 13:21:58 tsi Exp $ */
-
-#ifdef HAVE_CONFIG_H
-#include <config.h>
-#endif
-#include <X11/Intrinsic.h>
-#include <X11/StringDefs.h>
-#include <X11/Xmu/Converters.h>
-#include <X11/Xmu/Drawing.h>
-#include <X11/Xmu/CurUtil.h>
-#include <X11/Xmu/CharSet.h>
-
-#ifndef X_NOT_POSIX
-#include <stdlib.h>
-#ifdef _POSIX_SOURCE
-#include <limits.h>
-#else
-#define _POSIX_SOURCE
-#include <limits.h>
-#undef _POSIX_SOURCE
-#endif
-#endif /* X_NOT_POSIX */
-#ifndef PATH_MAX
-#ifdef WIN32
-#define PATH_MAX 512
-#else
-#include <sys/param.h>
-#endif
-#ifndef PATH_MAX
-#ifdef MAXPATHLEN
-#define PATH_MAX MAXPATHLEN
-#else
-#define PATH_MAX 1024
-#endif
-#endif
-#endif /* PATH_MAX */
-
-/* Kludge source to avoid encountering broken shared library linkers
- which insist on resolving references unused by the application,
- and broken object file formats that don't correctly distinguish
- references to procedures from references to data.
- */
-#if defined(SUNSHLIB) || defined(SVR4)
-#define XMU_KLUDGE
-#endif
-
-/*
- * XmuConvertStringToCursor:
- *
- * allows String to specify a standard cursor name (from cursorfont.h), a
- * font name and glyph index of the form "FONT fontname index [[font] index]",
- * or a bitmap file name (absolute, or relative to the global resource
- * bitmapFilePath, class BitmapFilePath). If the resource is not
- * defined, the default value is the build symbol BITMAPDIR.
- *
- * shares lots of code with XmuCvtStringToPixmap, but unfortunately
- * can't use it as the hotspot info is lost.
- *
- * To use, include the following in your ClassInitialize procedure:
-
-static XtConvertArgRec screenConvertArg[] = {
- {XtBaseOffset, (XtPointer) XtOffsetOf(WidgetRec, core.screen),
- sizeof(Screen *)}
-};
-
- XtAddConverter(XtRString, XtRCursor, XmuCvtStringToCursor,
- screenConvertArg, XtNumber(screenConvertArg));
- *
- */
-
-#define done(address, type) \
- { (*toVal).size = sizeof(type); (*toVal).addr = (XPointer) address; }
-
-#define FONTSPECIFIER "FONT "
-
-/*ARGSUSED*/
-void
-XmuCvtStringToCursor(XrmValuePtr args, Cardinal *num_args,
- XrmValuePtr fromVal, XrmValuePtr toVal)
-{
- static Cursor cursor; /* static for cvt magic */
- char *name = (char *)fromVal->addr;
- Screen *screen;
- register int i;
- char maskname[PATH_MAX];
- Pixmap source, mask = 0;
- /* XXX - make fg/bg resources */
- static XColor bgColor = {0, 0xffff, 0xffff, 0xffff};
- static XColor fgColor = {0, 0, 0, 0};
- int xhot, yhot;
- int len;
-
-
- if (*num_args != 1)
- XtErrorMsg("wrongParameters","cvtStringToCursor","XtToolkitError",
- "String to cursor conversion needs screen argument",
- (String *)NULL, (Cardinal *)NULL);
-
- if (XmuCompareISOLatin1(name, "None") == 0)
- {
- cursor = None;
- done(&cursor, Cursor);
- return;
- }
-
- screen = *((Screen **) args[0].addr);
-
- if (0 == strncmp(FONTSPECIFIER, name, strlen(FONTSPECIFIER))) {
- char source_name[PATH_MAX], mask_name[PATH_MAX];
- int source_char, mask_char, fields;
- Font source_font, mask_font;
- XrmValue fromString, toFont;
- XrmValue cvtArg;
- Boolean success;
- Display *dpy = DisplayOfScreen(screen);
- char *strspec = NULL;
-#ifdef XMU_KLUDGE
- Cardinal num;
-#endif
-
- strspec = XtMalloc(strlen("FONT %s %d %s %d") + 21);
- sprintf(strspec, "FONT %%%lds %%d %%%lds %%d",
- (unsigned long)sizeof(source_name) - 1,
- (unsigned long)sizeof(mask_name) - 1);
- fields = sscanf(name, strspec,
- source_name, &source_char,
- mask_name, &mask_char);
- XtFree(strspec);
- if (fields < 2) {
- XtStringConversionWarning(name, XtRCursor);
- return;
- }
-
- fromString.addr = source_name;
- fromString.size = strlen(source_name) + 1;
- toFont.addr = (XPointer) &source_font;
- toFont.size = sizeof(Font);
- cvtArg.addr = (XPointer) &dpy;
- cvtArg.size = sizeof(Display *);
- /* XXX using display of screen argument as message display */
-#ifdef XMU_KLUDGE
- /* XXX Sacrifice caching */
- num = 1;
- success = XtCvtStringToFont(dpy, &cvtArg, &num, &fromString, &toFont,
- NULL);
-#else
- success = XtCallConverter(dpy, XtCvtStringToFont, &cvtArg,
- (Cardinal)1, &fromString, &toFont, NULL);
-#endif
- if (!success) {
- XtStringConversionWarning(name, XtRCursor);
- return;
- }
-
- switch (fields) {
- case 2: /* defaulted mask font & char */
- mask_font = source_font;
- mask_char = source_char;
- break;
-
- case 3: /* defaulted mask font */
- mask_font = source_font;
- mask_char = atoi(mask_name);
- break;
-
- case 4: /* specified mask font & char */
- fromString.addr = mask_name;
- fromString.size = strlen(mask_name) + 1;
- toFont.addr = (XPointer) &mask_font;
- toFont.size = sizeof(Font);
- /* XXX using display of screen argument as message display */
-#ifdef XMU_KLUDGE
- /* XXX Sacrifice caching */
- num = 1;
- success = XtCvtStringToFont(dpy, &cvtArg, &num, &fromString,
- &toFont, NULL);
-#else
- success = XtCallConverter(dpy, XtCvtStringToFont, &cvtArg,
- (Cardinal)1, &fromString, &toFont, NULL);
-#endif
- if (!success) {
- XtStringConversionWarning(name, XtRCursor);
- return;
- }
- }
-
- cursor = XCreateGlyphCursor( DisplayOfScreen(screen), source_font,
- mask_font, source_char, mask_char,
- &fgColor, &bgColor );
- done(&cursor, Cursor);
- return;
- }
-
- i = XmuCursorNameToIndex (name);
- if (i != -1) {
- cursor = XCreateFontCursor (DisplayOfScreen(screen), i);
- done(&cursor, Cursor);
- return;
- }
-
- if ((source = XmuLocateBitmapFile (screen, name,
- maskname, (sizeof maskname) - 4,
- NULL, NULL, &xhot, &yhot)) == None) {
- XtStringConversionWarning (name, XtRCursor);
- cursor = None;
- done(&cursor, Cursor);
- return;
- }
- len = strlen (maskname);
- for (i = 0; i < 2; i++) {
- strcpy (maskname + len, i == 0 ? "Mask" : "msk");
- if ((mask = XmuLocateBitmapFile (screen, maskname, NULL, 0,
- NULL, NULL, NULL, NULL)) != None)
- break;
- }
-
- cursor = XCreatePixmapCursor( DisplayOfScreen(screen), source, mask,
- &fgColor, &bgColor, xhot, yhot );
- XFreePixmap( DisplayOfScreen(screen), source );
- if (mask != None) XFreePixmap( DisplayOfScreen(screen), mask );
-
- done(&cursor, Cursor);
-}
-
-#define new_done(type, value) \
- { \
- if (toVal->addr != NULL) { \
- if (toVal->size < sizeof(type)) { \
- toVal->size = sizeof(type); \
- return False; \
- } \
- *(type*)(toVal->addr) = (value); \
- } \
- else { \
- static type static_val; \
- static_val = (value); \
- toVal->addr = (XPointer)&static_val; \
- } \
- toVal->size = sizeof(type); \
- return True; \
- }
-
-/* Function Name: XmuCvtStringToColorCursor
- * Description: Converts a string into a colored cursor.
- * Arguments: dpy
- * args - an argument list (see below).
- * num_args - number of elements in the argument list.
- * fromVal - value to convert from.
- * toVal - value to convert to.
- * data
- * Returns: True or False
- */
-
-/*ARGSUSED*/
-Boolean
-XmuCvtStringToColorCursor(Display *dpy, XrmValuePtr args, Cardinal *num_args,
- XrmValuePtr fromVal, XrmValuePtr toVal,
- XtPointer *converter_data)
-{
- Cursor cursor;
- Screen *screen;
- Pixel fg, bg;
- Colormap c_map;
- XColor colors[2];
- Cardinal number;
- XrmValue ret_val;
-
- if (*num_args != 4) {
- XtAppWarningMsg(XtDisplayToApplicationContext(dpy),
- "wrongParameters","cvtStringToColorCursor","XmuError",
- "String to color cursor conversion needs four arguments",
- (String *)NULL, (Cardinal *)NULL);
- return False;
- }
-
- screen = *((Screen **) args[0].addr);
- fg = *((Pixel *) args[1].addr);
- bg = *((Pixel *) args[2].addr);
- c_map = *((Colormap *) args[3].addr);
-
- number = 1;
- XmuCvtStringToCursor(args, &number, fromVal, &ret_val);
-
- cursor = *((Cursor *) ret_val.addr);
-
- if (cursor == None || (fg == BlackPixelOfScreen(screen)
- && bg == WhitePixelOfScreen(screen)))
- new_done(Cursor, cursor);
-
- colors[0].pixel = fg;
- colors[1].pixel = bg;
-
- XQueryColors (dpy, c_map, colors, 2);
- XRecolorCursor(dpy, cursor, colors, colors + 1);
- new_done(Cursor, cursor);
-}
-
-
-
diff --git a/nx-X11/lib/Xmu/StrToGrav.c b/nx-X11/lib/Xmu/StrToGrav.c
deleted file mode 100644
index a0c99687c..000000000
--- a/nx-X11/lib/Xmu/StrToGrav.c
+++ /dev/null
@@ -1,151 +0,0 @@
-/* $Xorg: StrToGrav.c,v 1.4 2001/02/09 02:03:53 xorgcvs Exp $ */
-
-/*
-
-Copyright 1989, 1998 The Open Group
-
-Permission to use, copy, modify, distribute, and sell this software and its
-documentation for any purpose is hereby granted without fee, provided that
-the above copyright notice appear in all copies and that both that
-copyright notice and this permission notice appear in supporting
-documentation.
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
-AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
-CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-Except as contained in this notice, the name of The Open Group shall not be
-used in advertising or otherwise to promote the sale, use or other dealings
-in this Software without prior written authorization from The Open Group.
-
-*/
-/* $XFree86: xc/lib/Xmu/StrToGrav.c,v 1.6 2001/01/17 19:42:57 dawes Exp $ */
-
-#ifdef HAVE_CONFIG_H
-#include <config.h>
-#endif
-#include <X11/Intrinsic.h>
-#include <X11/Xmu/Converters.h>
-#include <X11/Xmu/CharSet.h>
-
-#define done(address, type) \
-{ (*toVal).size = sizeof(type); (*toVal).addr = (XPointer) address; }
-
-/*
- * Initialization
- */
-static struct _namepair {
- XrmQuark quark;
- char *name;
- XtGravity gravity;
-} names[] = {
- { NULLQUARK, XtEForget, ForgetGravity },
- { NULLQUARK, XtENorthWest, NorthWestGravity },
- { NULLQUARK, XtENorth, NorthGravity },
- { NULLQUARK, XtENorthEast, NorthEastGravity },
- { NULLQUARK, XtEWest, WestGravity },
- { NULLQUARK, XtECenter, CenterGravity },
- { NULLQUARK, XtEEast, EastGravity },
- { NULLQUARK, XtESouthWest, SouthWestGravity },
- { NULLQUARK, XtESouth, SouthGravity },
- { NULLQUARK, XtESouthEast, SouthEastGravity },
- { NULLQUARK, XtEStatic, StaticGravity },
- { NULLQUARK, XtEUnmap, UnmapGravity },
- { NULLQUARK, XtEleft, WestGravity },
- { NULLQUARK, XtEtop, NorthGravity },
- { NULLQUARK, XtEright, EastGravity },
- { NULLQUARK, XtEbottom, SouthGravity },
- { NULLQUARK, NULL, ForgetGravity }
-};
-
-/*
- * This function is deprecated as of the addition of
- * XtCvtStringToGravity in R6
- */
-void
-XmuCvtStringToGravity(XrmValuePtr args, Cardinal *num_args,
- XrmValuePtr fromVal, XrmValuePtr toVal)
-{
- static Boolean haveQuarks = False;
- char name[10];
- XrmQuark q;
- struct _namepair *np;
-
- if (*num_args != 0)
- XtWarningMsg("wrongParameters","cvtStringToGravity","XtToolkitError",
- "String to Gravity conversion needs no extra arguments",
- (String *)NULL, (Cardinal *)NULL);
-
- if (!haveQuarks)
- {
- for (np = names; np->name; np++)
- np->quark = XrmPermStringToQuark(np->name);
- haveQuarks = True;
- }
-
- XmuNCopyISOLatin1Lowered(name, (char *)fromVal->addr, sizeof(name));
- q = XrmStringToQuark(name);
-
- for (np = names; np->name; np++)
- {
- if (np->quark == q)
- {
- done(&np->gravity, XtGravity);
- return;
- }
- }
-
- XtStringConversionWarning((char *)fromVal->addr, XtRGravity);
-}
-
-/*ARGSUSED*/
-Boolean
-XmuCvtGravityToString(Display *dpy, XrmValue *args, Cardinal *num_args,
- XrmValue *fromVal, XrmValue *toVal, XtPointer *data)
-{
- static char *buffer;
- Cardinal size;
- struct _namepair *np;
- XtGravity gravity;
-
- gravity = *(XtGravity *)fromVal->addr;
- buffer = NULL;
- for (np = names; np->name; np++)
- if (np->gravity == gravity)
- {
- buffer = np->name;
- break;
- }
-
- if (!buffer)
- {
- XtAppWarning(XtDisplayToApplicationContext(dpy),
- "Cannot convert Gravity to String");
- toVal->addr = NULL;
- toVal->size = 0;
-
- return (False);
- }
-
- size = strlen(buffer) + 1;
- if (toVal->addr != NULL)
- {
- if (toVal->size <= size)
- {
- toVal->size = size;
- return (False);
- }
- strcpy((char *)toVal->addr, buffer);
- }
- else
- toVal->addr = (XPointer)buffer;
- toVal->size = size;
-
- return (True);
-}
diff --git a/nx-X11/lib/Xmu/StrToJust.c b/nx-X11/lib/Xmu/StrToJust.c
deleted file mode 100644
index f3b4b7828..000000000
--- a/nx-X11/lib/Xmu/StrToJust.c
+++ /dev/null
@@ -1,140 +0,0 @@
-/* $Xorg: StrToJust.c,v 1.4 2001/02/09 02:03:53 xorgcvs Exp $ */
-
-/*
-
-Copyright 1988, 1998 The Open Group
-
-Permission to use, copy, modify, distribute, and sell this software and its
-documentation for any purpose is hereby granted without fee, provided that
-the above copyright notice appear in all copies and that both that
-copyright notice and this permission notice appear in supporting
-documentation.
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
-AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
-CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-Except as contained in this notice, the name of The Open Group shall not be
-used in advertising or otherwise to promote the sale, use or other dealings
-in this Software without prior written authorization from The Open Group.
-
-*/
-
-/* $XFree86: xc/lib/Xmu/StrToJust.c,v 1.6 2001/01/17 19:42:57 dawes Exp $ */
-
-#ifdef HAVE_CONFIG_H
-#include <config.h>
-#endif
-#include <string.h>
-#include <X11/Intrinsic.h>
-#include "Converters.h"
-#include "CharSet.h"
-
-/*
- * Prototypes
- */
-static void InitializeQuarks(void);
-
-/*
- * Initialization
- */
-static XrmQuark Qleft, Qcenter, Qright;
-static Boolean haveQuarks;
-
-/*
- * Implementation
- */
-static void
-InitializeQuarks(void)
-{
- if (!haveQuarks)
- {
- Qleft = XrmPermStringToQuark(XtEleft);
- Qcenter = XrmPermStringToQuark(XtEcenter);
- Qright = XrmPermStringToQuark(XtEright);
- haveQuarks = True;
- }
-}
-
-/*ARGSUSED*/
-void
-XmuCvtStringToJustify(XrmValuePtr args, Cardinal *num_args,
- XrmValuePtr fromVal, XrmValuePtr toVal)
-{
- static XtJustify e;
- XrmQuark q;
- char *s = (char *)fromVal->addr;
- char name[7];
-
- if (s == NULL)
- return;
-
- InitializeQuarks();
- XmuNCopyISOLatin1Lowered(name, s, sizeof(name));
-
- q = XrmStringToQuark(name);
-
- toVal->size = sizeof(XtJustify);
- toVal->addr = (XPointer)&e;
-
- if (q == Qleft)
- e = XtJustifyLeft;
- else if (q == Qcenter)
- e = XtJustifyCenter;
- else if (q == Qright)
- e = XtJustifyRight;
- else
- {
- toVal->addr = NULL;
- XtStringConversionWarning((char *)fromVal->addr, XtRJustify);
- }
-}
-
-/*ARGSUSED*/
-Boolean
-XmuCvtJustifyToString(Display *dpy, XrmValue* args, Cardinal *num_args,
- XrmValue *fromVal, XrmValue *toVal, XtPointer *data)
-{
- static String buffer;
- Cardinal size;
-
- switch (*(XtJustify *)fromVal->addr)
- {
- case XtJustifyLeft:
- buffer = XtEleft;
- break;
- case XtJustifyCenter:
- buffer = XtEcenter;
- break;
- case XtJustifyRight:
- buffer = XtEright;
- break;
- default:
- XtWarning("Cannot convert Justify to String");
- toVal->addr = NULL;
- toVal->size = 0;
- return (False);
- }
-
- size = strlen(buffer) + 1;
- if (toVal->addr != NULL)
- {
- if (toVal->size < size)
- {
- toVal->size = size;
- return (False);
- }
- strcpy((char *)toVal->addr, buffer);
- }
- else
- toVal->addr = (XPointer)buffer;
- toVal->size = sizeof(String);
-
- return (True);
-}
diff --git a/nx-X11/lib/Xmu/StrToLong.c b/nx-X11/lib/Xmu/StrToLong.c
deleted file mode 100644
index 6a7539aa9..000000000
--- a/nx-X11/lib/Xmu/StrToLong.c
+++ /dev/null
@@ -1,83 +0,0 @@
-/* $Xorg: StrToLong.c,v 1.4 2001/02/09 02:03:53 xorgcvs Exp $ */
-
-/*
-
-Copyright 1989, 1998 The Open Group
-
-Permission to use, copy, modify, distribute, and sell this software and its
-documentation for any purpose is hereby granted without fee, provided that
-the above copyright notice appear in all copies and that both that
-copyright notice and this permission notice appear in supporting
-documentation.
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
-AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
-CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-Except as contained in this notice, the name of The Open Group shall not be
-used in advertising or otherwise to promote the sale, use or other dealings
-in this Software without prior written authorization from The Open Group.
-
-*/
-/* $XFree86: xc/lib/Xmu/StrToLong.c,v 1.8 2001/08/23 00:03:21 dawes Exp $ */
-
-#ifdef HAVE_CONFIG_H
-#include <config.h>
-#endif
-#include <stdio.h>
-#include <X11/Intrinsic.h>
-#include <X11/Xmu/SysUtil.h>
-#include <X11/Xmu/Converters.h>
-
-void
-XmuCvtStringToLong(XrmValuePtr args, Cardinal *num_args,
- XrmValuePtr fromVal, XrmValuePtr toVal)
-{
- static long l;
-
- if (*num_args != 0)
- XtWarning("String to Long conversion needs no extra arguments");
- if (sscanf((char *)fromVal->addr, "%ld", &l) == 1)
- {
- toVal->size = sizeof(long);
- toVal->addr = (XPointer)&l;
- }
- else
- XtStringConversionWarning((char *)fromVal->addr, XtRLong);
-}
-
-/*ARGSUSED*/
-Boolean
-XmuCvtLongToString(Display *dpy, XrmValuePtr args, Cardinal *num_args,
- XrmValuePtr fromVal, XrmValuePtr toVal, XtPointer *data)
-{
- static char buffer[32];
- size_t size;
-
- if (*num_args != 0)
- XtWarning("Long to String conversion needs no extra arguments");
-
- XmuSnprintf(buffer, sizeof(buffer), "%ld", *(long *)fromVal->addr);
-
- size = strlen(buffer) + 1;
- if (toVal->addr != NULL)
- {
- if (toVal->size < size)
- {
- toVal->size = size;
- return (False);
- }
- strcpy((char *)toVal->addr, buffer);
- }
- else
- toVal->addr = (XPointer)buffer;
- toVal->size = sizeof(String);
-
- return (True);
-}
diff --git a/nx-X11/lib/Xmu/StrToOrnt.c b/nx-X11/lib/Xmu/StrToOrnt.c
deleted file mode 100644
index 209b13a19..000000000
--- a/nx-X11/lib/Xmu/StrToOrnt.c
+++ /dev/null
@@ -1,130 +0,0 @@
-/* $Xorg: StrToOrnt.c,v 1.4 2001/02/09 02:03:53 xorgcvs Exp $ */
-
-/*
-
-Copyright 1988, 1998 The Open Group
-
-Permission to use, copy, modify, distribute, and sell this software and its
-documentation for any purpose is hereby granted without fee, provided that
-the above copyright notice appear in all copies and that both that
-copyright notice and this permission notice appear in supporting
-documentation.
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
-AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
-CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-Except as contained in this notice, the name of The Open Group shall not be
-used in advertising or otherwise to promote the sale, use or other dealings
-in this Software without prior written authorization from The Open Group.
-
-*/
-
-/* $XFree86: xc/lib/Xmu/StrToOrnt.c,v 1.6 2001/01/17 19:42:57 dawes Exp $ */
-
-#ifdef HAVE_CONFIG_H
-#include <config.h>
-#endif
-#include <X11/Intrinsic.h>
-#include <X11/StringDefs.h>
-#include "Converters.h"
-#include "CharSet.h"
-
-/*
- * Prototypes
- */
-static void InitializeQuarks(void);
-
-/*
- * Initialization
- */
-static XrmQuark Qhorizontal, Qvertical;
-static Boolean haveQuarks;
-
-/*
- * Implementation
- */
-static void
-InitializeQuarks(void)
-{
- if (!haveQuarks)
- {
- Qhorizontal = XrmPermStringToQuark(XtEhorizontal);
- Qvertical = XrmPermStringToQuark(XtEvertical);
- haveQuarks = True;
- }
-}
-
-/*ARGSUSED*/
-void
-XmuCvtStringToOrientation(XrmValuePtr args, Cardinal *num_args,
- XrmValuePtr fromVal, XrmValuePtr toVal)
-{
- static XtOrientation orient;
- XrmQuark q;
- char name[11];
-
- InitializeQuarks();
- XmuNCopyISOLatin1Lowered(name, (char *)fromVal->addr, sizeof(name));
- q = XrmStringToQuark(name);
-
- toVal->size = sizeof(XtJustify);
- toVal->addr = (XPointer)&orient;
-
- if (q == Qhorizontal)
- orient = XtorientHorizontal;
- else if (q == Qvertical)
- orient = XtorientVertical;
- else
- {
- toVal->addr = NULL;
- XtStringConversionWarning((char *)fromVal->addr, XtROrientation);
- }
-}
-
-/*ARGSUSED*/
-Boolean
-XmuCvtOrientationToString(Display *dpy, XrmValuePtr args, Cardinal *num_args,
- XrmValuePtr fromVal, XrmValuePtr toVal,
- XtPointer *data)
-{
- static String buffer;
- Cardinal size;
-
- switch (*(XtOrientation *)fromVal->addr)
- {
- case XtorientVertical:
- buffer = XtEvertical;
- break;
- case XtorientHorizontal:
- buffer = XtEhorizontal;
- break;
- default:
- XtWarning("Cannot convert Orientation to String");
- toVal->addr = NULL;
- toVal->size = 0;
- return (False);
- }
-
- size = strlen(buffer) + 1;
- if (toVal->addr != NULL)
- {
- if (toVal->size < size)
- {
- toVal->size = size;
- return (False);
- }
- strcpy((char *)toVal->addr, buffer);
- }
- else
- toVal->addr = (XPointer)buffer;
- toVal->size = sizeof(String);
-
- return (True);
-}
diff --git a/nx-X11/lib/Xmu/StrToShap.c b/nx-X11/lib/Xmu/StrToShap.c
deleted file mode 100644
index 3f17c01e9..000000000
--- a/nx-X11/lib/Xmu/StrToShap.c
+++ /dev/null
@@ -1,125 +0,0 @@
-/* $Xorg: StrToShap.c,v 1.5 2001/02/09 02:03:53 xorgcvs Exp $ */
-
-/*
-
-Copyright 1988, 1998 The Open Group
-
-Permission to use, copy, modify, distribute, and sell this software and its
-documentation for any purpose is hereby granted without fee, provided that
-the above copyright notice appear in all copies and that both that
-copyright notice and this permission notice appear in supporting
-documentation.
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
-AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
-CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-Except as contained in this notice, the name of The Open Group shall not be
-used in advertising or otherwise to promote the sale, use or other dealings
-in this Software without prior written authorization from The Open Group.
-
-*/
-/* $XFree86: xc/lib/Xmu/StrToShap.c,v 1.6 2001/01/17 19:42:57 dawes Exp $ */
-
-#ifdef HAVE_CONFIG_H
-#include <config.h>
-#endif
-#include <string.h>
-#include <X11/Intrinsic.h>
-#include "Converters.h"
-#include "CharSet.h"
-
-/* ARGSUSED */
-#define done(type, value) \
- { \
- if (toVal->addr != NULL) { \
- if (toVal->size < sizeof(type)) { \
- toVal->size = sizeof(type); \
- return False; \
- } \
- *(type*)(toVal->addr) = (value); \
- } \
- else { \
- static type static_val; \
- static_val = (value); \
- toVal->addr = (XtPointer)&static_val; \
- } \
- toVal->size = sizeof(type); \
- return True; \
- }
-
-
-/*ARGSUSED*/
-Boolean
-XmuCvtStringToShapeStyle(Display *dpy, XrmValue *args, Cardinal *num_args,
- XrmValue *from, XrmValue *toVal, XtPointer *data)
-{
- String name = (String)from->addr;
-
- if (XmuCompareISOLatin1(name, XtERectangle) == 0)
- done(int, XmuShapeRectangle);
- if (XmuCompareISOLatin1(name, XtEOval) == 0)
- done(int, XmuShapeOval);
- if (XmuCompareISOLatin1(name, XtEEllipse) == 0)
- done(int, XmuShapeEllipse);
- if (XmuCompareISOLatin1(name, XtERoundedRectangle) == 0)
- done(int, XmuShapeRoundedRectangle);
-
- XtDisplayStringConversionWarning(dpy, name, XtRShapeStyle);
-
- return (False);
-}
-
-/*ARGSUSED*/
-Boolean
-XmuCvtShapeStyleToString(Display *dpy, XrmValue *args, Cardinal *num_args,
- XrmValue *fromVal, XrmValue *toVal, XtPointer *data)
-{
- static char *buffer;
- Cardinal size;
-
- switch (*(int *)fromVal->addr)
- {
- case XmuShapeRectangle:
- buffer = XtERectangle;
- break;
- case XmuShapeOval:
- buffer = XtEOval;
- break;
- case XmuShapeEllipse:
- buffer = XtEEllipse;
- break;
- case XmuShapeRoundedRectangle:
- buffer = XtERoundedRectangle;
- break;
- default:
- XtAppWarning(XtDisplayToApplicationContext(dpy),
- "Cannot convert ShapeStyle to String");
- toVal->addr = NULL;
- toVal->size = 0;
-
- return (False);
- }
-
- size = strlen(buffer) + 1;
- if (toVal->addr != NULL)
- {
- if (toVal->size <= size)
- {
- toVal->size = size;
- return (False);
- }
- strcpy((char *)toVal->addr, buffer);
- }
- else
- toVal->addr = (XPointer)buffer;
- toVal->size = size;
-
- return (True);
-}
diff --git a/nx-X11/lib/Xmu/StrToWidg.c b/nx-X11/lib/Xmu/StrToWidg.c
deleted file mode 100644
index 22411de3a..000000000
--- a/nx-X11/lib/Xmu/StrToWidg.c
+++ /dev/null
@@ -1,225 +0,0 @@
-/* $Xorg: StrToWidg.c,v 1.4 2001/02/09 02:03:53 xorgcvs Exp $ */
-
-/*
-
-Copyright 1994, 1998 The Open Group
-
-Permission to use, copy, modify, distribute, and sell this software and its
-documentation for any purpose is hereby granted without fee, provided that
-the above copyright notice appear in all copies and that both that
-copyright notice and this permission notice appear in supporting
-documentation.
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
-AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
-CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-Except as contained in this notice, the name of The Open Group shall not be
-used in advertising or otherwise to promote the sale, use or other dealings
-in this Software without prior written authorization from The Open Group.
-
-*/
-/* $XFree86: xc/lib/Xmu/StrToWidg.c,v 1.6 2001/01/17 19:42:57 dawes Exp $ */
-
-/*
- * XmuCvtStringToWidget
- *
- * static XtConvertArgRec parentCvtArgs[] = {
- * {XtBaseOffset, (XtPointer)XtOffset(Widget, core.parent), sizeof(Widget)},
- * };
- *
- * matches the string against the name of the immediate children (normal
- * or popup) of the parent. If none match, compares string to classname
- * & returns first match. Case is significant.
- */
-#ifdef HAVE_CONFIG_H
-#include <config.h>
-#endif
-#include <X11/IntrinsicP.h>
-#include <X11/StringDefs.h>
-#include <X11/ObjectP.h>
-#include <X11/Xmu/Converters.h>
-
-#define done(address, type) \
-{ \
- toVal->size = sizeof(type); \
- toVal->addr = (XPointer)address; \
- return; \
-}
-
-/*ARGSUSED*/
-void
-XmuCvtStringToWidget(XrmValuePtr args, Cardinal *num_args,
- XrmValuePtr fromVal, XrmValuePtr toVal)
-{
- static Widget widget, *widgetP, parent;
- XrmName name = XrmStringToName(fromVal->addr);
- int i;
-
- if (*num_args != 1)
- XtErrorMsg("wrongParameters", "cvtStringToWidget", "xtToolkitError",
- "StringToWidget conversion needs parent arg", NULL, 0);
-
- parent = *(Widget*)args[0].addr;
- /* try to match names of normal children */
- if (XtIsComposite(parent))
- {
- i = ((CompositeWidget)parent)->composite.num_children;
- for (widgetP = ((CompositeWidget)parent)->composite.children;
- i; i--, widgetP++)
- if ((*widgetP)->core.xrm_name == name)
- {
- widget = *widgetP;
- done(&widget, Widget);
- }
- }
-
- /* try to match names of popup children */
- i = parent->core.num_popups;
- for (widgetP = parent->core.popup_list; i; i--, widgetP++)
- if ((*widgetP)->core.xrm_name == name)
- {
- widget = *widgetP;
- done(&widget, Widget);
- }
-
- /* try to match classes of normal children */
- if (XtIsComposite(parent))
- {
- i = ((CompositeWidget)parent)->composite.num_children;
- for (widgetP = ((CompositeWidget)parent)->composite.children;
- i; i--, widgetP++)
- if ((*widgetP)->core.widget_class->core_class.xrm_class == name)
- {
- widget = *widgetP;
- done(&widget, Widget);
- }
- }
-
- /* try to match classes of popup children */
- i = parent->core.num_popups;
- for (widgetP = parent->core.popup_list; i; i--, widgetP++)
- if ((*widgetP)->core.widget_class->core_class.xrm_class == name)
- {
- widget = *widgetP;
- done(&widget, Widget);
- }
-
- XtStringConversionWarning(fromVal->addr, XtRWidget);
- toVal->addr = NULL;
- toVal->size = 0;
-}
-
-#undef done
-
-#define newDone(type, value) \
- { \
- if (toVal->addr != NULL) { \
- if (toVal->size < sizeof(type)) { \
- toVal->size = sizeof(type); \
- return False; \
- } \
- *(type*)(toVal->addr) = (value); \
- } \
- else { \
- static type static_val; \
- static_val = (value); \
- toVal->addr = (XtPointer)&static_val; \
- } \
- toVal->size = sizeof(type); \
- return True; \
- }
-
-
-/*ARGSUSED*/
-Boolean
-XmuNewCvtStringToWidget(Display *dpy, XrmValue *args, Cardinal *num_args,
- XrmValue *fromVal, XrmValue *toVal,
- XtPointer *converter_data)
-{
- Widget *widgetP, parent;
- XrmName name = XrmStringToName(fromVal->addr);
- int i;
-
- if (*num_args != 1)
- XtAppWarningMsg(XtDisplayToApplicationContext(dpy),
- "wrongParameters","cvtStringToWidget","xtToolkitError",
- "String To Widget conversion needs parent argument",
- (String *)NULL, (Cardinal *)NULL);
-
- parent = *(Widget*)args[0].addr;
- /* try to match names of normal children */
- if (XtIsComposite(parent))
- {
- i = ((CompositeWidget)parent)->composite.num_children;
- for (widgetP = ((CompositeWidget)parent)->composite.children;
- i; i--, widgetP++)
- if ((*widgetP)->core.xrm_name == name)
- newDone(Widget, *widgetP);
- }
-
- /* try to match names of popup children */
- i = parent->core.num_popups;
- for (widgetP = parent->core.popup_list; i; i--, widgetP++)
- if ((*widgetP)->core.xrm_name == name)
- newDone(Widget, *widgetP);
-
- /* try to match classes of normal children */
- if (XtIsComposite(parent))
- {
- i = ((CompositeWidget)parent)->composite.num_children;
- for (widgetP = ((CompositeWidget)parent)->composite.children;
- i; i--, widgetP++)
- if ((*widgetP)->core.widget_class->core_class.xrm_class == name)
- newDone(Widget, *widgetP);
- }
-
- /* try to match classes of popup children */
- i = parent->core.num_popups;
- for (widgetP = parent->core.popup_list; i; i--, widgetP++)
- if ((*widgetP)->core.widget_class->core_class.xrm_class == name)
- newDone(Widget, *widgetP);
-
- XtDisplayStringConversionWarning(dpy, (String)fromVal->addr, XtRWidget);
- return (False);
-}
-
-/*ARGSUSED*/
-Boolean
-XmuCvtWidgetToString(Display *dpy, XrmValuePtr args, Cardinal *num_args,
- XrmValuePtr fromVal, XrmValuePtr toVal,
- XtPointer *data)
-{
- static String buffer;
- Cardinal size;
- Widget widget;
-
- widget = *(Widget *)fromVal->addr;
-
- if (widget)
- buffer = XrmQuarkToString(widget->core.xrm_name);
- else
- buffer = "(null)";
-
- size = strlen(buffer) + 1;
- if (toVal->addr != NULL)
- {
- if (toVal->size < size)
- {
- toVal->size = size;
- return (False);
- }
- strcpy((char *)toVal->addr, buffer);
- }
- else
- toVal->addr = (XPointer)buffer;
- toVal->size = sizeof(String);
-
- return (True);
-}
diff --git a/nx-X11/lib/Xmu/SysUtil.h b/nx-X11/lib/Xmu/SysUtil.h
deleted file mode 100644
index 9f5b033ac..000000000
--- a/nx-X11/lib/Xmu/SysUtil.h
+++ /dev/null
@@ -1,60 +0,0 @@
-/* $Xorg: SysUtil.h,v 1.4 2001/02/09 02:03:53 xorgcvs Exp $ */
-
-/*
-
-Copyright 1989, 1998 The Open Group
-
-Permission to use, copy, modify, distribute, and sell this software and its
-documentation for any purpose is hereby granted without fee, provided that
-the above copyright notice appear in all copies and that both that
-copyright notice and this permission notice appear in supporting
-documentation.
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
-AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
-CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-Except as contained in this notice, the name of The Open Group shall not be
-used in advertising or otherwise to promote the sale, use or other dealings
-in this Software without prior written authorization from The Open Group.
-
-*/
-/* $XFree86: xc/lib/Xmu/SysUtil.h,v 1.9 2001/12/14 19:55:55 dawes Exp $ */
-
-#ifndef _SYSUTIL_H_
-#define _SYSUTIL_H_
-
-#include <X11/Xfuncproto.h>
-
-_XFUNCPROTOBEGIN
-
-int XmuGetHostname
-(
- char *buf_return,
- int maxlen
-);
-
-#ifndef _XMU_H_
-int XmuSnprintf
-(
- char *str,
- int size,
- _Xconst char *fmt,
- ...
- )
-#if defined(__GNUC__) && \
- ((__GNUC__ > 2) || ((__GNUC__ == 2) && (__GNUC_MINOR__ > 4)))
-__attribute((format(printf,3,4)))
-#endif
-;
-#endif
-
-_XFUNCPROTOEND
-
-#endif /* _SYSUTIL_H_ */
diff --git a/nx-X11/lib/Xmu/UpdMapHint.c b/nx-X11/lib/Xmu/UpdMapHint.c
deleted file mode 100644
index aeba3037f..000000000
--- a/nx-X11/lib/Xmu/UpdMapHint.c
+++ /dev/null
@@ -1,62 +0,0 @@
-/* $Xorg: UpdMapHint.c,v 1.4 2001/02/09 02:03:53 xorgcvs Exp $ */
-
-/*
-
-Copyright 1989, 1998 The Open Group
-
-Permission to use, copy, modify, distribute, and sell this software and its
-documentation for any purpose is hereby granted without fee, provided that
-the above copyright notice appear in all copies and that both that
-copyright notice and this permission notice appear in supporting
-documentation.
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
-AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
-CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-Except as contained in this notice, the name of The Open Group shall not be
-used in advertising or otherwise to promote the sale, use or other dealings
-in this Software without prior written authorization from The Open Group.
-
-*/
-/* $XFree86: xc/lib/Xmu/UpdMapHint.c,v 1.6 2001/01/17 19:42:57 dawes Exp $ */
-
-/*
- * Author: Jim Fulton, MIT X Consortium
- */
-
-#ifdef HAVE_CONFIG_H
-#include <config.h>
-#endif
-#include <stdio.h>
-#include <X11/Xlib.h>
-#include <X11/Xutil.h>
-#include <X11/Xmu/WinUtil.h>
-
-Bool
-XmuUpdateMapHints(Display *dpy, Window w, XSizeHints *hints)
-{
- static XSizeHints *shp = NULL;
-
- if (!hints) { /* get them first */
- long supp;
-
- if (!shp) {
- shp = XAllocSizeHints();
- if (!shp) return False;
- }
- if (!XGetWMNormalHints (dpy, w, shp, &supp)) return False;
- hints = shp;
- }
- hints->flags &= ~(PPosition|PSize);
- hints->flags |= (USPosition|USSize);
- XSetWMNormalHints (dpy, w, hints);
- return True;
-}
-
diff --git a/nx-X11/lib/Xmu/VisCmap.c b/nx-X11/lib/Xmu/VisCmap.c
deleted file mode 100644
index 54022cc9a..000000000
--- a/nx-X11/lib/Xmu/VisCmap.c
+++ /dev/null
@@ -1,183 +0,0 @@
-/* $Xorg: VisCmap.c,v 1.4 2001/02/09 02:03:53 xorgcvs Exp $ */
-
-/*
-
-Copyright 1989, 1998 The Open Group
-
-Permission to use, copy, modify, distribute, and sell this software and its
-documentation for any purpose is hereby granted without fee, provided that
-the above copyright notice appear in all copies and that both that
-copyright notice and this permission notice appear in supporting
-documentation.
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
-AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
-CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-Except as contained in this notice, the name of The Open Group shall not be
-used in advertising or otherwise to promote the sale, use or other dealings
-in this Software without prior written authorization from The Open Group.
-
-*/
-/* $XFree86: xc/lib/Xmu/VisCmap.c,v 1.6 2001/01/17 19:42:57 dawes Exp $ */
-
-/*
- * Author: Donna Converse, MIT X Consortium
- */
-
-#ifdef HAVE_CONFIG_H
-#include <config.h>
-#endif
-#include <stdio.h>
-#include <math.h>
-#include <X11/Xlib.h>
-#include <X11/Xatom.h>
-#include <X11/Xutil.h>
-#include <X11/Xmu/StdCmap.h>
-
-/*
- * To create all of the appropriate standard colormaps for a given visual on
- * a given screen, use XmuVisualStandardColormaps.
- *
- * Define all appropriate standard colormap properties for the given visual.
- * If replace is true, any previous definition will be removed.
- * If retain is true, new properties will be retained for the duration of
- * the server session. Return 0 on failure, non-zero on success.
- * On failure, no new properties will be defined, and, old ones may have
- * been removed if replace was True.
- *
- * Not all standard colormaps are meaningful to all visual classes. This
- * routine will check and define the following properties for the following
- * classes, provided that the size of the colormap is not too small.
- *
- * DirectColor and PseudoColor
- * RGB_DEFAULT_MAP
- * RGB_BEST_MAP
- * RGB_RED_MAP
- * RGB_GREEN_MAP
- * RGB_BLUE_MAP
- * RGB_GRAY_MAP
- *
- * TrueColor and StaticColor
- * RGB_BEST_MAP
- *
- * GrayScale and StaticGray
- * RGB_GRAY_MAP
- */
-
-Status
-XmuVisualStandardColormaps(Display *dpy, int screen, VisualID visualid,
- unsigned int depth, Bool replace, Bool retain)
- /*
- * dpy - specifies server connection
- * screen - specifies screen number
- * visualid - specifies the visual
- * depth - specifies the visual
- * replace specifies - whether to replace
- * retain - specifies whether to retain
- */
-{
- Status status;
- int n;
- long vinfo_mask;
- XVisualInfo vinfo_template, *vinfo;
-
- status = 0;
- vinfo_template.screen = screen;
- vinfo_template.visualid = visualid;
- vinfo_template.depth = depth;
- vinfo_mask = VisualScreenMask | VisualIDMask | VisualDepthMask;
- if ((vinfo = XGetVisualInfo(dpy, vinfo_mask, &vinfo_template, &n)) == NULL)
- return 0;
-
- if (vinfo->colormap_size <= 2) {
- /* Monochrome visuals have no standard maps; considered successful */
- XFree((char *) vinfo);
- return 1;
- }
-
- switch (vinfo->class)
- {
- case PseudoColor:
- case DirectColor:
- status = XmuLookupStandardColormap(dpy, screen, visualid, depth,
- XA_RGB_DEFAULT_MAP, replace,retain);
- if (!status) break;
-
- status = XmuLookupStandardColormap(dpy, screen, visualid, depth,
- XA_RGB_GRAY_MAP, replace, retain);
- if (!status) {
- XmuDeleteStandardColormap(dpy, screen, XA_RGB_DEFAULT_MAP);
- break;
- }
-
- status = XmuLookupStandardColormap(dpy, screen, visualid, depth,
- XA_RGB_RED_MAP, replace, retain);
- if (!status) {
- XmuDeleteStandardColormap(dpy, screen, XA_RGB_DEFAULT_MAP);
- XmuDeleteStandardColormap(dpy, screen, XA_RGB_GRAY_MAP);
- break;
- }
-
- status = XmuLookupStandardColormap(dpy, screen, visualid, depth,
- XA_RGB_GREEN_MAP, replace, retain);
- if (!status) {
- XmuDeleteStandardColormap(dpy, screen, XA_RGB_DEFAULT_MAP);
- XmuDeleteStandardColormap(dpy, screen, XA_RGB_GRAY_MAP);
- XmuDeleteStandardColormap(dpy, screen, XA_RGB_RED_MAP);
- break;
- }
-
- status = XmuLookupStandardColormap(dpy, screen, visualid, depth,
- XA_RGB_BLUE_MAP, replace, retain);
- if (!status) {
- XmuDeleteStandardColormap(dpy, screen, XA_RGB_DEFAULT_MAP);
- XmuDeleteStandardColormap(dpy, screen, XA_RGB_GRAY_MAP);
- XmuDeleteStandardColormap(dpy, screen, XA_RGB_RED_MAP);
- XmuDeleteStandardColormap(dpy, screen, XA_RGB_GREEN_MAP);
- break;
- }
- /* fall through */
-
- case StaticColor:
- case TrueColor:
-
- status = XmuLookupStandardColormap(dpy, screen, visualid, depth,
- XA_RGB_BEST_MAP, replace, retain);
- if (!status && (vinfo->class == PseudoColor ||
- vinfo->class == DirectColor)) {
- XmuDeleteStandardColormap(dpy, screen, XA_RGB_DEFAULT_MAP);
- XmuDeleteStandardColormap(dpy, screen, XA_RGB_GRAY_MAP);
- XmuDeleteStandardColormap(dpy, screen, XA_RGB_RED_MAP);
- XmuDeleteStandardColormap(dpy, screen, XA_RGB_GREEN_MAP);
- XmuDeleteStandardColormap(dpy, screen, XA_RGB_BLUE_MAP);
- }
- break;
- /* the end for PseudoColor, DirectColor, StaticColor, and TrueColor */
-
- case GrayScale:
- status = XmuLookupStandardColormap(dpy, screen, visualid, depth,
- XA_RGB_DEFAULT_MAP, replace,
- retain);
- if (! status) break;
- /*FALLTHROUGH*/
-
- case StaticGray:
-
- status = XmuLookupStandardColormap(dpy, screen, visualid, depth,
- XA_RGB_GRAY_MAP, replace, retain);
- if (! status && vinfo->class == GrayScale) {
- XmuDeleteStandardColormap(dpy, screen, XA_RGB_DEFAULT_MAP);
- break;
- }
- }
-
- XFree((char *) vinfo);
- return status;
-}
diff --git a/nx-X11/lib/Xmu/WhitePoint.h b/nx-X11/lib/Xmu/WhitePoint.h
deleted file mode 100644
index a05bddd4a..000000000
--- a/nx-X11/lib/Xmu/WhitePoint.h
+++ /dev/null
@@ -1,65 +0,0 @@
-/* $Xorg: WhitePoint.h,v 1.4 2001/02/09 02:03:53 xorgcvs Exp $ */
-
-/*
-
-Copyright 1991, 1994, 1998 The Open Group
-
-Permission to use, copy, modify, distribute, and sell this software and its
-documentation for any purpose is hereby granted without fee, provided that
-the above copyright notice appear in all copies and that both that
-copyright notice and this permission notice appear in supporting
-documentation.
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
-AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
-CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-Except as contained in this notice, the name of The Open Group shall not be
-used in advertising or otherwise to promote the sale, use or other dealings
-in this Software without prior written authorization from The Open Group.
-
-*/
-
-
-/*
- *
- * DESCRIPTION
- * This file contains a series of standard white point values.
- */
-#define CIE_A_u 0.2560
-#define CIE_A_v 0.5243
-#define CIE_A_Y 1.0000
-
-#define CIE_B_u 0.2137
-#define CIE_B_v 0.4852
-#define CIE_B_Y 1.0000
-
-#define CIE_C_u 0.2009
-#define CIE_C_v 0.4609
-#define CIE_C_Y 1.0000
-
-#define CIE_D55_u 0.2044
-#define CIE_D55_v 0.4808
-#define CIE_D55_Y 1.0000
-
-#define CIE_D65_u 0.1978
-#define CIE_D65_v 0.4684
-#define CIE_D65_Y 1.0000
-
-#define CIE_D75_u 0.1935
-#define CIE_D75_v 0.4586
-#define CIE_D75_Y 1.0000
-
-#define ASTM_D50_u 0.2092
-#define ASTM_D50_v 0.4881
-#define ASTM_D50_Y 1.0000
-
-#define WP_9300K_u 0.1884
-#define WP_9300K_v 0.4463
-#define WP_9300K_Y 1.0000
diff --git a/nx-X11/lib/Xmu/WidgetNode.c b/nx-X11/lib/Xmu/WidgetNode.c
deleted file mode 100644
index e157ccc10..000000000
--- a/nx-X11/lib/Xmu/WidgetNode.c
+++ /dev/null
@@ -1,310 +0,0 @@
-/* $Xorg: WidgetNode.c,v 1.5 2001/02/09 02:03:53 xorgcvs Exp $ */
-
-/*
-
-Copyright 1989, 1998 The Open Group
-
-Permission to use, copy, modify, distribute, and sell this software and its
-documentation for any purpose is hereby granted without fee, provided that
-the above copyright notice appear in all copies and that both that
-copyright notice and this permission notice appear in supporting
-documentation.
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
-AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
-CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-Except as contained in this notice, the name of The Open Group shall not be
-used in advertising or otherwise to promote the sale, use or other dealings
-in this Software without prior written authorization from The Open Group.
-
-*/
-
-/* $XFree86: xc/lib/Xmu/WidgetNode.c,v 1.12 2002/09/19 13:21:58 tsi Exp $ */
-
-/*
- * Author: Jim Fulton, MIT X Consortium
- */
-
-
-
-#ifdef HAVE_CONFIG_H
-#include <config.h>
-#endif
-#include <stdio.h>
-#include <stdlib.h>
-#include <X11/Xos.h>
-#include <X11/IntrinsicP.h>
-#include <X11/Xmu/CharSet.h>
-#include <X11/Xmu/WidgetNode.h>
-
-/*
- * Prototypes
- */
-static char *binsearch(char*, char*, int, int,
- int (*__compar)(_Xconst void*, _Xconst void*));
-static int compare_resource_entries(_Xconst void *a, _Xconst void *b);
-static XmuWidgetNode *find_resource(XmuWidgetNode*, char*, Bool);
-static void mark_resource_owner(XmuWidgetNode*);
-/*
- * Implementation
- */
-static char *
-binsearch(char *key, char *base, int nelems, int elemsize,
- int compar(_Xconst void*, _Xconst void*))
- /*
- * key - template of object to find
- * base - beginning of array
- * nelems - number of elements in array
- * elemsize - sizeof an element
- * compar - qsort-style compare function
- */
-{
- int lower = 0, upper = nelems - 1;
-
- while (lower <= upper) {
- int middle = (lower + upper) / 2;
- char *p = base + middle * elemsize;
- int res = (*compar) (p, key);
-
- if (res < 0) {
- lower = middle + 1;
- } else if (res == 0) {
- return p;
- } else {
- upper = middle - 1;
- }
- }
-
- return NULL;
-}
-
-
-static int
-compare_resource_entries(register _Xconst void *a,
- register _Xconst void *b)
-{
- return strcmp (((XtResourceList)a)->resource_name,
- ((XtResourceList)b)->resource_name);
-}
-
-
-static XmuWidgetNode *
-find_resource(XmuWidgetNode *node, char *name, Bool cons)
-{
- register XmuWidgetNode *sup;
- XtResource res;
-
-#define reslist ((char *) (cons ? sup->constraints : sup->resources))
-#define nreslist (int) (cons ? sup->nconstraints : sup->nresources)
-
- res.resource_name = name;
- for (sup = node->superclass;
- sup && (XtResourceList) binsearch ((char *) &res,
- reslist, nreslist,
- sizeof(XtResource),
- compare_resource_entries);
- node = sup, sup = sup->superclass) ;
-
-#undef reslist
-#undef nreslist
-
- return node;
-}
-
-
-static void
-mark_resource_owner(register XmuWidgetNode *node)
-{
- register Cardinal i;
- XtResourceList childres;
-
- childres = node->resources;
- for (i = 0; i < node->nresources; i++, childres++) {
- node->resourcewn[i] = find_resource (node, childres->resource_name,
- False);
- }
-
- childres = node->constraints;
- for (i = 0; i < node->nconstraints; i++, childres++) {
- node->constraintwn[i] = find_resource (node, childres->resource_name,
- True);
- }
-}
-
-
-/*
- * Public Interfaces
- */
-
-void
-XmuWnInitializeNodes(XmuWidgetNode *nodearray, int nnodes)
-{
- int i;
- XmuWidgetNode *wn;
-
- /*
- * Assume that the node array is in alphabetic order, so we need to
- * search backwards to make sure that the children are listed forward.
- */
- for (i = nnodes - 1, wn = nodearray + (nnodes - 1); i >= 0; i--, wn--) {
- WidgetClass superclass = XmuWnSuperclass(wn);
- int j;
- XmuWidgetNode *swn;
- int lablen = strlen (wn->label);
- int namelen = strlen (XmuWnClassname(wn));
-
- wn->lowered_label = XtMalloc (lablen + namelen + 2);
-#if 0
- /* XtMalloc exits if failed */
- if (!wn->lowered_label) {
- fprintf (stderr,
- "%s: unable to allocate %d bytes for widget name\n",
- "XmuWnInitializeNodes", lablen + namelen + 2);
- exit (1);
- }
-#endif
- wn->lowered_classname = wn->lowered_label + (lablen + 1);
- XmuCopyISOLatin1Lowered (wn->lowered_label, wn->label);
- XmuCopyISOLatin1Lowered (wn->lowered_classname, XmuWnClassname(wn));
- wn->superclass = NULL;
- wn->have_resources = False;
- wn->resources = NULL;
- wn->resourcewn = NULL;
- wn->nresources = 0;
- wn->constraints = NULL;
- wn->constraintwn = NULL;
- wn->nconstraints = 0;
- wn->data = (XtPointer) NULL;
-
- /*
- * walk up the superclass chain
- */
- while (superclass) {
- for (j = 0, swn = nodearray; j < nnodes; j++, swn++) {
- if (superclass == XmuWnClass(swn)) {
- wn->superclass = swn;
- goto done; /* stupid C language */
- }
- }
- /*
- * Hmm, we have a hidden superclass (such as in core in R4); just
- * ignore it and keep on walking
- */
- superclass = superclass->core_class.superclass;
- }
- done:
- if (wn->superclass) {
- wn->siblings = wn->superclass->children;
- wn->superclass->children = wn;
- }
- }
-
- return;
-}
-
-
-void
-XmuWnFetchResources(XmuWidgetNode *node, Widget toplevel,
- XmuWidgetNode *topnode)
-{
- Widget dummy;
- XmuWidgetNode *wn;
-
- if (node->have_resources) return;
-
- dummy = XtCreateWidget (node->label, XmuWnClass(node), toplevel,
- NULL, 0);
- if (dummy) XtDestroyWidget (dummy);
-
-
- /*
- * walk up tree geting resources; since we've instantiated the widget,
- * we know that all of our superclasses have been initialized
- */
- for (wn = node; wn && !wn->have_resources; wn = wn->superclass) {
- XtGetResourceList (XmuWnClass(wn), &wn->resources, &wn->nresources);
- if (wn->resources) {
- qsort ((char *) wn->resources, wn->nresources,
- sizeof(XtResource), compare_resource_entries);
- }
- wn->resourcewn = (XmuWidgetNode **) XtCalloc (wn->nresources,
- sizeof (XmuWidgetNode *));
- if (!wn->resourcewn) {
- fprintf (stderr,
- "%s: unable to calloc %d %ld byte widget node ptrs\n",
- "XmuWnFetchResources", wn->nresources,
- (unsigned long)sizeof (XmuWidgetNode *));
- exit (1);
- }
-
- XtGetConstraintResourceList (XmuWnClass(wn), &wn->constraints,
- &wn->nconstraints);
- if (wn->constraints) {
- qsort ((char *) wn->constraints, wn->nconstraints,
- sizeof(XtResource), compare_resource_entries);
- }
- wn->constraintwn = (XmuWidgetNode **)
- XtCalloc (wn->nconstraints, sizeof (XmuWidgetNode *));
- if (!wn->constraintwn) {
- fprintf (stderr,
- "%s: unable to calloc %d %ld byte widget node ptrs\n",
- "XmuWnFetchResources", wn->nconstraints,
- (unsigned long)sizeof (XmuWidgetNode *));
- exit (1);
- }
-
- wn->have_resources = True;
- if (wn == topnode) break;
- }
-
-
- /*
- * Walk up tree removing all resources that appear in superclass; we can
- * mash the resource list in place since it was copied out of widget.
- */
- for (wn = node; wn; wn = wn->superclass) {
- mark_resource_owner (wn);
- if (wn == topnode) break;
- }
-
- return;
-}
-
-
-int
-XmuWnCountOwnedResources(XmuWidgetNode *node, XmuWidgetNode *ownernode,
- Bool cons)
-{
- register int i;
- XmuWidgetNode **wn = (cons ? node->constraintwn : node->resourcewn);
- int nmatches = 0;
-
- for (i = (cons ? node->nconstraints : node->nresources); i > 0; i--, wn++)
- if (*wn == ownernode) nmatches++;
- return nmatches;
-}
-
-
-XmuWidgetNode *
-XmuWnNameToNode(XmuWidgetNode *nodelist, int nnodes, _Xconst char *name)
-{
- int i;
- XmuWidgetNode *wn;
- char tmp[1024];
-
- XmuNCopyISOLatin1Lowered(tmp, name, sizeof(tmp));
- for (i = 0, wn = nodelist; i < nnodes; i++, wn++) {
- if (strcmp (tmp, wn->lowered_label) == 0 ||
- strcmp (tmp, wn->lowered_classname) == 0) {
- return wn;
- }
- }
- return NULL;
-}
diff --git a/nx-X11/lib/Xmu/WidgetNode.h b/nx-X11/lib/Xmu/WidgetNode.h
deleted file mode 100644
index 75050d253..000000000
--- a/nx-X11/lib/Xmu/WidgetNode.h
+++ /dev/null
@@ -1,98 +0,0 @@
-/* $Xorg: WidgetNode.h,v 1.5 2001/02/09 02:03:53 xorgcvs Exp $ */
-
-/*
-
-Copyright 1990, 1998 The Open Group
-
-Permission to use, copy, modify, distribute, and sell this software and its
-documentation for any purpose is hereby granted without fee, provided that
-the above copyright notice appear in all copies and that both that
-copyright notice and this permission notice appear in supporting
-documentation.
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
-AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
-CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-Except as contained in this notice, the name of The Open Group shall not be
-used in advertising or otherwise to promote the sale, use or other dealings
-in this Software without prior written authorization from The Open Group.
-
-*/
-/* $XFree86: xc/lib/Xmu/WidgetNode.h,v 1.5 2001/01/17 19:42:57 dawes Exp $ */
-
-/*
- * Author: Jim Fulton, MIT X Consortium
- */
-
-#ifndef _XmuWidgetNode_h
-#define _XmuWidgetNode_h
-
-#include <X11/Intrinsic.h>
-#include <X11/Xfuncproto.h>
-
-/*
- * This is usually initialized by setting the first two fields and letting
- * rest be implicitly nulled (by genlist.sh, for example)
- */
-typedef struct _XmuWidgetNode {
- char *label; /* mixed case name */
- WidgetClass *widget_class_ptr; /* addr of widget class */
- struct _XmuWidgetNode *superclass; /* superclass of widget_class */
- struct _XmuWidgetNode *children, *siblings; /* subclass links */
- char *lowered_label; /* lowercase version of label */
- char *lowered_classname; /* lowercase version of class_name */
- Bool have_resources; /* resources have been fetched */
- XtResourceList resources; /* extracted resource database */
- struct _XmuWidgetNode **resourcewn; /* where resources come from */
- Cardinal nresources; /* number of resources */
- XtResourceList constraints; /* extracted constraint resources */
- struct _XmuWidgetNode **constraintwn; /* where constraints come from */
- Cardinal nconstraints; /* number of constraint resources */
- XtPointer data; /* extra data */
-} XmuWidgetNode;
-
-#define XmuWnClass(wn) ((wn)->widget_class_ptr[0])
-#define XmuWnClassname(wn) (XmuWnClass(wn)->core_class.class_name)
-#define XmuWnSuperclass(wn) ((XmuWnClass(wn))->core_class.superclass)
-
- /* external interfaces */
-_XFUNCPROTOBEGIN
-
-void XmuWnInitializeNodes
-(
- XmuWidgetNode *nodearray,
- int nnodes
- );
-
-void XmuWnFetchResources
-(
- XmuWidgetNode *node,
- Widget toplevel,
- XmuWidgetNode *topnode
- );
-
-int XmuWnCountOwnedResources
-(
- XmuWidgetNode *node,
- XmuWidgetNode *ownernode,
- Bool constraints
- );
-
-XmuWidgetNode *XmuWnNameToNode
-(
- XmuWidgetNode *nodelist,
- int nnodes,
- _Xconst char *name
- );
-
-_XFUNCPROTOEND
-
-#endif /* _XmuWidgetNode_h */
-
diff --git a/nx-X11/lib/Xmu/WinUtil.h b/nx-X11/lib/Xmu/WinUtil.h
deleted file mode 100644
index 0445bcfa8..000000000
--- a/nx-X11/lib/Xmu/WinUtil.h
+++ /dev/null
@@ -1,64 +0,0 @@
-/* $Xorg: WinUtil.h,v 1.4 2001/02/09 02:03:53 xorgcvs Exp $ */
-
-/*
-
-Copyright 1988, 1998 The Open Group
-
-Permission to use, copy, modify, distribute, and sell this software and its
-documentation for any purpose is hereby granted without fee, provided that
-the above copyright notice appear in all copies and that both that
-copyright notice and this permission notice appear in supporting
-documentation.
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
-AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
-CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-Except as contained in this notice, the name of The Open Group shall not be
-used in advertising or otherwise to promote the sale, use or other dealings
-in this Software without prior written authorization from The Open Group.
-
-*/
-/* $XFree86: xc/lib/Xmu/WinUtil.h,v 1.6 2001/01/17 19:42:57 dawes Exp $ */
-
-/*
- * The interfaces described by this header file are for miscellaneous utilities
- * and are not part of the Xlib standard.
- */
-
-#ifndef _XMU_WINDOWUTIL_H_
-#define _XMU_WINDOWUTIL_H_
-
-#include <X11/Xutil.h>
-#include <X11/Xfuncproto.h>
-
-_XFUNCPROTOBEGIN
-
-Window XmuClientWindow
-(
- Display *dpy,
- Window win
- );
-
-Bool XmuUpdateMapHints
-(
- Display *dpy,
- Window win,
- XSizeHints *hints
- );
-
-Screen *XmuScreenOfWindow
-(
- Display *dpy,
- Window w
-);
-
-_XFUNCPROTOEND
-
-#endif /* _XMU_WINDOWUTIL_H_ */
diff --git a/nx-X11/lib/Xmu/Xct.c b/nx-X11/lib/Xmu/Xct.c
deleted file mode 100644
index b186d27d7..000000000
--- a/nx-X11/lib/Xmu/Xct.c
+++ /dev/null
@@ -1,687 +0,0 @@
-/* $Xorg: Xct.c,v 1.4 2001/02/09 02:03:53 xorgcvs Exp $ */
-
-/*
-
-Copyright 1989, 1998 The Open Group
-
-Permission to use, copy, modify, distribute, and sell this software and its
-documentation for any purpose is hereby granted without fee, provided that
-the above copyright notice appear in all copies and that both that
-copyright notice and this permission notice appear in supporting
-documentation.
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
-AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
-CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-Except as contained in this notice, the name of The Open Group shall not be
-used in advertising or otherwise to promote the sale, use or other dealings
-in this Software without prior written authorization from The Open Group.
-
-*/
-/* $XFree86: xc/lib/Xmu/Xct.c,v 1.8 2001/07/25 15:04:50 dawes Exp $ */
-
-#ifdef HAVE_CONFIG_H
-#include <config.h>
-#endif
-#include <X11/Xfuncs.h>
-#include "Xct.h"
-#include <stdio.h>
-
-#define UsedGraphic 0x0001
-#define UsedDirection 0x0002
-
-typedef struct _XctPriv {
- XctString ptr;
- XctString ptrend;
- unsigned flags;
- XctHDirection *dirstack;
- unsigned dirsize;
- char **encodings;
- unsigned enc_count;
- XctString itembuf;
- unsigned buf_count;
-} *XctPriv;
-
-#define IsMore(priv) ((priv)->ptr != (priv)->ptrend)
-#define AmountLeft(priv) ((priv)->ptrend - (priv)->ptr)
-
-#include <stdlib.h>
-
-#define HT 0x09
-#define NL 0x0a
-#define ESC 0x1b
-#define CSI 0x9b
-
-#define IsLegalC0(data, c) (((c) == HT) || ((c) == NL) || \
- (((data)->version > XctVersion) && \
- ((data)->flags & XctAcceptC0Extensions)))
-
-#define IsLegalC1(priv, c) (((data)->version > XctVersion) && \
- ((data)->flags & XctAcceptC1Extensions))
-
-#define IsI2(c) (((c) >= 0x20) && ((c) <= 0x2f))
-#define IsI3(c) (((c) >= 0x30) && ((c) <= 0x3f))
-#define IsESCF(c) (((c) >= 0x30) && ((c) <= 0x7e))
-#define IsCSIF(c) (((c) >= 0x40) && ((c) <= 0x7e))
-#define IsC0(c) ((c) <= 0x1f)
-#define IsGL(c) (((c) >= 0x20) && ((c) <= 0x7f))
-#define IsC1(c) (((c) >= 0x80) && ((c) <= 0x9f))
-#define IsGR(c) ((c) >= 0xa0)
-
-#define HasC 1
-#define HasGL 2
-#define HasGR 4
-#define ToGL 8
-
-/*
- * Prototypes
- */
-static void ComputeGLGR(XctData);
-static int Handle94GR(XctData, int);
-static int Handle96GR(XctData, int);
-static int HandleExtended(XctData data, int);
-static int HandleGL(XctData, int);
-static int HandleMultiGL(XctData, int);
-static int HandleMultiGR(XctData data, int);
-static void ShiftGRToGL(XctData, int);
-
-/*
- * Implementation
- */
-static void
-ComputeGLGR(register XctData data)
-{
- /* XXX this will need more work if more sets are registered */
- if ((data->GL_set_size == 94) && (data->GL_char_size == 1) &&
- (data->GL[0] == '\102') &&
- (data->GR_set_size == 96) && (data->GR_char_size == 1))
- data->GLGR_encoding = data->GR_encoding;
- else if ((data->GL_set_size == 94) && (data->GL_char_size == 1) &&
- (data->GL[0] == '\112') &&
- (data->GR_set_size == 94) && (data->GR_char_size == 1))
- data->GLGR_encoding = data->GR_encoding;
- else
- data->GLGR_encoding = (char *)NULL;
-}
-
-static int
-HandleGL(register XctData data, int c)
-{
- switch (c) {
- case 0x42:
- data->GL = "\102";
- data->GL_encoding = "ISO8859-1";
- break;
- case 0x4a:
- data->GL = "\112";
- data->GL_encoding = "JISX0201.1976-0";
- break;
- default:
- return 0;
- }
- data->GL_set_size = 94;
- data->GL_char_size = 1;
- ComputeGLGR(data);
- return 1;
-}
-
-static int
-HandleMultiGL(register XctData data, int c)
-{
- switch (c) {
- case 0x41:
- data->GL = "\101";
- data->GL_encoding = "GB2312.1980-0";
- break;
- case 0x42:
- data->GL = "\102";
- data->GL_encoding = "JISX0208.1983-0";
- break;
- case 0x43:
- data->GL = "\103";
- data->GL_encoding = "KSC5601.1987-0";
- break;
- default:
- return 0;
- }
- data->GL_set_size = 94;
- data->GL_char_size = 2;
-#ifdef notdef
- if (c < 0x60)
- data->GL_char_size = 2;
- else if (c < 0x70)
- data->GL_char_size = 3;
- else
- data->GL_char_size = 4;
-#endif
- data->GLGR_encoding = (char *)NULL;
- return 1;
-}
-
-static int
-Handle94GR(register XctData data, int c)
-{
- switch (c) {
- case 0x49:
- data->GR = "\111";
- data->GR_encoding = "JISX0201.1976-0";
- break;
- default:
- return 0;
- }
- data->priv->flags &= ~ToGL;
- data->GR_set_size = 94;
- data->GR_char_size = 1;
- data->GLGR_encoding = (char *)NULL;
- return 1;
-}
-
-static int
-Handle96GR(register XctData data, int c)
-{
- switch (c) {
- case 0x41:
- data->GR = "\101";
- data->GR_encoding = "ISO8859-1";
- break;
- case 0x42:
- data->GR = "\102";
- data->GR_encoding = "ISO8859-2";
- break;
- case 0x43:
- data->GR = "\103";
- data->GR_encoding = "ISO8859-3";
- break;
- case 0x44:
- data->GR = "\104";
- data->GR_encoding = "ISO8859-4";
- break;
- case 0x46:
- data->GR = "\106";
- data->GR_encoding = "ISO8859-7";
- break;
- case 0x47:
- data->GR = "\107";
- data->GR_encoding = "ISO8859-6";
- break;
- case 0x48:
- data->GR = "\110";
- data->GR_encoding = "ISO8859-8";
- break;
- case 0x4c:
- data->GR = "\114";
- data->GR_encoding = "ISO8859-5";
- break;
- case 0x4d:
- data->GR = "\115";
- data->GR_encoding = "ISO8859-9";
- break;
- default:
- return 0;
- }
- data->priv->flags &= ~ToGL;
- data->GR_set_size = 96;
- data->GR_char_size = 1;
- ComputeGLGR(data);
- return 1;
-}
-
-static int
-HandleMultiGR(register XctData data, int c)
-{
- switch (c) {
- case 0x41:
- data->GR = "\101";
- if (data->flags & XctShiftMultiGRToGL)
- data->GR_encoding = "GB2312.1980-0";
- else
- data->GR_encoding = "GB2312.1980-1";
- break;
- case 0x42:
- data->GR = "\102";
- if (data->flags & XctShiftMultiGRToGL)
- data->GR_encoding = "JISX0208.1983-0";
- else
- data->GR_encoding = "JISX0208.1983-1";
- break;
- case 0x43:
- data->GR = "\103";
- if (data->flags & XctShiftMultiGRToGL)
- data->GR_encoding = "KSC5601.1987-0";
- else
- data->GR_encoding = "KSC5601.1987-1";
- break;
- default:
- return 0;
- }
- if (data->flags & XctShiftMultiGRToGL)
- data->priv->flags |= ToGL;
- else
- data->priv->flags &= ~ToGL;
- data->GR_set_size = 94;
- data->GR_char_size = 2;
-#ifdef notdef
- if (c < 0x60)
- data->GR_char_size = 2;
- else if (c < 0x70)
- data->GR_char_size = 3;
- else
- data->GR_char_size = 4;
-#endif
- data->GLGR_encoding = (char *)NULL;
- return 1;
-}
-
-static int
-HandleExtended(register XctData data, int c)
-{
- register XctPriv priv = data->priv;
- XctString enc = data->item + 6;
- register XctString ptr = enc;
- unsigned i, len;
-
- while (*ptr != 0x02) {
- if (!*ptr || (++ptr == priv->ptr))
- return 0;
- }
- data->item = ptr + 1;
- data->item_length = priv->ptr - data->item;
- len = ptr - enc;
- for (i = 0;
- (i < priv->enc_count) &&
- strncmp(priv->encodings[i], (char *)enc, len);
- i++)
- ;
- if (i == priv->enc_count) {
- XctString cp;
-
- for (cp = enc; cp != ptr; cp++) {
- if ((!IsGL(*cp) && !IsGR(*cp)) || (*cp == 0x2a) || (*cp == 0x3f))
- return 0;
- }
- ptr = (XctString)malloc((unsigned)len + 1);
- (void) memmove((char *)ptr, (char *)enc, len);
- ptr[len] = 0x00;
- priv->enc_count++;
- if (priv->encodings)
- priv->encodings = (char **)realloc(
- (char *)priv->encodings,
- priv->enc_count * sizeof(char *));
- else
- priv->encodings = (char **)malloc(sizeof(char *));
- priv->encodings[i] = (char *)ptr;
- }
- data->encoding = priv->encodings[i];
- data->char_size = c - 0x30;
- return 1;
-}
-
-static void
-ShiftGRToGL(register XctData data, int hasCdata)
-{
- register XctPriv priv = data->priv;
- register int i;
-
- if (data->item_length > priv->buf_count) {
- priv->buf_count = data->item_length;
- if (priv->itembuf)
- priv->itembuf = (XctString)realloc((char *)priv->itembuf,
- priv->buf_count);
- else
- priv->itembuf = (XctString)malloc(priv->buf_count);
- }
- (void) memmove((char *)priv->itembuf, (char *)data->item,
- data->item_length);
- data->item = priv->itembuf;
- if (hasCdata) {
- for (i = data->item_length; --i >= 0; ) {
- if (IsGR(data->item[i]))
- data->item[i] &= 0x7f;
- }
- } else {
- for (i = data->item_length; --i >= 0; )
- data->item[i] &= 0x7f;
- }
-}
-
-/* Create an XctData structure for parsing a Compound Text string. */
-XctData
-XctCreate(_Xconst unsigned char *string, int length, XctFlags flags)
-{
- register XctData data;
- register XctPriv priv;
-
- data = (XctData)malloc(sizeof(struct _XctRec) + sizeof(struct _XctPriv));
- if (!data)
- return data;
- data->priv = priv = (XctPriv)(data + 1);
- data->total_string = (XctString)string;
- data->total_length = length;
- data->flags = flags;
- priv->dirstack = (XctHDirection *)NULL;
- priv->dirsize = 0;
- priv->encodings = (char **)NULL;
- priv->enc_count = 0;
- priv->itembuf = (XctString)NULL;
- priv->buf_count = 0;
- XctReset(data);
- return data;
-}
-
-/* Reset the XctData structure to re-parse the string from the beginning. */
-void
-XctReset(register XctData data)
-{
- register XctPriv priv = data->priv;
-
- priv->ptr = data->total_string;
- priv->ptrend = data->total_string + data->total_length;
- data->item = (XctString)NULL;
- data->item_length = 0;
- data->encoding = (char *)NULL;
- data->char_size = 1;
- data->horizontal = XctUnspecified;
- data->horz_depth = 0;
- priv->flags = 0;
- data->GL_set_size = data->GR_set_size = 0; /* XXX */
- (void)HandleGL(data, (unsigned char)0x42);
- (void)Handle96GR(data, (unsigned char)0x41);
- data->version = 1;
- data->can_ignore_exts = 0;
- /* parse version, if present */
- if ((data->total_length >= 4) &&
- (priv->ptr[0] == ESC) && (priv->ptr[1] == 0x23) &&
- IsI2(priv->ptr[2]) &&
- ((priv->ptr[3] == 0x30) || (priv->ptr[3] == 0x31))) {
- data->version = priv->ptr[2] - 0x1f;
- if (priv->ptr[3] == 0x30)
- data->can_ignore_exts = 1;
- priv->ptr += 4;
- }
-}
-
-/* Parse the next "item" from the Compound Text string. The return value
- * indicates what kind of item is returned. The item itself, and the current
- * contextual state, are reported as components of the XctData structure.
- */
-XctResult
-XctNextItem(register XctData data)
-{
- register XctPriv priv = data->priv;
- unsigned char c;
- int len, bits;
-
-#define NEXT data->item_length++; priv->ptr++
-
- while (IsMore(priv)) {
- data->item = priv->ptr;
- data->item_length = 0;
- c = *priv->ptr;
- if (c == ESC) {
- NEXT;
- while (IsMore(priv) && IsI2(*priv->ptr)) {
- NEXT;
- }
- if (!IsMore(priv))
- return XctError;
- c = *priv->ptr;
- NEXT;
- if (!IsESCF(c))
- return XctError;
- switch (data->item[1]) {
- case 0x24:
- if (data->item_length > 3) {
- if (data->item[2] == 0x28) {
- if (HandleMultiGL(data, c))
- continue;
- } else if (data->item[2] == 0x29) {
- if (HandleMultiGR(data, c))
- continue;
- }
- }
- break;
- case 0x25:
- if ((data->item_length == 4) && (data->item[2] == 0x2f) &&
- (c <= 0x3f)) {
- if ((AmountLeft(priv) < 2) ||
- (priv->ptr[0] < 0x80) || (priv->ptr[1] < 0x80))
- return XctError;
- len = *priv->ptr - 0x80;
- NEXT;
- len = (len << 7) + (*priv->ptr - 0x80);
- NEXT;
- if (AmountLeft(priv) < len)
- return XctError;
- data->item_length += len;
- priv->ptr += len;
- if (c <= 0x34) {
- if (!HandleExtended(data, c) ||
- ((data->horz_depth == 0) &&
- (priv->flags & UsedDirection)))
- return XctError;
- priv->flags |= UsedGraphic;
- return XctExtendedSegment;
- }
- }
- break;
- case 0x28:
- if (HandleGL(data, c))
- continue;
- break;
- case 0x29:
- if (Handle94GR(data, c))
- continue;
- break;
- case 0x2d:
- if (Handle96GR(data, c))
- continue;
- break;
- }
- } else if (c == CSI) {
- NEXT;
- while (IsMore(priv) && IsI3(*priv->ptr)) {
- NEXT;
- }
- while (IsMore(priv) && IsI2(*priv->ptr)) {
- NEXT;
- }
- if (!IsMore(priv))
- return XctError;
- c = *priv->ptr;
- NEXT;
- if (!IsCSIF(c))
- return XctError;
- if (c == 0x5d) {
- if ((data->item_length == 3) &&
- ((data->item[1] == 0x31) || (data->item[1] == 0x32))) {
- data->horz_depth++;
- if (priv->dirsize < data->horz_depth) {
- priv->dirsize += 10;
- if (priv->dirstack)
- priv->dirstack = (XctHDirection *)
- realloc((char *)priv->dirstack,
- priv->dirsize *
- sizeof(XctHDirection));
- else
- priv->dirstack = (XctHDirection *)
- malloc(priv->dirsize *
- sizeof(XctHDirection));
- }
- priv->dirstack[data->horz_depth - 1] = data->horizontal;
- if (data->item[1] == 0x31)
- data->horizontal = XctLeftToRight;
- else
- data->horizontal = XctRightToLeft;
- if ((priv->flags & UsedGraphic) &&
- !(priv->flags & UsedDirection))
- return XctError;
- priv->flags |= UsedDirection;
- if (data->flags & XctHideDirection)
- continue;
- return XctHorizontal;
- } else if (data->item_length == 2) {
- if (!data->horz_depth)
- return XctError;
- data->horz_depth--;
- data->horizontal = priv->dirstack[data->horz_depth];
- if (data->flags & XctHideDirection)
- continue;
- return XctHorizontal;
- }
- }
- } else if (data->flags & XctSingleSetSegments) {
- NEXT;
- if IsC0(c) {
- data->encoding = (char *)NULL;
- data->char_size = 1;
- if (IsLegalC0(data, c))
- return XctC0Segment;
- } else if (IsGL(c)) {
- data->encoding = data->GL_encoding;
- data->char_size = data->GL_char_size;
- while (IsMore(priv) && IsGL(*priv->ptr)) {
- NEXT;
- }
- if (((data->char_size > 1) &&
- (data->item_length % data->char_size)) ||
- ((data->horz_depth == 0) &&
- (priv->flags & UsedDirection)))
- return XctError;
- priv->flags |= UsedGraphic;
- return XctGLSegment;
- } else if (IsC1(c)) {
- data->encoding = (char *)NULL;
- data->char_size = 1;
- if (IsLegalC1(data, c))
- return XctC1Segment;
- } else {
- data->encoding = data->GR_encoding;
- data->char_size = data->GR_char_size;
- while (IsMore(priv) && IsGR(*priv->ptr)) {
- NEXT;
- }
- if (((data->char_size > 1) &&
- (data->item_length % data->char_size)) ||
- ((data->horz_depth == 0) &&
- (priv->flags & UsedDirection)))
- return XctError;
- priv->flags |= UsedGraphic;
- if (!(priv->flags & ToGL))
- return XctGRSegment;
- ShiftGRToGL(data, 0);
- return XctGLSegment;
- }
- } else {
- bits = 0;
- while (1) {
- if (IsC0(c) || IsC1(c)) {
- if ((c == ESC) || (c == CSI))
- break;
- if (IsC0(c) ? !IsLegalC0(data, c) : !IsLegalC1(data, c))
- break;
- bits |= HasC;
- NEXT;
- } else {
- len = data->item_length;
- if (IsGL(c)) {
- if ((data->flags & XctShiftMultiGRToGL) &&
- (bits & HasGR))
- break;
- NEXT;
- bits |= HasGL;
- while (IsMore(priv) && IsGL(*priv->ptr)) {
- NEXT;
- }
- if ((data->GL_char_size > 1) &&
- ((data->item_length - len) % data->GL_char_size))
- return XctError;
- } else {
- if ((data->flags & XctShiftMultiGRToGL) &&
- (bits & HasGL))
- break;
- NEXT;
- bits |= HasGR;
- while (IsMore(priv) && IsGR(*priv->ptr)) {
- NEXT;
- }
- if ((data->GR_char_size > 1) &&
- ((data->item_length - len) % data->GR_char_size))
- return XctError;
- }
- }
- if (!IsMore(priv))
- break;
- c = *priv->ptr;
- }
- if (data->item_length) {
- if (bits & (HasGL|HasGR)) {
- priv->flags |= UsedGraphic;
- if ((data->horz_depth == 0) &&
- (priv->flags & UsedDirection))
- return XctError;
- if ((data->flags & XctShiftMultiGRToGL) && (bits & HasGR))
- ShiftGRToGL(data, bits & HasC);
- }
- if ((bits == (HasGL|HasGR)) ||
- (data->GLGR_encoding && !(bits & HasC))) {
- data->encoding = data->GLGR_encoding;
- if (data->GL_char_size == data->GR_char_size)
- data->char_size = data->GL_char_size;
- else
- data->char_size = 0;
- } else if (bits == HasGL) {
- data->encoding = data->GL_encoding;
- data->char_size = data->GL_char_size;
- } else if (bits == HasGR) {
- data->encoding = data->GR_encoding;
- data->char_size = data->GR_char_size;
- } else {
- data->encoding = (char *)NULL;
- data->char_size = 1;
- if ((bits & HasGL) &&
- (data->GL_char_size != data->char_size))
- data->char_size = 0;
- if ((bits & HasGR) &&
- (data->GR_char_size != data->char_size))
- data->char_size = 0;
- }
- return XctSegment;
- }
- NEXT;
- }
- if (data->version <= XctVersion)
- return XctError;
- if (data->flags & XctProvideExtensions)
- return XctExtension;
- if (!data->can_ignore_exts)
- return XctError;
- }
- return XctEndOfText;
-}
-
-/* Free all data associated with an XctDataStructure. */
-void
-XctFree(register XctData data)
-{
- unsigned i;
- register XctPriv priv = data->priv;
-
- if (priv->dirstack)
- free((char *)priv->dirstack);
- if (data->flags & XctFreeString)
- free((char *)data->total_string);
- for (i = 0; i < priv->enc_count; i++)
- free(priv->encodings[i]);
- if (priv->encodings)
- free((char *)priv->encodings);
- if (priv->itembuf)
- free((char *)priv->itembuf);
- free((char *)data);
-}
diff --git a/nx-X11/lib/Xmu/Xct.h b/nx-X11/lib/Xmu/Xct.h
deleted file mode 100644
index b06644ae0..000000000
--- a/nx-X11/lib/Xmu/Xct.h
+++ /dev/null
@@ -1,168 +0,0 @@
-/* $Xorg: Xct.h,v 1.4 2001/02/09 02:03:53 xorgcvs Exp $ */
-
-/*
-
-Copyright 1989, 1998 The Open Group
-
-Permission to use, copy, modify, distribute, and sell this software and its
-documentation for any purpose is hereby granted without fee, provided that
-the above copyright notice appear in all copies and that both that
-copyright notice and this permission notice appear in supporting
-documentation.
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
-AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
-CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-Except as contained in this notice, the name of The Open Group shall not be
-used in advertising or otherwise to promote the sale, use or other dealings
-in this Software without prior written authorization from The Open Group.
-
-*/
-/* $XFree86: xc/lib/Xmu/Xct.h,v 1.6 2001/01/17 19:42:58 dawes Exp $ */
-
-#ifndef _Xct_h
-#define _Xct_h
-
-#include <X11/Xfuncproto.h>
-
-#define XctVersion 1
-
-typedef unsigned char *XctString;
-
-typedef enum {
- XctUnspecified,
- XctLeftToRight,
- XctRightToLeft
-} XctHDirection;
-
-typedef unsigned long XctFlags;
-
-/* These are bits in XctFlags. */
-
-#define XctSingleSetSegments 0x0001
- /* This means that returned segments should contain characters from only
- * one set (C0, C1, GL, GR). When this is requested, XctSegment is never
- * returned, instead XctC0Segment, XctC1Segment, XctGlSegment, and
- * XctGRSegment are returned. C0 and C1 segments are always returned as
- * singleton characters.
- */
-
-#define XctProvideExtensions 0x0002
- /* This means that if the Compound Text string is from a higher version
- * than this code is implemented to, then syntactically correct but unknown
- * control sequences should be returned as XctExtension items. If this
- * flag is not set, and the Compound Text string version indicates that
- * extensions cannot be ignored, then each unknown control sequence will be
- * reported as an XctError.
- */
-
-#define XctAcceptC0Extensions 0x0004
- /* This means that if the Compound Text string is from a higher version
- * than this code is implemented to, then unknown C0 characters should be
- * treated as if they were legal, and returned as C0 characters (regardless
- * of how XctProvideExtensions is set). If this flag is not set, then all
- * unknown C0 characters are treated according to XctProvideExtensions.
- */
-
-#define XctAcceptC1Extensions 0x0008
- /* This means that if the Compound Text string is from a higher version
- * than this code is implemented to, then unknown C0 characters should be
- * treated as if they were legal, and returned as C0 characters (regardless
- * of how XctProvideExtensions is set). If this flag is not set, then all
- * unknown C0 characters are treated according to XctProvideExtensions.
- */
-
-#define XctHideDirection 0x0010
- /* This means that horizontal direction changes should be reported as
- * XctHorizontal items. If this flag is not set, then direction changes are
- * not returned as items, but the current direction is still maintained and
- * reported for other items.
- */
-
-#define XctFreeString 0x0020
- /* This means that XctFree should free the Compound Text string (that was
- * passed to XctCreate. If this flag is not set, the string is not freed.
- */
-
-#define XctShiftMultiGRToGL 0x0040
- /* Translate GR segments on-the-fly into GL segments for the GR sets:
- * GB2312.1980-1, JISX0208.1983-1, and KSC5601.1987-1.
- */
-
-/* This is the return type for XctNextItem. */
-typedef enum {
- XctSegment, /* used when XctSingleSetSegments is not requested */
- XctC0Segment, /* used when XctSingleSetSegments is requested */
- XctGLSegment, /* used when XctSingleSetSegments is requested */
- XctC1Segment, /* used when XctSingleSetSegments is requested */
- XctGRSegment, /* used when XctSingleSetSegments is requested */
- XctExtendedSegment, /* an extended segment */
- XctExtension, /* used when XctProvideExtensions is requested */
- XctHorizontal, /* horizontal direction or depth change */
- XctEndOfText, /* end of text string */
- XctError /* syntactic or semantic error */
-} XctResult;
-
-typedef struct _XctRec {
- XctString total_string; /* as given to XctCreate */
- int total_length; /* as given to XctCreate */
- XctFlags flags; /* as given to XctCreate */
- int version; /* indicates the version of the CT spec
- * the string was produced from */
- int can_ignore_exts;/* non-zero if ignoring extensions is
- * acceptable, else zero */
- XctString item; /* item returned from XctNextItem */
- unsigned item_length; /* length of item in bytes */
- int char_size; /* number of bytes per character in
- * item, with zero meaning variable */
- char *encoding; /* Encoding name for item */
- XctHDirection horizontal; /* direction of item */
- unsigned horz_depth; /* current direction nesting depth */
- char *GL; /* "{I} F" string for current GL */
- char *GL_encoding; /* Encoding name for current GL */
- int GL_set_size; /* 94 or 96 */
- int GL_char_size; /* number of bytes per GL character */
- char *GR; /* "{I} F" string for current GR */
- char *GR_encoding; /* Encoding name for current GR */
- int GR_set_size; /* 94 or 96 */
- int GR_char_size; /* number of bytes per GR character */
- char *GLGR_encoding; /* Encoding name for current GL+GR,
- * if known */
- struct _XctPriv *priv; /* private to parser, don't peek */
-} *XctData;
-
-/* these are the external routines */
-_XFUNCPROTOBEGIN
-
-XctData XctCreate
-(
- _Xconst unsigned char *string,
- int length,
- XctFlags flags
-);
-
-XctResult XctNextItem
-(
- XctData data
-);
-
-void XctFree
-(
- XctData data
- );
-
-void XctReset
-(
- XctData data
- );
-
-_XFUNCPROTOEND
-
-#endif /* _Xct_h */
diff --git a/nx-X11/lib/Xmu/Xmu-def.cpp b/nx-X11/lib/Xmu/Xmu-def.cpp
deleted file mode 100644
index 6a5ea4f9c..000000000
--- a/nx-X11/lib/Xmu/Xmu-def.cpp
+++ /dev/null
@@ -1,145 +0,0 @@
-LIBRARY libXmu
-VERSION LIBRARY_VERSION
-EXPORTS
-XmuAllStandardColormaps
-XmuGetAtomName
-XmuInternAtom
-XmuInternStrings
-XmuMakeAtom
-XmuNameOfAtom
-XmuClientWindow
-XmuAddCloseDisplayHook
-XmuLookupCloseDisplayHook
-XmuRemoveCloseDisplayHook
-XmuGetColormapAllocation
-XmuCreateColormap
-XmuCreatePixmapFromBitmap
-XmuCursorNameToIndex
-_XmuCCLookupDisplay
-XmuConvertStandardSelection
-XmuPrintDefaultErrorMessage
-XmuSimpleErrorHandler
-XmuDeleteStandardColormap
-XmuDQAddDisplay
-XmuDQCreate
-XmuDQDestroy
-XmuDQLookupDisplay
-XmuDQRemoveDisplay
-XmuDistinguishableColors
-XmuDistinguishablePixels
-XmuDrawLogo
-XmuDrawRoundedRectangle
-XmuFillRoundedRectangle
-_XEditResCheckMessages
-_XEditResGet16
-_XEditResGet32
-_XEditResGet8
-_XEditResGetSigned16
-_XEditResGetString8
-_XEditResGetWidgetInfo
-_XEditResPut16
-_XEditResPut32
-_XEditResPut8
-_XEditResPutString8
-_XEditResPutWidgetInfo
-_XEditResResetStream
-XmuRegisterExternalAgent
-XmuCvtFunctionToCallback
-XmuGetHostname
-XmuCreateStippledPixmap
-XmuReleaseStippledPixmap
-XmuAddInitializer
-XmuCallInitializers
-XmuLocateBitmapFile
-XmuLocatePixmapFile
-_XmuStringToBitmapFreeCache
-_XmuStringToBitmapInitCache
-XmuLookupAPL
-XmuLookupArabic
-XmuLookupCyrillic
-XmuLookupGreek
-XmuLookupHebrew
-XmuLookupJISX0201
-XmuLookupKana
-XmuLookupLatin1
-XmuLookupLatin2
-XmuLookupLatin3
-XmuLookupLatin4
-XmuLookupString
-XmuLookupStandardColormap
-XmuCompareISOLatin1
-XmuCopyISOLatin1Lowered
-XmuCopyISOLatin1Uppered
-XmuReadBitmapData
-XmuReadBitmapDataFromFile
-XmuScreenOfWindow
-XmuReshapeWidget
-XmuStandardColormap
-XmuCvtStringToBackingStore
-XmuCvtStringToBitmap
-XmuCvtStringToColorCursor
-XmuCvtStringToCursor
-XmuCvtStringToGravity
-XmuCvtStringToJustify
-XmuCvtStringToLong
-XmuCvtStringToOrientation
-XmuCvtStringToShapeStyle
-XmuCvtStringToWidget
-XmuNewCvtStringToWidget
-XmuUpdateMapHints
-XmuVisualStandardColormaps
-XmuWnCountOwnedResources
-XmuWnFetchResources
-XmuWnInitializeNodes
-XmuWnNameToNode
-XctCreate
-XctFree
-XctNextItem
-XctReset
-XmuCvtGravityToString
-XmuCvtBackingStoreToString
-_XA_ATOM_PAIR
-_XA_CHARACTER_POSITION
-_XA_CLASS
-_XA_CLIENT_WINDOW
-_XA_CLIPBOARD
-_XA_COMPOUND_TEXT
-_XA_DECNET_ADDRESS
-_XA_DELETE
-_XA_FILENAME
-_XA_HOSTNAME
-_XA_IP_ADDRESS
-_XA_LENGTH
-_XA_LIST_LENGTH
-_XA_NAME
-_XA_NET_ADDRESS
-_XA_NULL
-_XA_OWNER_OS
-_XA_SPAN
-_XA_TARGETS
-_XA_TEXT
-_XA_TIMESTAMP
-_XA_USER
-_XA_UTF8_STRING
-XmuNewArea
-XmuDestroyScanlineList
-XmuCvtWidgetToString
-XmuOptimizeScanline
-XmuAreaOrXor
-XmuScanlineXor
-XmuDestroySegmentList
-XmuCvtJustifyToString
-XmuSnprintf
-XmuNewScanline
-XmuNCopyISOLatin1Lowered
-XmuNCopyISOLatin1Uppered
-XmuCvtShapeStyleToString
-XmuCvtOrientationToString
-XmuScanlineOrSegment
-#ifdef __UNIXOS2__
-XmuScanlineNot
-XmuScanlineAnd
-XmuScanlineOr
-#endif
-
-/* $XFree86: xc/lib/Xmu/Xmu-def.cpp,v 1.1 2000/08/09 23:40:13 dawes Exp $ */
diff --git a/nx-X11/lib/Xmu/Xmu.h b/nx-X11/lib/Xmu/Xmu.h
deleted file mode 100644
index c503a41b8..000000000
--- a/nx-X11/lib/Xmu/Xmu.h
+++ /dev/null
@@ -1,128 +0,0 @@
-/* $Xorg: Xmu.h,v 1.4 2001/02/09 02:03:53 xorgcvs Exp $ */
-
-/*
-
-Copyright 1988, 1998 The Open Group
-
-Permission to use, copy, modify, distribute, and sell this software and its
-documentation for any purpose is hereby granted without fee, provided that
-the above copyright notice appear in all copies and that both that
-copyright notice and this permission notice appear in supporting
-documentation.
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
-AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
-CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-Except as contained in this notice, the name of The Open Group shall not be
-used in advertising or otherwise to promote the sale, use or other dealings
-in this Software without prior written authorization from The Open Group.
-
-*/
-/* $XFree86: xc/lib/Xmu/Xmu.h,v 1.9 2001/12/14 19:55:59 dawes Exp $ */
-
-/*
- * The interfaces described by this header file are for miscellaneous utilities
- * and are not part of the Xlib standard.
- */
-
-#ifndef _XMU_H_
-#define _XMU_H_
-
-#include <X11/Intrinsic.h>
-#include <X11/Xmu/Atoms.h> /* _XA_... */
-#include <X11/Xmu/CharSet.h> /* CopyISOLatin1Lowered */
-#include <X11/Xmu/Converters.h> /* CvtStringTo... */
-#include <X11/Xmu/Drawing.h> /* DrawRoundedRect, DrawLogo */
-#include <X11/Xmu/Error.h> /* PrintDefaultError */
-#include <X11/Xmu/StdSel.h> /* ConvertStandardSelection */
-
-/*
- * clip lists
- */
-typedef struct _XmuSegment {
- int x1, x2;
- struct _XmuSegment *next;
-} XmuSegment;
-
-typedef struct _XmuScanline {
- int y;
- XmuSegment *segment;
- struct _XmuScanline *next;
-} XmuScanline;
-
-typedef struct _XmuArea {
- XmuScanline *scanline;
-} XmuArea;
-
-#define XmuCreateArea() XmuNewArea(0, 0, 0, 0)
-#define XmuAreaOr(dst, src) XmuAreaOrXor((dst), (src), True)
-#define XmuAreaXor(dst, src) XmuAreaOrXor((dst), (src), False)
-
-#define XmuDestroyArea(a) \
- do { \
- XmuDestroyScanlineList((a)->scanline); \
- XtFree((char *)(a)); \
- } while (0)
-
-#define FreeArea(a) \
- do { \
- XmuDestroyScanlineList((a)->scanline); \
- a->scanline = (Scanline *)0; \
- } while (0)
-
-#define XmuValidSegment(s) ((s)->x1 < (s)->x2)
-#define XmuSegmentEqu(s1, s2) ((s1)->x1 == (s2)->x1 && (s1)->x2 == (s2)->x2)
-#define XmuDestroySegment(s) XtFree((char *)(s))
-
-#define XmuDestroyScanline(s) \
- do { \
- XmuDestroySegmentList((s)->segment); \
- XtFree((char*)(s)); \
- } while (0)
-
-XmuArea *XmuNewArea(int, int, int, int);
-XmuArea *XmuAreaDup(XmuArea*);
-XmuArea *XmuAreaCopy(XmuArea*, XmuArea*);
-XmuArea *XmuAreaNot(XmuArea*, int, int, int, int);
-XmuArea *XmuAreaOrXor(XmuArea*, XmuArea*, Bool);
-XmuArea *XmuAreaAnd(XmuArea*, XmuArea*);
-Bool XmuValidArea(XmuArea*);
-Bool XmuValidScanline(XmuScanline*);
-Bool XmuScanlineEqu(XmuScanline*, XmuScanline*);
-XmuSegment *XmuNewSegment(int, int);
-void XmuDestroySegmentList(XmuSegment*);
-XmuScanline *XmuScanlineCopy(XmuScanline*, XmuScanline*);
-Bool XmuAppendSegment(XmuSegment*, XmuSegment*);
-XmuScanline *XmuOptimizeScanline(XmuScanline*);
-XmuScanline *XmuScanlineNot(XmuScanline *scanline, int, int);
-XmuScanline *XmuScanlineOr(XmuScanline*, XmuScanline*);
-XmuScanline *XmuScanlineAnd(XmuScanline*, XmuScanline*);
-XmuScanline *XmuScanlineXor(XmuScanline*, XmuScanline*);
-XmuScanline *XmuNewScanline(int, int, int);
-void XmuDestroyScanlineList(XmuScanline*);
-XmuArea *XmuOptimizeArea(XmuArea *area);
-
-#ifndef notdef
-XmuScanline *XmuScanlineOrSegment(XmuScanline*, XmuSegment*);
-XmuScanline *XmuScanlineAndSegment(XmuScanline*, XmuSegment*);
-XmuScanline *XmuScanlineXorSegment(XmuScanline*, XmuSegment*);
-#endif /* notdef */
-
-#ifndef _SYSUTIL_H_
-int XmuSnprintf(char *str, int size, _Xconst char *fmt, ...)
-#if defined(__GNUC__) && \
- ((__GNUC__ > 2) || ((__GNUC__ == 2) && (__GNUC_MINOR__ > 4)))
-__attribute((format(printf,3,4)))
-#endif
-;
-#endif
-
-#endif /* _XMU_H_ */
-
diff --git a/nx-X11/lib/Xmu/sharedlib.c b/nx-X11/lib/Xmu/sharedlib.c
deleted file mode 100644
index 0ef5e3ce9..000000000
--- a/nx-X11/lib/Xmu/sharedlib.c
+++ /dev/null
@@ -1,76 +0,0 @@
-/* $Xorg: sharedlib.c,v 1.4 2001/02/09 02:03:53 xorgcvs Exp $ */
-
-/*
-
-Copyright 1991, 1998 The Open Group
-
-Permission to use, copy, modify, distribute, and sell this software and its
-documentation for any purpose is hereby granted without fee, provided that
-the above copyright notice appear in all copies and that both that
-copyright notice and this permission notice appear in supporting
-documentation.
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
-AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
-CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-Except as contained in this notice, the name of The Open Group shall not be
-used in advertising or otherwise to promote the sale, use or other dealings
-in this Software without prior written authorization from The Open Group.
-
-*/
-/* $XFree86: xc/lib/Xmu/sharedlib.c,v 3.4 2001/07/25 15:04:51 dawes Exp $ */
-
-#if defined(SUNSHLIB) && !defined(SHAREDCODE)
-
-#ifdef HAVE_CONFIG_H
-#include <config.h>
-#endif
-#include "Atoms.h"
-
-struct _AtomRec {
- char *name;
- struct _DisplayRec* head;
-};
-
-#if !defined(UNIXCPP) || defined(ANSICPP)
-#define DeclareAtom(atom) \
-extern struct _AtomRec __##atom; \
-AtomPtr _##atom = &__##atom;
-#else
-#define DeclareAtom(atom) \
-extern struct _AtomRec __/**/atom; \
-AtomPtr _/**/atom = &__/**/atom;
-#endif
-
-DeclareAtom(XA_ATOM_PAIR)
-DeclareAtom(XA_CHARACTER_POSITION)
-DeclareAtom(XA_CLASS)
-DeclareAtom(XA_CLIENT_WINDOW)
-DeclareAtom(XA_CLIPBOARD)
-DeclareAtom(XA_COMPOUND_TEXT)
-DeclareAtom(XA_DECNET_ADDRESS)
-DeclareAtom(XA_DELETE)
-DeclareAtom(XA_FILENAME)
-DeclareAtom(XA_HOSTNAME)
-DeclareAtom(XA_IP_ADDRESS)
-DeclareAtom(XA_LENGTH)
-DeclareAtom(XA_LIST_LENGTH)
-DeclareAtom(XA_NAME)
-DeclareAtom(XA_NET_ADDRESS)
-DeclareAtom(XA_NULL)
-DeclareAtom(XA_OWNER_OS)
-DeclareAtom(XA_SPAN)
-DeclareAtom(XA_TARGETS)
-DeclareAtom(XA_TEXT)
-DeclareAtom(XA_TIMESTAMP)
-DeclareAtom(XA_USER)
-DeclareAtom(XA_UTF8_STRING)
-
-#endif /* SUNSHLIB */