sync code with last improvements from OpenBSD

This commit is contained in:
purplerain 2023-08-28 05:57:34 +00:00
commit 88965415ff
Signed by: purplerain
GPG key ID: F42C07F07E2E35B7
26235 changed files with 29195616 additions and 0 deletions

View file

@ -0,0 +1,25 @@
xmuincludedir=${includedir}/X11/Xmu
xmuinclude_HEADERS = \
X11/Xmu/Xmu.h \
X11/Xmu/Atoms.h \
X11/Xmu/CharSet.h \
X11/Xmu/CloseHook.h \
X11/Xmu/Converters.h \
X11/Xmu/CurUtil.h \
X11/Xmu/CvtCache.h \
X11/Xmu/DisplayQue.h \
X11/Xmu/Drawing.h \
X11/Xmu/Editres.h \
X11/Xmu/EditresP.h \
X11/Xmu/Error.h \
X11/Xmu/ExtAgent.h \
X11/Xmu/Initer.h \
X11/Xmu/Lookup.h \
X11/Xmu/Misc.h \
X11/Xmu/StdSel.h \
X11/Xmu/StdCmap.h \
X11/Xmu/SysUtil.h \
X11/Xmu/WidgetNode.h \
X11/Xmu/WinUtil.h \
X11/Xmu/Xct.h \
X11/Xmu/WhitePoint.h

View file

@ -0,0 +1,572 @@
# Makefile.in generated by automake 1.12.6 from Makefile.am.
# @configure_input@
# Copyright (C) 1994-2012 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
# PARTICULAR PURPOSE.
@SET_MAKE@
VPATH = @srcdir@
am__make_dryrun = \
{ \
am__dry=no; \
case $$MAKEFLAGS in \
*\\[\ \ ]*) \
echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \
| grep '^AM OK$$' >/dev/null || am__dry=yes;; \
*) \
for am__flg in $$MAKEFLAGS; do \
case $$am__flg in \
*=*|--*) ;; \
*n*) am__dry=yes; break;; \
esac; \
done;; \
esac; \
test $$am__dry = yes; \
}
pkgdatadir = $(datadir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
pkglibexecdir = $(libexecdir)/@PACKAGE@
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
install_sh_SCRIPT = $(install_sh) -c
INSTALL_HEADER = $(INSTALL_DATA)
transform = $(program_transform_name)
NORMAL_INSTALL = :
PRE_INSTALL = :
POST_INSTALL = :
NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
build_triplet = @build@
host_triplet = @host@
subdir = include
DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
$(xmuinclude_HEADERS)
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES =
CONFIG_CLEAN_VPATH_FILES =
AM_V_P = $(am__v_P_@AM_V@)
am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
am__v_P_0 = false
am__v_P_1 = :
AM_V_GEN = $(am__v_GEN_@AM_V@)
am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
am__v_GEN_0 = @echo " GEN " $@;
am__v_GEN_1 =
AM_V_at = $(am__v_at_@AM_V@)
am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
am__v_at_0 = @
am__v_at_1 =
SOURCES =
DIST_SOURCES =
am__can_run_installinfo = \
case $$AM_UPDATE_INFO_DIR in \
n|no|NO) false;; \
*) (install-info --version) >/dev/null 2>&1;; \
esac
am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
am__vpath_adj = case $$p in \
$(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
*) f=$$p;; \
esac;
am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
am__install_max = 40
am__nobase_strip_setup = \
srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
am__nobase_strip = \
for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
am__nobase_list = $(am__nobase_strip_setup); \
for p in $$list; do echo "$$p $$p"; done | \
sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
$(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
if (++n[$$2] == $(am__install_max)) \
{ print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
END { for (dir in files) print dir, files[dir] }'
am__base_list = \
sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
am__uninstall_files_from_dir = { \
test -z "$$files" \
|| { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
|| { echo " ( cd '$$dir' && rm -f" $$files ")"; \
$(am__cd) "$$dir" && rm -f $$files; }; \
}
am__installdirs = "$(DESTDIR)$(xmuincludedir)"
HEADERS = $(xmuinclude_HEADERS)
ETAGS = etags
CTAGS = ctags
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
ADMIN_MAN_DIR = @ADMIN_MAN_DIR@
ADMIN_MAN_SUFFIX = @ADMIN_MAN_SUFFIX@
AMTAR = @AMTAR@
AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
APP_MAN_DIR = @APP_MAN_DIR@
APP_MAN_SUFFIX = @APP_MAN_SUFFIX@
AR = @AR@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@
AWK = @AWK@
BASE_CFLAGS = @BASE_CFLAGS@
CC = @CC@
CCDEPMODE = @CCDEPMODE@
CFLAGS = @CFLAGS@
CHANGELOG_CMD = @CHANGELOG_CMD@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
CWARNFLAGS = @CWARNFLAGS@
CYGPATH_W = @CYGPATH_W@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
DLLTOOL = @DLLTOOL@
DRIVER_MAN_DIR = @DRIVER_MAN_DIR@
DRIVER_MAN_SUFFIX = @DRIVER_MAN_SUFFIX@
DSYMUTIL = @DSYMUTIL@
DUMPBIN = @DUMPBIN@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
EXEEXT = @EXEEXT@
FGREP = @FGREP@
FILE_MAN_DIR = @FILE_MAN_DIR@
FILE_MAN_SUFFIX = @FILE_MAN_SUFFIX@
FOP = @FOP@
GREP = @GREP@
INSTALL = @INSTALL@
INSTALL_CMD = @INSTALL_CMD@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
LD = @LD@
LDFLAGS = @LDFLAGS@
LIBOBJS = @LIBOBJS@
LIBS = @LIBS@
LIBTOOL = @LIBTOOL@
LIB_MAN_DIR = @LIB_MAN_DIR@
LIB_MAN_SUFFIX = @LIB_MAN_SUFFIX@
LINT = @LINT@
LINTLIB = @LINTLIB@
LINTLIBUU = @LINTLIBUU@
LINT_FLAGS = @LINT_FLAGS@
LIPO = @LIPO@
LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
MAN_SUBSTS = @MAN_SUBSTS@
MISC_MAN_DIR = @MISC_MAN_DIR@
MISC_MAN_SUFFIX = @MISC_MAN_SUFFIX@
MKDIR_P = @MKDIR_P@
NM = @NM@
NMEDIT = @NMEDIT@
OBJDUMP = @OBJDUMP@
OBJEXT = @OBJEXT@
OTOOL = @OTOOL@
OTOOL64 = @OTOOL64@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
PKG_CONFIG = @PKG_CONFIG@
PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
RANLIB = @RANLIB@
SED = @SED@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
STRICT_CFLAGS = @STRICT_CFLAGS@
STRIP = @STRIP@
STYLESHEET_SRCDIR = @STYLESHEET_SRCDIR@
VERSION = @VERSION@
XMLTO = @XMLTO@
XMUU_CFLAGS = @XMUU_CFLAGS@
XMUU_LIBS = @XMUU_LIBS@
XMU_CFLAGS = @XMU_CFLAGS@
XMU_LIBS = @XMU_LIBS@
XORG_MAN_PAGE = @XORG_MAN_PAGE@
XORG_SGML_PATH = @XORG_SGML_PATH@
XSLTPROC = @XSLTPROC@
XSL_STYLESHEET = @XSL_STYLESHEET@
abs_builddir = @abs_builddir@
abs_srcdir = @abs_srcdir@
abs_top_builddir = @abs_top_builddir@
abs_top_srcdir = @abs_top_srcdir@
ac_ct_AR = @ac_ct_AR@
ac_ct_CC = @ac_ct_CC@
ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
am__tar = @am__tar@
am__untar = @am__untar@
bindir = @bindir@
build = @build@
build_alias = @build_alias@
build_cpu = @build_cpu@
build_os = @build_os@
build_vendor = @build_vendor@
builddir = @builddir@
datadir = @datadir@
datarootdir = @datarootdir@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
host_os = @host_os@
host_vendor = @host_vendor@
htmldir = @htmldir@
includedir = @includedir@
infodir = @infodir@
install_sh = @install_sh@
libdir = @libdir@
libexecdir = @libexecdir@
localedir = @localedir@
localstatedir = @localstatedir@
mandir = @mandir@
mkdir_p = @mkdir_p@
oldincludedir = @oldincludedir@
pdfdir = @pdfdir@
prefix = @prefix@
program_transform_name = @program_transform_name@
psdir = @psdir@
runstatedir = @runstatedir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
srcdir = @srcdir@
sysconfdir = @sysconfdir@
target_alias = @target_alias@
top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
xmuincludedir = ${includedir}/X11/Xmu
xmuinclude_HEADERS = \
X11/Xmu/Xmu.h \
X11/Xmu/Atoms.h \
X11/Xmu/CharSet.h \
X11/Xmu/CloseHook.h \
X11/Xmu/Converters.h \
X11/Xmu/CurUtil.h \
X11/Xmu/CvtCache.h \
X11/Xmu/DisplayQue.h \
X11/Xmu/Drawing.h \
X11/Xmu/Editres.h \
X11/Xmu/EditresP.h \
X11/Xmu/Error.h \
X11/Xmu/ExtAgent.h \
X11/Xmu/Initer.h \
X11/Xmu/Lookup.h \
X11/Xmu/Misc.h \
X11/Xmu/StdSel.h \
X11/Xmu/StdCmap.h \
X11/Xmu/SysUtil.h \
X11/Xmu/WidgetNode.h \
X11/Xmu/WinUtil.h \
X11/Xmu/Xct.h \
X11/Xmu/WhitePoint.h
all: all-am
.SUFFIXES:
$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps)
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
&& { if test -f $@; then exit 0; else break; fi; }; \
exit 1;; \
esac; \
done; \
echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign include/Makefile'; \
$(am__cd) $(top_srcdir) && \
$(AUTOMAKE) --foreign include/Makefile
.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
*config.status*) \
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
*) \
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
esac;
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(am__aclocal_m4_deps):
mostlyclean-libtool:
-rm -f *.lo
clean-libtool:
-rm -rf .libs _libs
install-xmuincludeHEADERS: $(xmuinclude_HEADERS)
@$(NORMAL_INSTALL)
@list='$(xmuinclude_HEADERS)'; test -n "$(xmuincludedir)" || list=; \
if test -n "$$list"; then \
echo " $(MKDIR_P) '$(DESTDIR)$(xmuincludedir)'"; \
$(MKDIR_P) "$(DESTDIR)$(xmuincludedir)" || exit 1; \
fi; \
for p in $$list; do \
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
echo "$$d$$p"; \
done | $(am__base_list) | \
while read files; do \
echo " $(INSTALL_HEADER) $$files '$(DESTDIR)$(xmuincludedir)'"; \
$(INSTALL_HEADER) $$files "$(DESTDIR)$(xmuincludedir)" || exit $$?; \
done
uninstall-xmuincludeHEADERS:
@$(NORMAL_UNINSTALL)
@list='$(xmuinclude_HEADERS)'; test -n "$(xmuincludedir)" || list=; \
files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
dir='$(DESTDIR)$(xmuincludedir)'; $(am__uninstall_files_from_dir)
ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
mkid -fID $$unique
tags: TAGS
TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
set x; \
here=`pwd`; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
shift; \
if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
test -n "$$unique" || unique=$$empty_fix; \
if test $$# -gt 0; then \
$(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
"$$@" $$unique; \
else \
$(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
$$unique; \
fi; \
fi
ctags: CTAGS
CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
test -z "$(CTAGS_ARGS)$$unique" \
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
$$unique
GTAGS:
here=`$(am__cd) $(top_builddir) && pwd` \
&& $(am__cd) $(top_srcdir) \
&& gtags -i $(GTAGS_ARGS) "$$here"
cscopelist: $(HEADERS) $(SOURCES) $(LISP)
list='$(SOURCES) $(HEADERS) $(LISP)'; \
case "$(srcdir)" in \
[\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
*) sdir=$(subdir)/$(srcdir) ;; \
esac; \
for i in $$list; do \
if test -f "$$i"; then \
echo "$(subdir)/$$i"; \
else \
echo "$$sdir/$$i"; \
fi; \
done >> $(top_builddir)/cscope.files
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
distdir: $(DISTFILES)
@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
list='$(DISTFILES)'; \
dist_files=`for file in $$list; do echo $$file; done | \
sed -e "s|^$$srcdirstrip/||;t" \
-e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
case $$dist_files in \
*/*) $(MKDIR_P) `echo "$$dist_files" | \
sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
sort -u` ;; \
esac; \
for file in $$dist_files; do \
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
if test -d $$d/$$file; then \
dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
if test -d "$(distdir)/$$file"; then \
find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
else \
test -f "$(distdir)/$$file" \
|| cp -p $$d/$$file "$(distdir)/$$file" \
|| exit 1; \
fi; \
done
check-am: all-am
check: check-am
all-am: Makefile $(HEADERS)
installdirs:
for dir in "$(DESTDIR)$(xmuincludedir)"; do \
test -z "$$dir" || $(MKDIR_P) "$$dir"; \
done
install: install-am
install-exec: install-exec-am
install-data: install-data-am
uninstall: uninstall-am
install-am: all-am
@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
installcheck: installcheck-am
install-strip:
if test -z '$(STRIP)'; then \
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
install; \
else \
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
"INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
fi
mostlyclean-generic:
clean-generic:
distclean-generic:
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@echo "it deletes files that may require special tools to rebuild."
clean: clean-am
clean-am: clean-generic clean-libtool mostlyclean-am
distclean: distclean-am
-rm -f Makefile
distclean-am: clean-am distclean-generic distclean-tags
dvi: dvi-am
dvi-am:
html: html-am
html-am:
info: info-am
info-am:
install-data-am: install-xmuincludeHEADERS
install-dvi: install-dvi-am
install-dvi-am:
install-exec-am:
install-html: install-html-am
install-html-am:
install-info: install-info-am
install-info-am:
install-man:
install-pdf: install-pdf-am
install-pdf-am:
install-ps: install-ps-am
install-ps-am:
installcheck-am:
maintainer-clean: maintainer-clean-am
-rm -f Makefile
maintainer-clean-am: distclean-am maintainer-clean-generic
mostlyclean: mostlyclean-am
mostlyclean-am: mostlyclean-generic mostlyclean-libtool
pdf: pdf-am
pdf-am:
ps: ps-am
ps-am:
uninstall-am: uninstall-xmuincludeHEADERS
.MAKE: install-am install-strip
.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
clean-libtool cscopelist ctags distclean distclean-generic \
distclean-libtool distclean-tags distdir dvi dvi-am html \
html-am info info-am install install-am install-data \
install-data-am install-dvi install-dvi-am install-exec \
install-exec-am install-html install-html-am install-info \
install-info-am install-man install-pdf install-pdf-am \
install-ps install-ps-am install-strip \
install-xmuincludeHEADERS installcheck installcheck-am \
installdirs maintainer-clean maintainer-clean-generic \
mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \
ps ps-am tags uninstall uninstall-am \
uninstall-xmuincludeHEADERS
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:

View file

@ -0,0 +1,123 @@
/*
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.
*/
/*
* 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_ */

View file

@ -0,0 +1,73 @@
/*
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.
*/
/*
* 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_ */

View file

@ -0,0 +1,70 @@
/*
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.
*/
/*
* 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_ */

View file

@ -0,0 +1,277 @@
/*
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.
*/
/*
* 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_ */

View file

@ -0,0 +1,46 @@
/*
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.
*/
/*
* 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_ */

View file

@ -0,0 +1,59 @@
/*
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.
*/
/*
* 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_ */

View file

@ -0,0 +1,152 @@
/*
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.
*/
#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_ */

View file

@ -0,0 +1,158 @@
/*
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.
*/
/*
* 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_ */

View file

@ -0,0 +1,39 @@
/*
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.
*/
#include <X11/Xfuncproto.h>
_XFUNCPROTOBEGIN
void _XEditResCheckMessages
(
Widget w,
XtPointer data,
XEvent *event,
Boolean *cont
);
_XFUNCPROTOEND

View file

@ -0,0 +1,406 @@
/*
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.
*/
/*
* 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 unsigned integer
Card16: 16-bit unsigned integer
Card32: 32-bit unsigned 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 heirarchy 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
SendWidgetTree returns the toolkit type, and a fully specified list
of widgets for each widget in the tree. This is enough information
to completely reconstruct the entire widget hierarchy.
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 ]
GetResources retrieves the kind, name, class, and type for every
widget passed to it. If an error occurred 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 retrieves the mapping state, x, y, width, height
and border width for each widget specified. If an error occurred
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 correspond 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
FindChild 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,
_Xconst 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

View file

@ -0,0 +1,56 @@
/*
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.
*/
/*
* 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_ */

View file

@ -0,0 +1,41 @@
/*
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.
*/
#include <X11/Intrinsic.h>
#include <X11/Xfuncproto.h>
_XFUNCPROTOBEGIN
extern void XmuRegisterExternalAgent
(
Widget w,
XtPointer data,
XEvent *event,
Boolean *cont
);
_XFUNCPROTOEND

View file

@ -0,0 +1,55 @@
/*
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.
*/
/*
* 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_ */

View file

@ -0,0 +1,124 @@
/************************************************************
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 */

View file

@ -0,0 +1,63 @@
/*
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*/

View file

@ -0,0 +1,116 @@
/*
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.
*/
/*
* 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_ */

View file

@ -0,0 +1,54 @@
/*
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.
*/
/*
* 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_ */

View file

@ -0,0 +1,53 @@
/*
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.
*/
#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,
...
)
_X_ATTRIBUTE_PRINTF(3,4);
#endif
_XFUNCPROTOEND
#endif /* _SYSUTIL_H_ */

View file

@ -0,0 +1,63 @@
/*
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

View file

@ -0,0 +1,95 @@
/*
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.
*/
/*
* 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 */

View file

@ -0,0 +1,61 @@
/*
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.
*/
/*
* 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_ */

View file

@ -0,0 +1,165 @@
/*
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.
*/
#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 */

View file

@ -0,0 +1,122 @@
/*
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.
*/
/*
* 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/Xfuncproto.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, ...)
_X_ATTRIBUTE_PRINTF(3,4);
#endif
#endif /* _XMU_H_ */