diff options
Diffstat (limited to 'Build/source/texk/web2c/window')
19 files changed, 0 insertions, 4342 deletions
diff --git a/Build/source/texk/web2c/window/ChangeLog b/Build/source/texk/web2c/window/ChangeLog deleted file mode 100644 index ed6d0165dd2..00000000000 --- a/Build/source/texk/web2c/window/ChangeLog +++ /dev/null @@ -1,387 +0,0 @@ -2018-01-16 Paul Vojta <vojta@math.berkeley.edu> - - * x11-Xt.c: attempt to handle initial expose for mf. - http://tug.org/pipermail/tex-k/2017-May/002783.html - -2015-03-31 Peter Breitenlohner <peb@mppmu.mpg.de> - - * mftalk.h (new): Moved to here from ../mftalk.h. - * Makefile.am: Adapted. - -2014-01-02 Peter Breitenlohner <peb@mppmu.mpg.de> - - * x11-Xlib.c: Cast screenwidth, screendepth to 'unsigned int'. - -2013-07-01 Peter Breitenlohner <peb@mppmu.mpg.de> - - * tek.c: Replace bzero(t, l) => memset(t, 0, l) and bcmp() => - memcmp(). - -2012-11-20 Peter Breitenlohner <peb@mppmu.mpg.de> - - * Makefile.am: Avoid use of deprecated INCLUDES. - -2012-07-01 Peter Breitenlohner <peb@mppmu.mpg.de> - - * win32.c: Avoid TL W32TeX differences. - -2010-02-21 Peter Breitenlohner <peb@mppmu.mpg.de> - - * mfdisplay.h: New file with protos for display routines. - * Makefile.am: Add the new file. - - * amiga.c, epsf.c, mftalk.c - #include <mfdisplay.h>, mf_*_initscreen returns int. - - * hp2627.c, next.c, regis.c, suntools.c, tek.c, uniterm.c - #include <mfdisplay.h>. - - * trap.c: mf_trap_initscreen() returns int. - #include <mfdisplay.h> and drop externs. - - * win32.c: #include <mfdisplay.h>. - Do not skip Win32Error() for MinGW32, add static forward decl. - Drop unused variables szAppName, black, and white. - - * x11-Xlib.c, x11-Xt.c: #include <mfdisplay.h> and drop externs. - -2010-01-20 Peter Breitenlohner <peb@mppmu.mpg.de> - - * amiga.c, win32.c: Current METAFONT Version is 2.718281. - -2009-12-23 Karl Berry <karl@tug.org> - - * mftalk.c: doc fix. - -2009-06-23 Peter Breitenlohner <peb@mppmu.mpg.de> - - * epsf.c, hp2627.c, mftalk.c, next.c, regis.c, suntools.c, - tek.c, uniterm.c, win32.c: drop P?C, P?H, use ANSI C function - declarations. - -2009-06-12 Peter Breitenlohner <peb@mppmu.mpg.de> - - * Makefile.am (AM_CFLAGS): enable compiler warnings. - * trap.c, x11-Xlib.c, x11-Xt.c: use ANSI C prototypes. - -2008-02-29 Peter Breitenlohner <peb@mppmu.mpg.de> - - * x11-Xt.c: remove unused preprocessor stuff (FOIL...). - -2008-01-29 Peter Breitenlohner <peb@mppmu.mpg.de> - - * Makefile.in: Add @configure_input@ line. - -2005-06-26 Olaf Weber <olaf@infovore.xs4all.nl> - - * Makefile.in: Replace ac_include with kpse_include. From Peter - Breitenlohner. - -2003-01-24 Olaf Weber <olaf@infovore.xs4all.nl> - - * mftalk.c: Use SIGCHLD, not SIGCLD (but fall back if necessary). - Reported by hubertf@netbsd.org. - -2001-11-25 Olaf Weber <olaf@infovore.xs4all.nl> - - * x11-Xt.c (mf_checkextent): Add prototype. - (mf_optiondesclist): The pointers in the argument list are XPointers, - not XtPointers. - -2001-11-19 Olaf Weber <olaf@infovore.xs4all.nl> - - * x11-Xt.c (mf_newpixmap): Add prototype to declaration. - -1999-02-06 Olaf Weber <olaf@infovore.xs4all.nl> - - * trap.c (mf_trap_initscreen, mf_trap_updatescreen): Use P1H macro - in definition. - - * win32.c (InitGui): Oops, removed one __cdecl too many. From - Fabrice. - -1999-02-04 Olaf Weber <olaf@infovore.xs4all.nl> - - * win32.c (InitGui, LoopMsg): Remove __cdecl, from Fabrice. - -1999-01-13 Olaf Weber <olaf@infovore.xs4all.nl> - - * Makefile.in: Rename kpathsea.make to kpathsea.mk. - -1999-01-10 Olaf Weber <olaf@infovore.xs4all.nl> - - * x11-Xlib.c: Do not define input and output because of conflicts. - - * tek.c: Don't redefine TRUE and FALSE. - - * mftalk.c: Include kpathsea/variable.h. - - * Makefile.in: Change of ../make/*.make to ../make/*.mk. - -Tue Jun 30 19:47:37 1998 Olaf Weber <olaf@infovore.xs4all.nl> - - * uniterm.c (mf_uniterm_paintrow): transspect -> transspec. - -Mon Mar 23 19:04:03 1998 Olaf Weber <olaf@infovore.xs4all.nl> - - * mftalk.c (mf_mftalk_initscreen): Correction from Mathias - Herberts. - -Wed Feb 11 17:19:54 1998 Olaf Weber <infovore@xs4all.nl> - - * epsf.c: New version from Mathias Herberts. - -Tue Feb 10 21:10:20 1998 Olaf Weber <infovore@xs4all.nl> - - * mftalk.c: Patches to improve handling of pipes, after Mathias - Herberts. - - * epsf.c: Pseudo-window EPS server contributed by Mathias Herberts - <herberts@infini.fr> - - * Makefile.in: Add epsf.o to objects. - -Fri Jan 23 14:59:22 1998 Olaf Weber <infovore@xs4all.nl> - - * win32.c: Patches from Fabrice Popineau. - -Sat Jan 17 09:45:20 1998 Olaf Weber <infovore@xs4all.nl> - - * mftalk.c (app_type): Wrong prototype. - (mf_talk_initscreen): We use the calling sequence of execl, not - execve. Undefine input and output, as these are macros on some - machines. From Mathias Herberts <Mathias.Herberts@irisa.fr> - -Thu Nov 13 19:17:42 1997 Olaf Weber <infovore@xs4all.nl> - - * next.c (mf_next_paintrow): Forgot to add the P4C macro name. - -Fri Oct 24 13:42:15 1997 Olaf Weber <infovore@xs4all.nl> - - * trap.c: By way of boilerplating, cast to long, not int, for - printing. - - * win32.c, x11-Xlib.c, x11-Xt.c, uniterm.c trap.c, tek.c, - suntools.c, regis.c, next.c, mftalk.c, hp2627.c, amiga.c: - Prototypes for the mf_*_{blankrectangle,paintrow} functions. - -Mon Oct 20 08:48:51 1997 Olaf Weber <infovore@xs4all.nl> - - * Makefile.in [objects]: Add win32.o. - - * trap.c: Insert casts to ensure that the arguments to fprintf - match the format. - - * win32.c: Nef file, adds support for win32 graphical output. - From Fabrice Popineau. - -Thu Feb 13 16:13:13 1997 Karl Berry <karl@cs.umb.edu> - - * x11-Xt.c (wchar_t) [FOIL_X_WCHAR_T]: Had polarity of #if test wrong. - From: Olaf Weber <Olaf.Weber@cwi.nl>. - -Mon Jan 20 17:30:15 1997 Karl Berry <karl@cs.umb.edu> - - * Version 7.0. - -Tue Dec 3 15:10:13 1996 Ulrik Vieth <vieth@thphy.uni-duesseldorf.de> - - * Makefile.in (prog_cflags): Oops, the previous change didn't work. - Have to set this to -I.. -I$(srcdir)/.. $(x_cppflags). - -Tue Dec 3 00:19:27 1996 Ulrik Vieth <vieth@thphy.uni-duesseldorf.de> - - * Makefile.in (prog_cflags): Set this to $(x_cppflags) so that - the X include path will eventually end up in ALL_CPPFLAGS. - -Tue Dec 3 00:19:27 1996 Ulrik Vieth <vieth@thphy.uni-duesseldorf.de> - - * Makefile.in (prog_cflags): Set this to $(x_cppflags) so that - the X include path will eventually end up in ALL_CPPFLAGS. - -Mon Aug 5 16:30:17 1996 Karl Berry <karl@cs.umb.edu> - - * x11-Xlib.c (mf_x11_initscreen): tvect - 1 should be just tvect. - From DEK et al. - -Fri Jul 26 15:47:50 1996 Karl Berry <karl@cs.umb.edu> - - * Makefile.in: Remove co.make. - -Wed May 15 16:58:01 1996 Karl Berry <karl@cs.umb.edu> - - * mftalk.c: Doc fix. - -Tue Feb 13 16:10:54 1996 Karl Berry <karl@cs.umb.edu> - - * x11-Xt.c: Missing close-comment. - - * Makefile.in: Include rdepend.make. - -Fri Dec 29 17:15:38 1995 Karl Berry <karl@cs.umb.edu> - - * Makefile.in: misc.make is now clean.make. - -Sat Nov 18 17:11:26 1995 Karl Berry <karl@cs.umb.edu> - - * Makefile.in (distclean): New target to remove x11.c. From Peter - Dyballa. - -Thu Nov 16 16:28:22 1995 Karl Berry <karl@cs.umb.edu> - - * amiga.c: Replacement file. - * trap.c (EXTERN): Define as extern, just as with the rest of the - modules. From Andreas Scherer. - -Mon Oct 9 16:51:17 1995 Karl Berry <karl@cs.umb.edu> - - * Makefile.in (x11.c): Use $(srcdir). From Simon. - -Fri Jul 21 15:48:25 1995 Karl Berry <karl@cs.umb.edu> - - * mftalk.c: The FSF has a new address. - -Tue Jul 18 15:16:15 1995 Karl Berry <karl@cs.umb.edu> - - * mftalk.c (app_type): Don't just fail under Unix. - -Tue Jun 13 11:37:37 1995 Karl Berry <karl@cs.umb.edu> - - * x11-Xt.c (mf_x11_paintrow): Use tvect, not tvect - 1. - From: FUKUI Rei <fkr@tooyoo1.l.u-tokyo.ac.jp>. - -MFwindow: -Fri Jul 29 11:50:19 1994 Karl Berry (karl@cs.umb.edu) - - * x11-Xt.c: Make the default be to *not* foil X's wchar_t. - -Mon Feb 21 17:49:30 1994 Karl Berry (karl@cs.umb.edu) - - * x11-Xt.c: Include systypes.h for still more wchar_t kludgery. - -Wed Feb 2 11:01:09 1994 Karl Berry (karl@cs.umb.edu) - - * Version 6.1. - -Tue Feb 1 11:24:11 1994 Karl Berry (karl@cs.umb.edu) - - * Makefile.in: Change ../../$(srcdir) to $(srcdir)/../.. throughout. - -Mon Jan 24 07:28:00 1994 Karl Berry (karl@cs.umb.edu) - - * Version 6.0. - -Sun Jan 23 16:25:58 1994 Karl Berry (karl@cs.umb.edu) - - * x11-Xt.c (wchar_t): No, remove that condition. - -Fri Dec 24 13:15:07 1993 Karl Berry (karl@sorrel.hq.ileaf.com) - - * x11.c (wchar_t) [! __INT_WCHAR_T_H]: Conditionalize for aviion. - -|Tue Dec 21 19:33:59 1993 Karl Berry (karl@cs.umb.edu) - - * x11-Xt.c (X_WCHAR): Define. - -Sat Dec 18 14:55:59 1993 Karl Berry (karl@cs.umb.edu) - - * x11.c (wchar_t): Define this to a nonsense symbol, to avoid - redefinitions. - -Sat Dec 4 11:42:36 1993 Karl Berry (karl@cs.umb.edu) - - * Makefile.in (xincludedir): This is now x_include_flags. - -Sun Nov 14 16:19:13 1993 Karl Berry (karl@cs.umb.edu) - - * Makefile.in: Don't need kpathsea definitions? - -Thu Nov 11 15:51:55 1993 Karl Berry (karl@cs.umb.edu) - - * x11-Xt.c: Merge changes from Rainer for the Alpha and reformat. - -Sat Nov 6 13:18:07 1993 Karl Berry (karl@cs.umb.edu) - - * Makefile.in (objs): Add next.o and regis.o. - * next.c, regis.c: New file from joe@rilgp.tamri.com. - -Sun Oct 3 13:27:35 1993 Karl Berry (karl@cs.umb.edu) - - * Makefile.in (*clean): Include standard targets. - -Fri May 21 14:23:06 1993 Karl Berry (karl@cs.umb.edu) - - * x11-Xt.c (mf_x11_updatescreen): Remove unused variable `event'. - (mf_max_x, etc.) [MF_XT_DEBUG]: Conditionalize declaration. - -Sun May 9 10:44:35 1993 Karl Berry (karl@cs.umb.edu) - - * Makefile.in (CPPFLAGS): Add -I for kpathsea. - -Fri Apr 9 16:22:17 1993 Karl Berry (karl@cs.umb.edu) - - * x11-Xt.c (_GCC_WCHAR_T): Define. - -Sat Mar 13 11:26:57 1993 Karl Berry (karl@cs.umb.edu) - - * uniterm.c (tek_dummy): Rename to uniterm_dummy, to avoid warning. - -Fri Feb 12 07:29:19 1993 Karl Berry (karl@cs.umb.edu) - - * Makefile.in (xincludedir): Include $(xincludedir). - -Sun Jan 3 13:30:10 1993 Karl Berry (karl@cs.umb.edu) - - * Makefile.in (distclean): Remove Makefile. - -Sat Dec 19 18:57:02 1992 Karl Berry (karl@cs.umb.edu) - - * Makefile.in ({sun,x11}.c): New targets. - -Sun Dec 13 14:27:15 1992 Karl Berry (karl@cs.umb.edu) - - * Makefile.in (c-sources): New target. - -Sat Dec 12 15:10:49 1992 Karl Berry (karl@cs.umb.edu) - - * Makefile.in: Rewrite from Makefile. - -Sun Oct 18 13:48:49 1992 Karl Berry (karl@cs.umb.edu) - - * tek.c (bcopy, bzero) [SYSV]: Remove these; they're already - defined in c-memstr.h. - -Sun Jul 5 07:29:40 1992 Karl Berry (karl@hayley) - - * sun-sunview.c: give return types to all fns. - - * sun-sunview.c (mf_sun_initscreen): avoid line >= 80 chars. - * uniterm.c (mf_uniterm_paintrow): likewise. - * sun-xview.c (mf_xview_updatescreen): likewise. - -Fri Jul 3 11:22:47 1992 Karl Berry (karl@hayley) - - * Makefile (CFLAGS): define as -g. - (CPPFLAGS): new var. - (.c.o): use it. - (distclean): synonym for realclean. - - * sun-sunview.c: changes from Pierre (like the following). - * sun-gfx.c: rename from sun-suntools.c. - * sun-xview.c: new file. - * sun.c: remove and remake as a link to sun-sunview.c. - -Fri Mar 20 16:53:52 1992 Karl Berry (karl at hayley) - - * Makefile (mostlyclean): new name for `clean'. - (clean): what `realclean' used to be. - (realclean): nothing to do anymore. - (install): install the program. - -Fri Jan 24 09:21:15 1992 Karl Berry (karl at hayley) - - * Makefile (cflags): don't include -I../config. - -Sun Jan 12 12:53:24 1992 Karl Berry (karl at hayley) - - * Makefile (CFLAGS): include config, two levels up. diff --git a/Build/source/texk/web2c/window/Makefile.am b/Build/source/texk/web2c/window/Makefile.am deleted file mode 100644 index 87f9665990c..00000000000 --- a/Build/source/texk/web2c/window/Makefile.am +++ /dev/null @@ -1,37 +0,0 @@ -## Makefile.am for the TeX Live subdirectory texk/web2c/window/ -## -## Copyright (C) 2009-2015 Peter Breitenlohner <tex-live@tug.org> -## You may freely use, modify and/or distribute this file. -## -AM_CPPFLAGS = -I$(top_srcdir) $(KPATHSEA_INCLUDES) $(X_CFLAGS) -AM_CFLAGS = $(WARNING_CFLAGS) - -## Rebuild libkpathsea -@KPATHSEA_RULE@ - -## Built on demand, after `../mfd.h' has been created -EXTRA_LIBRARIES = libwindow.a - -libwindow_a_SOURCES = \ - amiga.c \ - epsf.c \ - hp2627.c \ - mfdisplay.h \ - mftalk.c \ - mftalk.h \ - next.c \ - regis.c \ - suntools.c \ - tek.c \ - trap.c \ - uniterm.c \ - win32.c - -if MFXT -libwindow_a_SOURCES += x11-Xt.c -else !MFXT -libwindow_a_SOURCES += x11-Xlib.c -endif !MFXT - -DISTCLEANFILES = libwindow.a - diff --git a/Build/source/texk/web2c/window/Makefile.in b/Build/source/texk/web2c/window/Makefile.in deleted file mode 100644 index 9efb7c02e2f..00000000000 --- a/Build/source/texk/web2c/window/Makefile.in +++ /dev/null @@ -1,801 +0,0 @@ -# Makefile.in generated by automake 1.16.3 from Makefile.am. -# @configure_input@ - -# Copyright (C) 1994-2020 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__is_gnu_make = { \ - if test -z '$(MAKELEVEL)'; then \ - false; \ - elif test -n '$(MAKE_HOST)'; then \ - true; \ - elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ - true; \ - else \ - false; \ - fi; \ -} -am__make_running_with_option = \ - case $${target_option-} in \ - ?) ;; \ - *) echo "am__make_running_with_option: internal error: invalid" \ - "target option '$${target_option-}' specified" >&2; \ - exit 1;; \ - esac; \ - has_opt=no; \ - sane_makeflags=$$MAKEFLAGS; \ - if $(am__is_gnu_make); then \ - sane_makeflags=$$MFLAGS; \ - else \ - case $$MAKEFLAGS in \ - *\\[\ \ ]*) \ - bs=\\; \ - sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ - | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ - esac; \ - fi; \ - skip_next=no; \ - strip_trailopt () \ - { \ - flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ - }; \ - for flg in $$sane_makeflags; do \ - test $$skip_next = yes && { skip_next=no; continue; }; \ - case $$flg in \ - *=*|--*) continue;; \ - -*I) strip_trailopt 'I'; skip_next=yes;; \ - -*I?*) strip_trailopt 'I';; \ - -*O) strip_trailopt 'O'; skip_next=yes;; \ - -*O?*) strip_trailopt 'O';; \ - -*l) strip_trailopt 'l'; skip_next=yes;; \ - -*l?*) strip_trailopt 'l';; \ - -[dEDm]) skip_next=yes;; \ - -[JT]) skip_next=yes;; \ - esac; \ - case $$flg in \ - *$$target_option*) has_opt=yes; break;; \ - esac; \ - done; \ - test $$has_opt = yes -am__make_dryrun = (target_option=n; $(am__make_running_with_option)) -am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) -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@ -@MFXT_TRUE@am__append_1 = x11-Xt.c -@MFXT_FALSE@am__append_2 = x11-Xlib.c -subdir = window -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/m4/web2c-disable.m4 \ - $(top_srcdir)/../../m4/ax_cxx_compile_stdcxx.m4 \ - $(top_srcdir)/../../m4/kpse-asm.m4 \ - $(top_srcdir)/../../m4/kpse-cairo-flags.m4 \ - $(top_srcdir)/../../m4/kpse-common.m4 \ - $(top_srcdir)/../../m4/kpse-cross.m4 \ - $(top_srcdir)/../../m4/kpse-cxx-hack.m4 \ - $(top_srcdir)/../../m4/kpse-fontconfig-flags.m4 \ - $(top_srcdir)/../../m4/kpse-freetype2-flags.m4 \ - $(top_srcdir)/../../m4/kpse-gmp-flags.m4 \ - $(top_srcdir)/../../m4/kpse-graphite2-flags.m4 \ - $(top_srcdir)/../../m4/kpse-harfbuzz-flags.m4 \ - $(top_srcdir)/../../m4/kpse-icu-flags.m4 \ - $(top_srcdir)/../../m4/kpse-kpathsea-flags.m4 \ - $(top_srcdir)/../../m4/kpse-lex.m4 \ - $(top_srcdir)/../../m4/kpse-lib-version.m4 \ - $(top_srcdir)/../../m4/kpse-libpng-flags.m4 \ - $(top_srcdir)/../../m4/kpse-lt-hack.m4 \ - $(top_srcdir)/../../m4/kpse-lua52-flags.m4 \ - $(top_srcdir)/../../m4/kpse-lua53-flags.m4 \ - $(top_srcdir)/../../m4/kpse-luajit-flags.m4 \ - $(top_srcdir)/../../m4/kpse-macos-framework.m4 \ - $(top_srcdir)/../../m4/kpse-mpfr-flags.m4 \ - $(top_srcdir)/../../m4/kpse-pixman-flags.m4 \ - $(top_srcdir)/../../m4/kpse-pplib-flags.m4 \ - $(top_srcdir)/../../m4/kpse-ptexenc-flags.m4 \ - $(top_srcdir)/../../m4/kpse-socket-libs.m4 \ - $(top_srcdir)/../../m4/kpse-teckit-flags.m4 \ - $(top_srcdir)/../../m4/kpse-warnings.m4 \ - $(top_srcdir)/../../m4/kpse-web2c.m4 \ - $(top_srcdir)/../../m4/kpse-win32.m4 \ - $(top_srcdir)/../../m4/kpse-xpdf-flags.m4 \ - $(top_srcdir)/../../m4/kpse-zlib-flags.m4 \ - $(top_srcdir)/../../m4/kpse-zziplib-flags.m4 \ - $(top_srcdir)/../../m4/libtool.m4 \ - $(top_srcdir)/../../m4/ltoptions.m4 \ - $(top_srcdir)/../../m4/ltsugar.m4 \ - $(top_srcdir)/../../m4/ltversion.m4 \ - $(top_srcdir)/../../m4/lt~obsolete.m4 \ - $(top_srcdir)/../../version.ac $(top_srcdir)/ac/web2c.ac \ - $(top_srcdir)/synctexdir/ac/synctex.ac \ - $(top_srcdir)/synctexdir/synctex_parser_api_level.txt \ - $(top_srcdir)/configure.ac -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) -mkinstalldirs = $(install_sh) -d -CONFIG_HEADER = $(top_builddir)/w2c/c-auto.h \ - $(top_builddir)/ff-config.h -CONFIG_CLEAN_FILES = -CONFIG_CLEAN_VPATH_FILES = -ARFLAGS = cru -AM_V_AR = $(am__v_AR_@AM_V@) -am__v_AR_ = $(am__v_AR_@AM_DEFAULT_V@) -am__v_AR_0 = @echo " AR " $@; -am__v_AR_1 = -libwindow_a_AR = $(AR) $(ARFLAGS) -libwindow_a_LIBADD = -am__libwindow_a_SOURCES_DIST = amiga.c epsf.c hp2627.c mfdisplay.h \ - mftalk.c mftalk.h next.c regis.c suntools.c tek.c trap.c \ - uniterm.c win32.c x11-Xt.c x11-Xlib.c -@MFXT_TRUE@am__objects_1 = x11-Xt.$(OBJEXT) -@MFXT_FALSE@am__objects_2 = x11-Xlib.$(OBJEXT) -am_libwindow_a_OBJECTS = amiga.$(OBJEXT) epsf.$(OBJEXT) \ - hp2627.$(OBJEXT) mftalk.$(OBJEXT) next.$(OBJEXT) \ - regis.$(OBJEXT) suntools.$(OBJEXT) tek.$(OBJEXT) \ - trap.$(OBJEXT) uniterm.$(OBJEXT) win32.$(OBJEXT) \ - $(am__objects_1) $(am__objects_2) -libwindow_a_OBJECTS = $(am_libwindow_a_OBJECTS) -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 = -DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/w2c -I$(top_builddir) -depcomp = $(SHELL) $(top_srcdir)/../../build-aux/depcomp -am__maybe_remake_depfiles = depfiles -am__depfiles_remade = ./$(DEPDIR)/amiga.Po ./$(DEPDIR)/epsf.Po \ - ./$(DEPDIR)/hp2627.Po ./$(DEPDIR)/mftalk.Po \ - ./$(DEPDIR)/next.Po ./$(DEPDIR)/regis.Po \ - ./$(DEPDIR)/suntools.Po ./$(DEPDIR)/tek.Po ./$(DEPDIR)/trap.Po \ - ./$(DEPDIR)/uniterm.Po ./$(DEPDIR)/win32.Po \ - ./$(DEPDIR)/x11-Xlib.Po ./$(DEPDIR)/x11-Xt.Po -am__mv = mv -f -COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ - $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -AM_V_lt = $(am__v_lt_@AM_V@) -am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@) -am__v_lt_0 = --silent -am__v_lt_1 = -LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ - $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \ - $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ - $(AM_CFLAGS) $(CFLAGS) -AM_V_CC = $(am__v_CC_@AM_V@) -am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@) -am__v_CC_0 = @echo " CC " $@; -am__v_CC_1 = -CCLD = $(CC) -LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ - $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ - $(AM_LDFLAGS) $(LDFLAGS) -o $@ -AM_V_CCLD = $(am__v_CCLD_@AM_V@) -am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@) -am__v_CCLD_0 = @echo " CCLD " $@; -am__v_CCLD_1 = -SOURCES = $(libwindow_a_SOURCES) -DIST_SOURCES = $(am__libwindow_a_SOURCES_DIST) -am__can_run_installinfo = \ - case $$AM_UPDATE_INFO_DIR in \ - n|no|NO) false;; \ - *) (install-info --version) >/dev/null 2>&1;; \ - esac -am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) -# Read a list of newline-separated strings from the standard input, -# and print each of them once, without duplicates. Input order is -# *not* preserved. -am__uniquify_input = $(AWK) '\ - BEGIN { nonempty = 0; } \ - { items[$$0] = 1; nonempty = 1; } \ - END { if (nonempty) { for (i in items) print i; }; } \ -' -# Make sure the list of sources is unique. This is necessary because, -# e.g., the same source file might be shared among _SOURCES variables -# for different programs/libraries. -am__define_uniq_tagged_files = \ - list='$(am__tagged_files)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | $(am__uniquify_input)` -ETAGS = etags -CTAGS = ctags -am__DIST_COMMON = $(srcdir)/Makefile.in \ - $(top_srcdir)/../../build-aux/depcomp ChangeLog README -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -ACLOCAL = @ACLOCAL@ -AMTAR = @AMTAR@ -AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ -AR = @AR@ -AS = @AS@ -AUTOCONF = @AUTOCONF@ -AUTOHEADER = @AUTOHEADER@ -AUTOMAKE = @AUTOMAKE@ -AWK = @AWK@ -CAIRO_DEPEND = @CAIRO_DEPEND@ -CAIRO_INCLUDES = @CAIRO_INCLUDES@ -CAIRO_LIBS = @CAIRO_LIBS@ -CC = @CC@ -CCDEPMODE = @CCDEPMODE@ -CFLAGS = @CFLAGS@ -CPP = @CPP@ -CPPFLAGS = @CPPFLAGS@ -CTANGLE = @CTANGLE@ -CTANGLEBOOT = @CTANGLEBOOT@ -CXX = @CXX@ -CXXCPP = @CXXCPP@ -CXXDEPMODE = @CXXDEPMODE@ -CXXFLAGS = @CXXFLAGS@ -CXXLD = @CXXLD@ -CYGPATH_W = @CYGPATH_W@ -DEFS = @DEFS@ -DEPDIR = @DEPDIR@ -DLLTOOL = @DLLTOOL@ -DSYMUTIL = @DSYMUTIL@ -DUMPBIN = @DUMPBIN@ -ECHO_C = @ECHO_C@ -ECHO_N = @ECHO_N@ -ECHO_T = @ECHO_T@ -EGREP = @EGREP@ -EXEEXT = @EXEEXT@ -FGREP = @FGREP@ -FONTCONFIG_INCLUDES = @FONTCONFIG_INCLUDES@ -FONTCONFIG_LIBS = @FONTCONFIG_LIBS@ -FREETYPE2_DEPEND = @FREETYPE2_DEPEND@ -FREETYPE2_INCLUDES = @FREETYPE2_INCLUDES@ -FREETYPE2_LIBS = @FREETYPE2_LIBS@ -FT2_CONFIG = @FT2_CONFIG@ -GMP_DEPEND = @GMP_DEPEND@ -GMP_INCLUDES = @GMP_INCLUDES@ -GMP_LIBS = @GMP_LIBS@ -GRAPHITE2_DEPEND = @GRAPHITE2_DEPEND@ -GRAPHITE2_INCLUDES = @GRAPHITE2_INCLUDES@ -GRAPHITE2_LIBS = @GRAPHITE2_LIBS@ -GREP = @GREP@ -HARFBUZZ_DEPEND = @HARFBUZZ_DEPEND@ -HARFBUZZ_INCLUDES = @HARFBUZZ_INCLUDES@ -HARFBUZZ_LIBS = @HARFBUZZ_LIBS@ -HAVE_CXX11 = @HAVE_CXX11@ -ICU_CONFIG = @ICU_CONFIG@ -ICU_DEPEND = @ICU_DEPEND@ -ICU_INCLUDES = @ICU_INCLUDES@ -ICU_LIBS = @ICU_LIBS@ -INSTALL = @INSTALL@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -KPATHSEA_DEPEND = @KPATHSEA_DEPEND@ -KPATHSEA_INCLUDES = @KPATHSEA_INCLUDES@ -KPATHSEA_LIBS = @KPATHSEA_LIBS@ -KPATHSEA_PATHS_H = @KPATHSEA_PATHS_H@ -KPSEWHICH = @KPSEWHICH@ -LD = @LD@ -LDFLAGS = @LDFLAGS@ -LEX = @LEX@ -LEXLIB = @LEXLIB@ -LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@ -LIBOBJS = @LIBOBJS@ -LIBPNG_DEPEND = @LIBPNG_DEPEND@ -LIBPNG_INCLUDES = @LIBPNG_INCLUDES@ -LIBPNG_LIBS = @LIBPNG_LIBS@ -LIBS = @LIBS@ -LIBSYNCTEX = @LIBSYNCTEX@ -LIBTOOL = @LIBTOOL@ -LIPO = @LIPO@ -LN_S = @LN_S@ -LTLIBOBJS = @LTLIBOBJS@ -LTLIBSYNCTEX = @LTLIBSYNCTEX@ -LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ -LUA52_DEFINES = @LUA52_DEFINES@ -LUA52_DEPEND = @LUA52_DEPEND@ -LUA52_INCLUDES = @LUA52_INCLUDES@ -LUA52_LIBS = @LUA52_LIBS@ -LUA53_DEFINES = @LUA53_DEFINES@ -LUA53_DEPEND = @LUA53_DEPEND@ -LUA53_INCLUDES = @LUA53_INCLUDES@ -LUA53_LIBS = @LUA53_LIBS@ -LUAJIT_DEFINES = @LUAJIT_DEFINES@ -LUAJIT_DEPEND = @LUAJIT_DEPEND@ -LUAJIT_INCLUDES = @LUAJIT_INCLUDES@ -LUAJIT_LDEXTRA = @LUAJIT_LDEXTRA@ -LUAJIT_LIBS = @LUAJIT_LIBS@ -MAINT = @MAINT@ -MAKEINFO = @MAKEINFO@ -MANIFEST_TOOL = @MANIFEST_TOOL@ -MKDIR_P = @MKDIR_P@ -MPFR_DEPEND = @MPFR_DEPEND@ -MPFR_INCLUDES = @MPFR_INCLUDES@ -MPFR_LIBS = @MPFR_LIBS@ -NM = @NM@ -NMEDIT = @NMEDIT@ -OBJCXX = @OBJCXX@ -OBJCXXDEPMODE = @OBJCXXDEPMODE@ -OBJCXXFLAGS = @OBJCXXFLAGS@ -OBJDUMP = @OBJDUMP@ -OBJEXT = @OBJEXT@ -OTANGLE = @OTANGLE@ -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@ -PIXMAN_DEPEND = @PIXMAN_DEPEND@ -PIXMAN_INCLUDES = @PIXMAN_INCLUDES@ -PIXMAN_LIBS = @PIXMAN_LIBS@ -PKG_CONFIG = @PKG_CONFIG@ -PPLIB_DEPEND = @PPLIB_DEPEND@ -PPLIB_INCLUDES = @PPLIB_INCLUDES@ -PPLIB_LIBS = @PPLIB_LIBS@ -PTEXENC_DEPEND = @PTEXENC_DEPEND@ -PTEXENC_INCLUDES = @PTEXENC_INCLUDES@ -PTEXENC_LIBS = @PTEXENC_LIBS@ -RANLIB = @RANLIB@ -SED = @SED@ -SET_MAKE = @SET_MAKE@ -SHELL = @SHELL@ -STRIP = @STRIP@ -SYNCTEXVERSION = @SYNCTEXVERSION@ -SYNCTEX_LT_VERSINFO = @SYNCTEX_LT_VERSINFO@ -TANGLE = @TANGLE@ -TANGLEBOOT = @TANGLEBOOT@ -TECKIT_DEPEND = @TECKIT_DEPEND@ -TECKIT_INCLUDES = @TECKIT_INCLUDES@ -TECKIT_LIBS = @TECKIT_LIBS@ -TIE = @TIE@ -VERSION = @VERSION@ -WARNING_CFLAGS = @WARNING_CFLAGS@ -WARNING_CXXFLAGS = @WARNING_CXXFLAGS@ -WARNING_OBJCXXFLAGS = @WARNING_OBJCXXFLAGS@ -WEB2CVERSION = @WEB2CVERSION@ -XMKMF = @XMKMF@ -XPDF_DEPEND = @XPDF_DEPEND@ -XPDF_INCLUDES = @XPDF_INCLUDES@ -XPDF_LIBS = @XPDF_LIBS@ -X_CFLAGS = @X_CFLAGS@ -X_EXTRA_LIBS = @X_EXTRA_LIBS@ -X_LIBS = @X_LIBS@ -X_PRE_LIBS = @X_PRE_LIBS@ -YACC = @YACC@ -YFLAGS = @YFLAGS@ -ZLIB_DEPEND = @ZLIB_DEPEND@ -ZLIB_INCLUDES = @ZLIB_INCLUDES@ -ZLIB_LIBS = @ZLIB_LIBS@ -ZZIPLIB_DEPEND = @ZZIPLIB_DEPEND@ -ZZIPLIB_INCLUDES = @ZZIPLIB_INCLUDES@ -ZZIPLIB_LIBS = @ZZIPLIB_LIBS@ -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_CXX = @ac_ct_CXX@ -ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ -ac_ct_OBJCXX = @ac_ct_OBJCXX@ -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@ -ipc_socketlibs = @ipc_socketlibs@ -libdir = @libdir@ -libexecdir = @libexecdir@ -localedir = @localedir@ -localstatedir = @localstatedir@ -lua_socketlibs = @lua_socketlibs@ -mandir = @mandir@ -mkdir_p = @mkdir_p@ -oldincludedir = @oldincludedir@ -pdfdir = @pdfdir@ -prefix = @prefix@ -program_transform_name = @program_transform_name@ -psdir = @psdir@ -sbindir = @sbindir@ -sharedstatedir = @sharedstatedir@ -srcdir = @srcdir@ -subdirs = @subdirs@ -sysconfdir = @sysconfdir@ -target_alias = @target_alias@ -top_build_prefix = @top_build_prefix@ -top_builddir = @top_builddir@ -top_srcdir = @top_srcdir@ -wlibs = @wlibs@ -x_ext_lib = @x_ext_lib@ -x_tool_libs = @x_tool_libs@ -AM_CPPFLAGS = -I$(top_srcdir) $(KPATHSEA_INCLUDES) $(X_CFLAGS) -AM_CFLAGS = $(WARNING_CFLAGS) -EXTRA_LIBRARIES = libwindow.a -libwindow_a_SOURCES = amiga.c epsf.c hp2627.c mfdisplay.h mftalk.c \ - mftalk.h next.c regis.c suntools.c tek.c trap.c uniterm.c \ - win32.c $(am__append_1) $(am__append_2) -DISTCLEANFILES = libwindow.a -all: all-am - -.SUFFIXES: -.SUFFIXES: .c .lo .o .obj -$(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 window/Makefile'; \ - $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --foreign window/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__maybe_remake_depfiles)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \ - 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): - -libwindow.a: $(libwindow_a_OBJECTS) $(libwindow_a_DEPENDENCIES) $(EXTRA_libwindow_a_DEPENDENCIES) - $(AM_V_at)-rm -f libwindow.a - $(AM_V_AR)$(libwindow_a_AR) libwindow.a $(libwindow_a_OBJECTS) $(libwindow_a_LIBADD) - $(AM_V_at)$(RANLIB) libwindow.a - -mostlyclean-compile: - -rm -f *.$(OBJEXT) - -distclean-compile: - -rm -f *.tab.c - -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/amiga.Po@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/epsf.Po@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/hp2627.Po@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mftalk.Po@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/next.Po@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/regis.Po@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/suntools.Po@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tek.Po@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/trap.Po@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/uniterm.Po@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/win32.Po@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/x11-Xlib.Po@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/x11-Xt.Po@am__quote@ # am--include-marker - -$(am__depfiles_remade): - @$(MKDIR_P) $(@D) - @echo '# dummy' >$@-t && $(am__mv) $@-t $@ - -am--depfiles: $(am__depfiles_remade) - -.c.o: -@am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\ -@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\ -@am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ $< - -.c.obj: -@am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.obj$$||'`;\ -@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ `$(CYGPATH_W) '$<'` &&\ -@am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'` - -.c.lo: -@am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.lo$$||'`;\ -@am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\ -@am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LTCOMPILE) -c -o $@ $< - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs - -ID: $(am__tagged_files) - $(am__define_uniq_tagged_files); mkid -fID $$unique -tags: tags-am -TAGS: tags - -tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) - set x; \ - here=`pwd`; \ - $(am__define_uniq_tagged_files); \ - 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-am - -CTAGS: ctags -ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) - $(am__define_uniq_tagged_files); \ - 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: cscopelist-am - -cscopelist-am: $(am__tagged_files) - list='$(am__tagged_files)'; \ - 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: $(BUILT_SOURCES) - $(MAKE) $(AM_MAKEFLAGS) distdir-am - -distdir-am: $(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 -installdirs: -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) - -test -z "$(DISTCLEANFILES)" || rm -f $(DISTCLEANFILES) - -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 ./$(DEPDIR)/amiga.Po - -rm -f ./$(DEPDIR)/epsf.Po - -rm -f ./$(DEPDIR)/hp2627.Po - -rm -f ./$(DEPDIR)/mftalk.Po - -rm -f ./$(DEPDIR)/next.Po - -rm -f ./$(DEPDIR)/regis.Po - -rm -f ./$(DEPDIR)/suntools.Po - -rm -f ./$(DEPDIR)/tek.Po - -rm -f ./$(DEPDIR)/trap.Po - -rm -f ./$(DEPDIR)/uniterm.Po - -rm -f ./$(DEPDIR)/win32.Po - -rm -f ./$(DEPDIR)/x11-Xlib.Po - -rm -f ./$(DEPDIR)/x11-Xt.Po - -rm -f Makefile -distclean-am: clean-am distclean-compile distclean-generic \ - distclean-tags - -dvi: dvi-am - -dvi-am: - -html: html-am - -html-am: - -info: info-am - -info-am: - -install-data-am: - -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 ./$(DEPDIR)/amiga.Po - -rm -f ./$(DEPDIR)/epsf.Po - -rm -f ./$(DEPDIR)/hp2627.Po - -rm -f ./$(DEPDIR)/mftalk.Po - -rm -f ./$(DEPDIR)/next.Po - -rm -f ./$(DEPDIR)/regis.Po - -rm -f ./$(DEPDIR)/suntools.Po - -rm -f ./$(DEPDIR)/tek.Po - -rm -f ./$(DEPDIR)/trap.Po - -rm -f ./$(DEPDIR)/uniterm.Po - -rm -f ./$(DEPDIR)/win32.Po - -rm -f ./$(DEPDIR)/x11-Xlib.Po - -rm -f ./$(DEPDIR)/x11-Xt.Po - -rm -f Makefile -maintainer-clean-am: distclean-am maintainer-clean-generic - -mostlyclean: mostlyclean-am - -mostlyclean-am: mostlyclean-compile mostlyclean-generic \ - mostlyclean-libtool - -pdf: pdf-am - -pdf-am: - -ps: ps-am - -ps-am: - -uninstall-am: - -.MAKE: install-am install-strip - -.PHONY: CTAGS GTAGS TAGS all all-am am--depfiles check check-am clean \ - clean-generic clean-libtool cscopelist-am ctags ctags-am \ - distclean distclean-compile 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 installcheck \ - installcheck-am installdirs maintainer-clean \ - maintainer-clean-generic mostlyclean mostlyclean-compile \ - mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ - tags tags-am uninstall uninstall-am - -.PRECIOUS: Makefile - - -@KPATHSEA_RULE@ - -# 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: diff --git a/Build/source/texk/web2c/window/README b/Build/source/texk/web2c/window/README deleted file mode 100644 index 5384bc8b59e..00000000000 --- a/Build/source/texk/web2c/window/README +++ /dev/null @@ -1,2 +0,0 @@ -This directory contains the support for Metafont's online graphics. -The various pieces are used and invoked from lib/texmfmp.c. diff --git a/Build/source/texk/web2c/window/amiga.c b/Build/source/texk/web2c/window/amiga.c deleted file mode 100644 index e975cb39bd5..00000000000 --- a/Build/source/texk/web2c/window/amiga.c +++ /dev/null @@ -1,369 +0,0 @@ -/* - * AMIGA.C: This is the Graphics Window interface to MetaFont for online - * displays on the Commodore Amiga. This file was written by Edmund Mergl - * for his Amiga port of TeX 3.1 and MetaFont 2.7 from the original Unix - * sources (see Fish Disks 611-616). - * - * Some modifications and improvements were made since 1993 by Andreas and - * Stefan Scherer, Abt-Wolf-Strasse 17, 96215 Lichtenfels, Germany. The - * most recent entries from top to bottom always superseed their ancestors, - * just read this as a bit of history: - * - * August 12, 1993: - * - * - We use the `memory hack', so the values for `screenwidth' - * and `screendepth' are to be found in `mfmemory.config'. The - * display height should be set to an InterLace value, this will - * be dealt with by `lacefactor' (see below). - * - * - The display window is no longer resizeable, because no - * `screenupdate' is called and the picture is destroyed. - * - * - Based on ideas by Stefan Becker used in his famous MetaFont port - * to the Amiga of 1991 (see Fish Disk 486) there is a variable - * `scalefactor', which can be set to a (small) positiv integer in - * `mfmemory.config'. This results in a reduced size of the displayed - * characters, so that large font pictures can be drawn on - * small-sized screens (although some distortions are possible). - * - * - By replacing `Move' and `Draw' with `WritePixelLine' and friends - * the speed of the display was heavily increased. - * - * - The display screen is totally controlled by `screenwidth' and - * `screendepth' from `mfmemory.config', when you set `screen_rows' - * and `screen_cols' both to the maximum value `4095' in your local - * device modes file. MetaFont takes the smaller of these pairs. - * - * - `blankrectangle' *always* set the complete display window to the - * background color, not only the area specified by `left', `right', - * `top', and `bottom'. These MetaFont coordinates are now obeyed. - * - * September 11, 1993: - * - * - The changes for `Computers and Typesetting -- Volume A-E' provided - * by Addison-Wesley Publishing Company resulted in MetaFont 2.71. - * This caused a change in the window title. - * - * October 22, 1993: - * - * - The official version 2.71 has the same window title. :-) - * - * January 28, 1994: - * - * - Although SAS/C has an AutoOpen feature for Amiga libraries, - * it is better to define the library bases explicitly. - * - * February 15, 1995: - * - * - Here's my new address: - * Andreas Scherer, Rolandstraße 16, 52070 Aachen, Germany. - * <scherer@genesis.informatik.rwth-aachen.de> (Internet). - * - Make `amiga.c' compliant with the syntax of the other modules - * in the Web2C 6.1 distribution. - * - * February 19, 1995: - * - * - `close_all()' must not have arguments, because we want to - * link it into the `atexit()' function list. - * - To distinguish this version from the old distribution, the - * window title is modified. - * - * March 23, 1995: - * - * - MetaFont has the new version number 2.718. - * - * April 9, 1995: - * - * - rename `screenheight' to `screendepth' for consistency. - * - * October 10, 1995: - * - * - Yet another change in my address, now it's a UNIX CIP pool: - * <scherer@physik.rwth-aachen.de> - * - Cleanup for the new web2c release. - * - * January 20, 2010: - * - * - MetaFont has the new version number 2.718281. - */ - -#define EXTERN extern - -#include "../mfd.h" - -#ifdef AMIGAWIN /* Whole file */ - -#include <proto/exec.h> -#include <proto/graphics.h> -#include <proto/intuition.h> - -struct GfxBase *GfxBase; -struct IntuitionBase *IntuitionBase; - -struct Screen *Scr; -struct Window *Win; - -struct BitMap tempbm; -struct RastPort temprp; - -UBYTE *linearray; - -int scaledwidth = 0; -int scaledheight = 0; - -#ifndef scalefactor -#define scalefactor 1 -#endif - -/* - * The configuration `mf.mcf' of AmiWeb2C holds values for `screenwidth' - * and `screendepth' that always refer to an InterLace screen. In case - * you open the display on a non-InterLaced screen, only half the lines - * are shown to you. This is automatically done by reading the screen - * information and setting `lacefactor'. - */ -int lacefactor; - -#define BACKGROUNDCOLOR 0 -#define PENCOLOR 1 - -#define PUBSCREEN 0 - -/* - * Allocating memory for the array used in `WritePixelLine' needs - * WORD-aligned arguments. - */ -#define ALIGN_SIXTEEN_BIT(A) ((((A)+15)/16)*16) -#ifndef min -#define min(a,b) ((a)<(b)?(a):(b)) -#endif - -/* - * CLOSE_ALL: Clean up on MetaFont termination. This routine has to be - * called just before leaving the program, which is done automatically - * when it gets entered into the `atexit' function list. (See below.) - */ -void close_all(void) -{ - if (linearray) free(linearray); - if (tempbm.Planes[0]) FreeRaster(tempbm.Planes[0], scaledwidth, 1); - if (Win) CloseWindow(Win); - if (GfxBase) CloseLibrary((struct Library *)GfxBase); - if (IntuitionBase) CloseLibrary((struct Library *)IntuitionBase); - -} /* close_all() */ - -#include <mfdisplay.h> - -/* - * INITSCREEN: Initialize the physical display window on the WorkBench - * screen of the Commodore Amiga. Open the necessary libraries and open - * the window according to `screenwidth' and `screendepth' as given in - * the configuration file `mf.mcf'. For this purpose, the - * `OpenWindowTagList' routine was replaced with `OpenWindowTags'. - * The `WFLG_SIZEGADGET' window flag has been removed; resizing the - * window kills the picture and never triggered an `updatescreen'. - */ -int mf_amiga_initscreen(void) -{ -#ifdef DEBUG - printf("\ninitscreen()\n"); -#endif - - /* - * Make sure the resources are correctly returned to the system - * when leaving the program. - */ - if(atexit(&close_all)) { /* Can't happen. */ - fprintf(stderr, "Exit trap failure! (close_all)\n"); - uexit(1); - } - - if (!(IntuitionBase = (struct IntuitionBase *) - OpenLibrary((unsigned char *)"intuition.library",(unsigned long)37L))) - { - fprintf(stderr,"\nCan't open intuition library. V37 required.\n"); - close_all(); - return(FALSE); - } - - if (!(GfxBase = (struct GfxBase *) - OpenLibrary((unsigned char *)"graphics.library",(unsigned long)37L))) - { - fprintf(stderr,"\nCan't open intuition library. V37 required.\n"); - close_all(); - return(FALSE); - } - - if (!(Scr = LockPubScreen(PUBSCREEN))) - { - fprintf(stderr, - "\nCan't get lock on public screen (%d).\n", PUBSCREEN); - close_all(); - return(FALSE); - } - - scaledwidth = screenwidth/scalefactor; - scaledheight = screendepth/scalefactor; - - lacefactor = ((Scr->ViewPort.Modes & LACE) ? 1 : 2); - - if (!(Win = (struct Window *)OpenWindowTags( NULL, - WA_InnerWidth, scaledwidth, - WA_InnerHeight, scaledheight/lacefactor, - WA_Flags, WFLG_DRAGBAR|WFLG_DEPTHGADGET, - WA_AutoAdjust, FALSE, - WA_Title, (ULONG)" MetaFont V2.718281 Online Display", - WA_PubScreen, (ULONG)Scr, - TAG_DONE))) - { - - fprintf(stderr, - "\nCan't open online display window at size %d times %d.\n" -#ifdef VARMEM - "Change your configuration file.\n", -#else - "If you really absolutely need more capacity,\n" - "you can ask a wizard to enlarge me.\n", -#endif - screenwidth,screendepth); - - close_all(); - return(FALSE); - } - - InitBitMap(&tempbm, 1, scaledwidth, 1); - - tempbm.Planes[0] = NULL; - - if(!(tempbm.Planes[0] = (PLANEPTR)AllocRaster(scaledwidth, 1))) - return(FALSE); - - InitRastPort(&temprp); - - temprp.BitMap = &tempbm; - - if(!(linearray = (UBYTE *) - calloc(ALIGN_SIXTEEN_BIT(scaledwidth),sizeof(UBYTE)))) - return(FALSE); - - UnlockPubScreen(NULL, Scr); - -#ifdef DEBUG - printf("initscreen() ok\n"); -#endif - - return(TRUE); - -} /* mf_amiga_initscreen() */ - -/* - * UPDATESCREEN: I really don't know what this function is supposed - * to do. - */ -void mf_amiga_updatescreen(void) -{ -#ifdef DEBUG - printf("updatescreen()\n"); -#endif -} /* mf_amiga_update_screen() */ - -/* - * BLANKRECTANGLE: Reset the drawing rectangle bounded by - * ([left,right],[top,bottom]) to the background color. - */ -void mf_amiga_blankrectangle(screencol left, screencol right, - screenrow top, screenrow bottom) -{ -#ifdef DEBUG - printf("blankrectangle() - left: %d right: %d top: %d bottom: %d\n", - left, right, top, bottom); -#endif - - SetAPen (Win->RPort, BACKGROUNDCOLOR); - RectFill(Win->RPort, - (SHORT)(Win->BorderLeft + left/scalefactor), - (SHORT)(Win->BorderTop + top/(scalefactor*lacefactor)), - (SHORT)(Win->BorderLeft + right/scalefactor - 1), - (SHORT)(Win->BorderTop + bottom/(scalefactor*lacefactor) - 1)); -} /* mf_amiga_blankrectangle() */ - -/* - * PAINTROW: Paint a `row' starting with color `init_color', up to the - * next transition specified by `transition_vector', switch colors, and - * continue for `vector_size' transitions. It now only - * draws into the display window when a new raster line will be affected. - * A lot of pre-drawing and inter-drawing calculations and conditionals - * are evaluated to prepare a fast and clean drawing under the most - * circumstances to be expected on the Amiga. InterLace/Lace is taken - * care of and the sizes are set appropriately not to clobber the borders. - * (Don't ask me why this works; at least on my machine with my config.) - */ -void mf_amiga_paintrow(screenrow row, pixelcolor init_color, - transspec transition_vector, screencol vector_size) -{ - int start, scaledstart, scaledrow, scaledlaced; - register int i=0, j=0, col, color; - -#ifdef DEBUG - printf("paintrow() - vector size: %d\n", vector_size); -#endif - - color = ((0 == init_color) ? BACKGROUNDCOLOR : PENCOLOR); - scaledlaced = scalefactor * lacefactor; - start = *transition_vector++; - scaledstart = start / scalefactor; - scaledrow = row / scaledlaced; - - ReadPixelLine8(Win->RPort, Win->BorderLeft + scaledstart, - Win->BorderTop + scaledrow, scaledwidth - scaledstart, - linearray, &temprp); - - if(scalefactor>1) { - - do { - for(col = *transition_vector++; i<col-start; i++) { - linearray[j] |= color; - if((i%scalefactor)==0) j++; - } - - color = PENCOLOR - color; - -#ifdef DEBUG - printf("move col: %d row: %d ", col, row); - printf("draw col: %d row: %d\n", (*transition_vector)-1, row); -#endif - - } while (--vector_size); - - if(i >= col-start) linearray[++j] |= color; - - } else { - - do { - for(col = *transition_vector++; j<col-start; j++) { - linearray[j] |= color; - } - - color = PENCOLOR - color; - -#ifdef DEBUG - printf("move col: %d row: %d ", col, row); - printf("draw col: %d row: %d\n", (*transition_vector)-1, row); -#endif - - } while (--vector_size); - } - - if( ( Win->BorderTop + scaledrow ) < - ( Win->Height - Win->BorderBottom ) ) - WritePixelLine8(Win->RPort, Win->BorderLeft + scaledstart, - Win->BorderTop + scaledrow, - min(Win->Width - Win->BorderLeft - Win->BorderRight - scaledstart,j), - linearray, &temprp); - -} /* mf_amiga_paintrow() */ - -#else -int amiga_dummy; -#endif /* AMIGAWIN */ diff --git a/Build/source/texk/web2c/window/epsf.c b/Build/source/texk/web2c/window/epsf.c deleted file mode 100644 index e5ed8e55c43..00000000000 --- a/Build/source/texk/web2c/window/epsf.c +++ /dev/null @@ -1,178 +0,0 @@ -/* - * epsf.c -- Encapsulated PostScript window server. - * Copyright (C) 1998 Mathias Herberts <herberts@infini.fr> - * - * These functions generate an Encapsulated PostScript File - * representing the graphics normally shown online. They are - * selected by setting MFTERM to epsf. - * - * The name of the file defaults to metafont.eps but can be - * changed by setting the MFEPSF environment variable. - * - * The file is closed when the program exits. - */ - -/* - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License as - * published by the Free Software Foundation; either version 2 of - * the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - */ - - - -#define EXTERN extern - -#include "../mfd.h" - -#ifdef EPSFWIN - -#include <stdio.h> - -static FILE * psout = NULL; - -/* - * Arrays epsf_{left,right,top,bottom} hold the coordinates of - * open windows. - * - * When a new window is opened, i.e. when blankrectangle is - * called, we check the arrays to see if the blank rectangle - * clears an open window. If it is the case a showpage and an %%EOF is - * appended To the PostScript file and a new header is output thus - * making it easy to separate the pages. - * - * The last page of the file is not terminated by a showpage and - * an %%EOF, the user should add them himself. - * - */ - -static screencol epsf_left[16]; -static screencol epsf_right[16]; -static screenrow epsf_top[16]; -static screenrow epsf_bottom[16]; - -static short epsf_window = 0; -static unsigned int epsf_page = 1; - -void -mf_epsf_header () -{ - fprintf (psout, "%%!PS-Adobe-3.0 EPSF-3.0\n"); - fprintf (psout, "%%%%BoundingBox: -1 -1 %d %d\n", screenwidth, screendepth); - fprintf (psout, "%%%%Creator: METAFONT\n"); - fprintf (psout, "%%%%Page: %d %d\n\n", epsf_page, epsf_page); - fprintf (psout, "1 dup scale\n"); - fprintf (psout, "1 setlinewidth\n\n"); - - epsf_page++; -} - -#include <mfdisplay.h> - -int -mf_epsf_initscreen (void) -{ - if (getenv ("MFEPSF") != (char *) NULL) - { - psout = fopen ((char *) getenv ("MFEPSF"), "w"); - } - else - { - psout = fopen ("metafont.eps", "w"); - } - - if (psout == (FILE *) NULL) - { - return 0; - } - else - { - mf_epsf_header (); - epsf_window = 0; - return 1; - } -} - -void -mf_epsf_updatescreen (void) -{ - fflush (psout); -} - -void -mf_epsf_blankrectangle (screencol left, - screencol right, - screenrow top, - screenrow bottom) -{ - int i; - - for (i = 0; i < epsf_window; i++) - { - if (! ((right - 1 < epsf_left[i]) || (epsf_right[i] < left)) ) /* new window is neither left nor right of window i */ - if ( ! ((top > epsf_bottom[i]) || (epsf_top[i] > bottom - 1))) /* new window is neither below nor above window i */ - { - fprintf (psout, "\nshowpage\n%%%%EOF\n"); - mf_epsf_header (); - epsf_window = 0; - break; - } - } - - epsf_left[epsf_window] = left; - epsf_right[epsf_window] = right - 1; - epsf_top[epsf_window] = top; - epsf_bottom[epsf_window] = bottom - 1; - - epsf_window++; - - fprintf (psout, "1 setgray %d %d %d %d rectfill 0 setgray\n", left, screendepth - 1 - bottom, right - left, bottom - top); - - fflush (psout); -} - - -void -mf_epsf_paintrow (screenrow row, - pixelcolor init_color, - transspec transition_vector, - screencol vector_size) -{ - int col; - int color; - - color = (init_color == 0) ? 1 : 0; - - do - { - col = *transition_vector++; - - if (!color) - { - fprintf (psout, "newpath %d %d moveto %d %d lineto stroke\n", - col, - screendepth - 1 - row, - *transition_vector, - screendepth - 1 - row); - } - - color = (color == 0) ? 1 : 0; - } - while (--vector_size > 0); -} - - -#else /* !EPSFWIN */ - -int epsf_dummy; - -#endif /* !EPSFWIN */ diff --git a/Build/source/texk/web2c/window/hp2627.c b/Build/source/texk/web2c/window/hp2627.c deleted file mode 100644 index a3526e65865..00000000000 --- a/Build/source/texk/web2c/window/hp2627.c +++ /dev/null @@ -1,254 +0,0 @@ -/* - * HP2627 Terminal Window interface to Unix Metafont. - */ - -#define EXTERN extern -#include "../mfd.h" - -#ifdef HP2627WIN - -#include <stdio.h> - -/* - * HP2627a Color Graphics Terminal: Escape code definitions - * - * Drawing pen colors - */ -#define HP2627_BLACK '0' -#define HP2627_RED '1' -#define HP2627_GREEN '2' -#define HP2627_YELLOW '3' -#define HP2627_BLUE '4' -#define HP2627_MAGENTA '5' -#define HP2627_CYAN '6' -#define HP2627_WHITE '7' - -/* - * Initialization: just do a hard graphics reset - * (then we can depend on the defaults - * being as we want them) - */ -#define HP2627_INITSTRING "\033*wR" -#define HP2627_INITSTRINGLEN 4 - -/* - * We want the text to be visible over both background and forground - * graphics data; the best color combination I found for this - * was to set the background RED and then paint with BLUE, - * although the eye doesn't focus on BLUE very well (black - * might be better? Or green? [to get in the holiday mood]) - */ -#define HP2627_BACKGROUNDPEN HP2627_RED -#define HP2627_FOREGROUNDPEN HP2627_BLUE - -static char mf_hp2627_pencolors[2] = { - HP2627_BACKGROUNDPEN, /* white */ - HP2627_FOREGROUNDPEN /* black */ -}; - -/* - * Screen dimensions: Note the origin is at the lower-left corner, - * not the upper left as MF expects - hence we need to translate. - */ -#define HP2627_MAXX 511 -#define HP2627_MAXY 389 - -/* - * The actual Graphics routines. Note that these are highly tty - * dependent so I can minimize the number of characters that - * need to be sent to paint an image, since we only talk to - * the HP at 9.6Kb. - */ - -/* - * function init_screen: boolean; - * - * Return true if window operations legal. - * We always return true (I suppose we could try to - * sense status or something masochistic like that) - */ - -#include <mfdisplay.h> - -int mf_hp2627_initscreen(void) -{ - (void) fflush(stdout); /* make sure pascal-level output flushed */ - (void) write(fileno(stdout), HP2627_INITSTRING, HP2627_INITSTRINGLEN); - return(1); -} - -/* - * procedure updatescreen; - * - * Just make sure screen is ready to view - * (since we do Unix-level WRITE()s, - * we don't really need to flush stdio, - * but why not?) - */ - -void mf_hp2627_updatescreen(void) -{ - (void) fflush(stdout); -} - -/* - * procedure blankrectangle(left, right, top, bottom: integer); - * - * reset rectangle bounded by ([left,right],[top,bottom]) - * to background color - */ - -void mf_hp2627_blankrectangle (screencol left, - screencol right, - screenrow top, - screenrow bottom) -{ - char sprbuf[128]; - - (void) sprintf(sprbuf, "\033*m%cx%d,%d %d,%dE", HP2627_BACKGROUNDPEN, - left, HP2627_MAXY-bottom, - right, HP2627_MAXY-top); - (void) write(fileno(stdout), sprbuf, strlen(sprbuf)); -} - -/* - * procedure paintrow( - * row: screenrow; - * init_color: pixelcolor; - * var trans_vector: transspec; - * vector_size: screencol ); - * - * Paint "row" starting with color "init_color", up to next - * transition specified by "transition_vector", switch colors, - * and continue for "vector_size" transitions. - */ - -/* - * First some useful definitions: - */ -#define ASCIILABS 0 /* plot cmd format: ASCII long abs */ -#define BINLABS 1 /* plot cmd format: BINARY long abs */ -#define BINSINC 2 /* plot cmd format: BINARY short incr */ - -#define ABS(x) ((x>=0)?x:-x) /* absolute value */ - -/* - * An optimized "move to (x,y), with current pen lowered unless UP is - * true" function. Takes advantage of short commands for short - * movements to minimize character traffic to term. - * - * Note: the "x -= 1;" fudge is because we only want to DRAW - * to the next transition_vector entry - 1, but if we - * have the pen raised, we want to move to exactly the - * next point. - */ -#define MOVETO(x,y,up) \ - if (up) *op++ = 'a'; \ - else x -= 1; \ - if (ABS(x-oldx) < 16 && ABS(y-oldy) < 16) { \ - if (currentformat != BINSINC) { \ - *op++ = 'j'; \ - currentformat = BINSINC; \ - } \ - *op++ = (((x-oldx) & 0x1f) + ' '); \ - *op++ = (((y-oldy) & 0x1f) + ' '); \ - } else { \ - if (currentformat != BINLABS) { \ - *op++ = 'i'; \ - currentformat = BINLABS; \ - } \ - *op++ = (((x&0x3e0)>>5)+' '); \ - *op++ = ((x&0x01f) +' '); \ - *op++ = (((y&0x3e0)>>5)+' '); \ - *op++ = ((y&0x01f) +' '); \ - } \ - oldx = x; \ - oldy = y; - -void mf_hp2627_paintrow (screenrow row, - pixelcolor init_color, - transspec transition_vector, - screencol vector_size) -{ - register color; - char outbuf[512*6]; /* enough to hold an alternate color */ - /* in each column */ - register char *op; - register x, y, oldx, oldy; - int currentformat; - - color = (init_color == 0)? 0 : 1; - - /* - * We put all escape sequences in a buffer so the write - * has a chance of being atomic, and not interrupted by - * other independent output to our TTY. Also to avoid - * (literally millions) of stdio calls. - */ - op = outbuf; - /* - * Select current pen to be the color of the first segment: - * - * our strategy here is to paint a long line from the first - * transition_vector value (left edge of row) to the last - * transition_vector entry (right edge of row). Then we switch - * colors to the contrasting color, and paint alternate - * segments with that color. Would that the HP2627 would provide - * a mode to paint the "background" color while the PEN is lifted. - * However, this is faster than using rectangular area fills. - */ - - *op++ = '\033'; *op++ = '*'; *op++ = 'm'; - *op++ = mf_hp2627_pencolors[color]; - *op++ = 'X'; - - /* - * Reset our "remembered" state for (X,Y) positioning and plot - * command format - */ - oldx = oldy = -999; - currentformat = ASCIILABS; - - /* - * Now, paint across the entire width of this row, make it the - * initial segment color. - */ - x = *transition_vector; - y = HP2627_MAXY-row; - *op++ = '\033'; *op++ = '*'; *op++ = 'p'; - MOVETO(x,y,1); - x = transition_vector[vector_size]; - MOVETO(x,y,0); - *op++ = 'Z'; - - /* - * If there remain other segments (of contrasting color) to paint, - * switch pens colors and draw them - */ - if (--vector_size > 0) { - *op++ = '\033'; *op++ = '*'; *op++ = 'm'; - *op++ = mf_hp2627_pencolors[1-color]; *op++ = 'X'; - color = 1-color; - - oldx = oldy = -999; - currentformat = ASCIILABS; - *op++ = '\033'; *op++ = '*'; *op++ = 'p'; - x = *++transition_vector; - MOVETO(x,y,1); - while (vector_size-- > 0) { - x = *++transition_vector; - MOVETO(x,y,(color==init_color)); - color = 1 - color; - }; - *op++ = 'Z'; - }; - - /* - * Write the resulting plot commands, hopefully atomically - */ - (void) write(fileno(stdout), outbuf, op-outbuf); -} - -#else -int hp2627_dummy; -#endif /* HP2627WIN */ diff --git a/Build/source/texk/web2c/window/mfdisplay.h b/Build/source/texk/web2c/window/mfdisplay.h deleted file mode 100644 index a1a0cbc2ace..00000000000 --- a/Build/source/texk/web2c/window/mfdisplay.h +++ /dev/null @@ -1,24 +0,0 @@ -/* mfdisplay.h: include file for Metafont display routines. - - This file is public domain. */ - -#define MF_DISPLAY_PROTOS(x) \ -extern int mf_ ## x ## _initscreen (void); \ -extern void mf_ ## x ## _updatescreen (void); \ -extern void mf_ ## x ## _blankrectangle (screencol, screencol, screenrow, screenrow); \ -extern void mf_ ## x ## _paintrow (screenrow, pixelcolor, transspec, screencol); - -MF_DISPLAY_PROTOS(amiga) -MF_DISPLAY_PROTOS(epsf) -MF_DISPLAY_PROTOS(hp2627) -MF_DISPLAY_PROTOS(mftalk) -MF_DISPLAY_PROTOS(next) -MF_DISPLAY_PROTOS(regis) -MF_DISPLAY_PROTOS(sun) -MF_DISPLAY_PROTOS(tektronix) -MF_DISPLAY_PROTOS(uniterm) -MF_DISPLAY_PROTOS(win32) -MF_DISPLAY_PROTOS(x11) -MF_DISPLAY_PROTOS(trap) - -#undef MF_DISPLAY_PROTOS diff --git a/Build/source/texk/web2c/window/mftalk.c b/Build/source/texk/web2c/window/mftalk.c deleted file mode 100644 index 880b0b8c34f..00000000000 --- a/Build/source/texk/web2c/window/mftalk.c +++ /dev/null @@ -1,275 +0,0 @@ -/* mftalk.c -- generic Metafont window server. - Copyright (C) 1994 Ralph Schleicher - Slightly modified for Web2c 7.0 by Karl Berry. - Further modifications for Web2C 7.2 by Mathias.Herberts@irisa.fr */ - -/* This library is free software; you can redistribute it and/or - modify it under the terms of the GNU General Public License as - published by the Free Software Foundation; either version 2 of - the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this library; if not, write to the Free Software - Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ - -/* Please remember the following for porting to UNIX: - - pid = fork (); - if (pid == 0) - execve (...); pid = spawnve (mode, ...); - else if (pid == -1) if (pid == -1) - error (); error (); - else else - success (); success (); - - Spawnve(2) has many different modes and a `session' is indicated by - running on an extra terminal. */ - - -#define EXTERN extern -#include "../mfd.h" - -#ifdef MFTALKWIN - -#undef input -#undef output -#undef read -#undef write -#ifdef OS2 -#include <sys/param.h> -#include <process.h> -extern int close (int); -extern int pipe (int *); -extern int read (int, void *, size_t); -extern int setmode (int, int); -extern int write (int, const void *, size_t); -#endif -#include <fcntl.h> -#include <signal.h> -#include <kpathsea/variable.h> -#include "mftalk.h" - -/* We use SIGCHLD, but fall back on SIGCLD if that's all we have. */ -#if !defined (SIGCHLD) && defined (SIGCLD) -#define SIGCHLD SIGCLD -#endif - -#define fatal(func, cond) do { if (cond) FATAL_PERROR ("perror"); } while (0) - -static RETSIGTYPE child_died (int sig); -static string app_type (char *prog, int *app); - -static int pid = -1; /* Process ID of our child. */ -static int win = -1; /* Write handle to the `window'. */ -static int buf[8]; /* Temporary buffer. */ -static RETSIGTYPE (*old) (); /* Old signal handler. */ - - -#include <mfdisplay.h> - -int -mf_mftalk_initscreen (void) -{ - int app; /* Client application type. */ - char *prog, *name; /* Client program name. */ - /* Size of METAFONT window. */ - char height[MAX_INT_LENGTH], width[MAX_INT_LENGTH]; - /* Inherited pipe handles. */ - char input[MAX_INT_LENGTH], output[MAX_INT_LENGTH]; - char parent[MAX_INT_LENGTH]; /* My own process ID. */ - int sc_pipe[2]; /* Server->Client pipe. */ - int cs_pipe[2]; /* Client->Server pipe. */ - int res, ack; /* Wait until child is ready. */ - - prog = kpse_var_value ("MFTALK"); - if (prog == NULL) - prog = "mftalk.exe"; - - name = app_type (prog, &app); - if (!name) - return 0; - - if (pipe (sc_pipe) == -1) - return 0; - if (pipe (cs_pipe) == -1) - { - close (sc_pipe[0]); - close (sc_pipe[1]); - return 0; - } -#ifdef OS2 - fatal (setmode, setmode (sc_pipe[0], O_BINARY) == -1); - fatal (setmode, setmode (sc_pipe[1], O_BINARY) == -1); - fatal (setmode, setmode (cs_pipe[0], O_BINARY) == -1); - fatal (setmode, setmode (cs_pipe[1], O_BINARY) == -1); -#endif - - old = signal (SIGCHLD, child_died); - fatal (old, old == SIG_ERR); - - sprintf (height, "-h%d", screendepth); - sprintf (width, "-w%d", screenwidth); - sprintf (input, "-i%d", sc_pipe[0]); - sprintf (output, "-o%d", cs_pipe[1]); - sprintf (parent, "-p%d", getpid ()); - -#ifdef OS2 - pid = spawnl (app, name, prog, height, width, input, output, parent, NULL); -#else - pid = fork (); - if (pid == 0) - { - fatal (close, close (0) == -1); - fatal (dup, dup (sc_pipe[0]) != 0); - fatal (close, close (sc_pipe[0]) == -1); - fatal (close, close (sc_pipe[1]) == -1); - fatal (close, close (1) == -1); - fatal (dup, dup (cs_pipe[1]) != 1); - fatal (close, close (cs_pipe[0]) == -1); - fatal (close, close (cs_pipe[1]) == -1); - - /* We still pass the file handles as parameters for - * backward compatibility. instead of sc_pipe[0] and - * cs_pipe[1] we just pass 0 (stdin) and 1 (stdout). - */ - - sprintf (input, "-i0"); - sprintf (output, "-o1"); - - execl (name, prog, height, width, input, output, parent, NULL); - } -#endif /* not OS2 */ - switch (pid) - { - case -1: - failure: - fatal (close, close (sc_pipe[0]) == -1); - fatal (close, close (sc_pipe[1]) == -1); - fatal (close, close (cs_pipe[0]) == -1); - fatal (close, close (cs_pipe[1]) == -1); - fatal (signal, signal (SIGCHLD, old) == SIG_ERR); - break; - default: - res = read (cs_pipe[0], &ack, sizeof (int)); - if (res != sizeof (int) || ack != MF_ACK) - goto failure; - fatal (close, close (cs_pipe[0]) == -1); - win = sc_pipe[1]; - break; - } - - return (win == -1) ? 0 : 1; -} - - -void -mf_mftalk_updatescreen (void) -{ - buf[0] = MF_FLUSH; - write (win, buf, sizeof (int)); -} - - -void -mf_mftalk_blankrectangle (screencol left, - screencol right, - screenrow top, - screenrow bottom) -{ - buf[0] = MF_RECT; - buf[1] = MF_WHITE; - buf[2] = left; - buf[3] = bottom; - buf[4] = right; - buf[5] = top; - - write (win, buf, 6 * sizeof (int)); -} - - -void -mf_mftalk_paintrow (screenrow row, - pixelcolor init_color, - transspec transition_vector, - screencol vector_size) -{ - buf[0] = MF_LINE; - buf[1] = init_color == 0 ? MF_WHITE : MF_BLACK; - buf[2] = *transition_vector++; - buf[3] = row; - buf[4] = --vector_size; - - write (win, buf, 5 * sizeof (int)); - write (win, transition_vector, vector_size * sizeof (int)); -} - - -static string -app_type (string prog, int *app) -{ -#ifdef OS2 - int res, app; - - res = DosSearchPath (0x02 | 0x01, "PATH", prog, buf, len); - if (res != 0) - return -1; - - res = DosQueryAppType (buf, &app); - if (res != 0) - return -1; - - switch (app & 0x07) /* Quick guess. */ - { - case 0x00: return (P_SESSION | P_DEFAULT); - case 0x01: return (P_SESSION | P_FULLSCREEN); - case 0x02: return (P_SESSION | P_WINDOWED); - case 0x03: return (P_PM); - } -#endif /* OS2 */ - - *app = 0; /* Irrelevant. */ - return prog; -} - - -static RETSIGTYPE -child_died (int sig) -{ -#ifdef OS2 - fatal (signal, signal (sig, SIG_ACK) == SIG_ERR); -#endif - fatal (signal, signal (sig, SIG_IGN) == SIG_ERR); - - if (pid == -1 || kill (-pid, 0) == 0) /* This was not our child. */ - { - if (old != SIG_IGN) - { - fatal (signal, signal (sig, old) == SIG_ERR); - fatal (raise, raise (sig) == -1); - } - fatal (signal, signal (sig, child_died) == SIG_ERR); - } - else - { - close (win); /* This may fail. */ - win = -1; - - pid = -1; - - screenstarted = false; /* METAFONT variables. */ - screenOK = false; - - fatal (signal, signal (sig, old) == SIG_ERR); - } -} - -#else /* !MFTALKWIN */ - -int mftalk_dummy; - -#endif /* !MFTALKWIN */ diff --git a/Build/source/texk/web2c/window/mftalk.h b/Build/source/texk/web2c/window/mftalk.h deleted file mode 100644 index 0c0b8fe0603..00000000000 --- a/Build/source/texk/web2c/window/mftalk.h +++ /dev/null @@ -1,43 +0,0 @@ -/* mftalk.h -- METAFONT server/client protocol (not as complex as - it sounds). - - Copyright (C) 1994 Ralph Schleicher */ - -/* This library is free software; you can redistribute it and/or - modify it under the terms of the GNU General Public License as - published by the Free Software Foundation; either version 2 of - the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this library; if not, write to the Free Software - Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ - -#ifndef MFTALK_H -#define MFTALK_H - -/* This is the server to client protocol: - - 'r' [0|1] <left> <bottom> <right> <top> Fill rectangle. - 'l' [0|1] <col> <row> <num> <col> ... Draw a line. - 'f' Update screen. - ^D End of transmission. - - And there is one client to server command: - - ^F Acknowledgment. */ - -#define MF_RECT ((int) 'r') -#define MF_LINE ((int) 'l') -#define MF_FLUSH ((int) 'f') -#define MF_EXIT ((int) ('D' - 64)) -#define MF_ACK ((int) ('F' - 64)) - -#define MF_WHITE 0 -#define MF_BLACK 1 - -#endif /* !MFTALK_H */ diff --git a/Build/source/texk/web2c/window/next.c b/Build/source/texk/web2c/window/next.c deleted file mode 100644 index abc4ba62ccb..00000000000 --- a/Build/source/texk/web2c/window/next.c +++ /dev/null @@ -1,179 +0,0 @@ -/* next.c: display interface for the NeXT, joe@rilgp.tamri.com. - -This device code requires a second program ("DrawingServant") to -act as the interface between sm and the WindowServer. The second program -just serves to listen for commands on a pipe, but otherwise -send everything else with a DPSPrintf to the WindowServer. The servant can -also do things like implement it's own event loop and handle things -like printing, saving .eps and the like. This seems (to me) to be the -best way to put a multiplatform program into a NeXT application. - -You can get DrawingServant from sonata.cc.purdue.edu. -*/ - -/* with not too much work, the client side of things probably -could be on another machine */ -#define EXTERN extern -#include "../mfd.h" - -#ifdef NEXTWIN /* the whole file */ -#define DRAWSERVER "DrawingServant" -#define DEFWIDTH 400 /* default width and height */ -#define DEFHEIGHT 500 - -/*these default values are taken from plain.mf -and are used if we can't see anything better */ -static int nextheight=DEFHEIGHT; -static int nextwidth=DEFWIDTH; -static int outpipe[2],inpipe[2]; -static int pid; -static int nextscreenlooksOK = 0; -char outstring[1024]; /* the longest string pushed though a pipe */ -/* these are used a lot, so macro-ize these two lines */ -#define SENDPS write(outpipe[1],outstring,strlen(outstring)+1) -#define GETACK do{\ - read(inpipe[0],outstring,sizeof(outstring)-1);\ - } while(strncmp(outstring,"Ok",2)) -#ifdef read -#undef read -#endif - -#include <mfdisplay.h> - -int mf_next_initscreen(void) -{ - int i; - void mf_next_closescreen(); - /* strings for height, width, in and out pipes */ - char hstr[20],wstr[20],instr[20],outstr[20]; - - /* I should figure out how to use screen_rows and screen_cols - to size the window. what I think I need is one of leftcol,rightcol - toprow and botrow. Let's find the first which is non-zero, - at least until someone tells me what the real answer is.*/ - - for(i=0;i<16;i++) { - if((leftcol[i]-rightcol[i]) && (toprow[i]-botrow[i])) { - nextwidth = rightcol[i]-leftcol[i]; - nextheight = botrow[i]-toprow[i]; - break; - } - } - - /* fork a process and assign some pipes. return if unsuccessful */ - if( pipe(outpipe)== -1) - return 0; - if( pipe(inpipe)== -1) - return 0; - if( (pid=fork())== -1) - return 0; - - if(pid==0) { - /* things done by the child. we pass it height,width and - input and output pipes */ - sprintf(hstr,"h %d ",nextheight); - sprintf(wstr,"w %d ",nextwidth); - sprintf(outstr,"i %d",outpipe[0]); - sprintf(instr,"o %d",inpipe[1]); - execl(DRAWSERVER,DRAWSERVER,hstr,wstr,instr,outstr,0); - exit(0); - } - sprintf(outstring,"initgraphics\n"); - SENDPS; - GETACK; - nextscreenlooksOK = 1; - - /* The prior version used a hacked version of uexit to kill the - server...at the urging of karl berry, here is a more legit way to - kill the server */ - atexit(*mf_next_closescreen); - - return 1; -} -/* - * void updatescreen; - * does nothing - * - */ -void mf_next_updatescreen(void) -{ -} -/* - * void blankrectangle(int left,int right,int top,int bottom); - * - * blank out a port of the screen. - */ -void mf_next_blankrectangle (screencol left, - screencol right, - screenrow top, - screenrow bottom) -{ - - if(left==0 && top==nextheight && right==nextwidth && bottom==0 ) { - /* clear and forgets PS strings */ - sprintf(outstring,"DSclear"); - } else { - sprintf(outstring, - " 1 setgray %d %d %d %d rectfill 0 setgray \n", - left+1,top+1,right,bottom+1); - } - SENDPS; - GETACK; -} - -/* - * void paintrow(int row,int init_color,int transition_vector, - * int vector_size); - * - * Paint "row" starting with color "init_color", up to next - * transition specified by "transition_vector", switch colors, - * and continue for "vector_size" transitions. - */ -void mf_next_paintrow (screenrow row, - pixelcolor init_color, - transspec transition_vector, - screencol vector_size) -{ - int i,whereami; - if(init_color) { - init_color = 1; - } else { - init_color = 0; - } - whereami = 0; - - for(i=0;i<vector_size;i++) { - if(init_color) { - sprintf(outstring+whereami, - "newpath %d %d moveto %d %d lineto stroke ", - transition_vector[i],nextheight-row, - transition_vector[i+1],nextheight-row); - whereami = strlen(outstring); - /* buffering is good. perhaps. */ - if(whereami > 500) { - SENDPS; - GETACK; - *outstring = 0; - whereami = 0; - } - } - init_color = 1-init_color; - } - if(whereami) { - SENDPS; - GETACK; - } -} -/* this isn't part of the online display routines. We need it to -kill DrawingServant. This is called during exit */ -void mf_next_closescreen(void) -{ - if(nextscreenlooksOK) { - sprintf(outstring,"DSquit"); - SENDPS; - } -} - -#else -int next_dummy; -#endif /* NEXTWIN */ diff --git a/Build/source/texk/web2c/window/regis.c b/Build/source/texk/web2c/window/regis.c deleted file mode 100644 index 196ba946ef5..00000000000 --- a/Build/source/texk/web2c/window/regis.c +++ /dev/null @@ -1,107 +0,0 @@ -/* Regis terminal window interface for Metafont, joe@rilgp.tamri.com. - screen_rows is 480; screen_cols is 800. */ - -#define EXTERN extern -#include "../mfd.h" - -#ifdef REGISWIN /* Whole file */ - -#define ESCAPE 27 - -/* set this up in one of two ways. if defined, display is white characters -on a black background; undefined is the opposite */ -#undef WRITEWHITE - -#include <mfdisplay.h> - -/* - * int init_screen - * Put screen in graphics mode:<ESC>Pp - * Write no or both planes for the background black:S(I0) - * Write both or no planes for the forground white:W(I3) - * Erase screen:S(E) - * Return to alpha mode: <ESC>\ - * - * Assuming that the speed limitation is a serial line to the - * terminal, we want to define macros for the most common - * character combinations. - * Define macros for ,+0]P[ (call this "p") and - * ,+0]V[ (this one is called "v"). - * drawing a line is 4+(2 to 6) characters - * We always return true. - */ - -int mf_regis_initscreen(void) -{ -#ifdef WRITEWHITE - printf("%cPpS(I0)W(I3)S(E)%c",ESCAPE,ESCAPE); -#else - printf("%cPpS(I3)W(I0)S(E)%c",ESCAPE,ESCAPE); -#endif - printf("%cPp@:p,+0]P[@;@:v,+0]V[@;",ESCAPE); - return 1; -} -/* - * procedure updatescreen; - * - */ -void mf_regis_updatescreen(void) -{ -} - /* void blankrectangle(int left,int right,int top,int bottom); - * - * Go to graphics mode: <ESC>Pp - * Move to lower left: P[%d,%d] - * Write no or both planes: W(I0) - * Turn on shading: W(S1) - * Vector to lower right, upper right, upper left, lower left: V's - * Turn off shading: W(S0) - * Write both or no planes: W(I3) - * Return to alpha mode: <ESC>\ - */ -void mf_regis_blankrectangle (screencol left, - screencol right, - screenrow top, - screenrow bottom) -{ - printf( -#ifdef WRITEWHITE - "%cPpP[%d,%d]W(I0)W(S1)V[%d,%d]V[%d,%d]V[%d,%d]V[%d,%d]W(S0)W(I3)%c\\", -#else - "%cPpP[%d,%d]W(I3)W(S1)V[%d,%d]V[%d,%d]V[%d,%d]V[%d,%d]W(S0)W(I0)%c\\", -#endif - ESCAPE,left,bottom,right,bottom,right,top,left,top, - left,bottom,ESCAPE); -} - -/* - * void paintrow(int row, int init_color, int* transition_vector, - * int vector_size); - * Paint "row" starting with color "init_color", up to next - * transition specified by "transition_vector", switch colors, - * and continue for "vector_size" transitions. - */ -void mf_regis_paintrow (screenrow row, - pixelcolor init_color, - transspec transition_vector, - screencol vector_size) -{ - int i; - if(init_color) { - init_color = 1; - } else { - init_color = 0; - } - printf("%cPpP[0,%d]P[",ESCAPE,row); - for(i=0;i<vector_size;i++) { - if(init_color) - printf("%d@v%d@p",transition_vector[i], - transition_vector[i+1]); - init_color = 1-init_color; - } - printf("+0,+0]%c\\",ESCAPE); -} - -#else -int regis_dummy; -#endif /* REGISWIN */ diff --git a/Build/source/texk/web2c/window/suntools.c b/Build/source/texk/web2c/window/suntools.c deleted file mode 100644 index fea24dd4c16..00000000000 --- a/Build/source/texk/web2c/window/suntools.c +++ /dev/null @@ -1,216 +0,0 @@ -/* Link this to sun.c if you are running on a SunView system */ - -/* - * author = "Pierre MacKay (from the original by Paul Richards)" - * version = "0.5", - * date = "5 May 1991 - June 1992" - * filename = "sun_sunview.c", - * contact = "Pierre MacKay", - * email = "mackay@cs.washington.edu" - * Graphics window interface to Metafont for Suns running - * SunView (Sun Unix release 3.n) - * This code is essentially a translation from the old - * sun.c which used <suntool/gfxsw.h>. The model for the - * translation is the example in Appendix C (C.2.) of the - * Sunview 1 Programmer's guide as applied to bouncedemo.c - * There are nice additional benefits, such as a moveable - * and scalable graphics window, and the chance to see - * the controlling window while METAFONT is at work - * - * Destroy checking is bogus, and SunView does not clean up the mess - * if you "quit" from the pulldown menu. You will be left with - * an hysterical orphaned process screaming for a window that isn't - * there. You will have to go elsewhere and KILL that process. - * Otherwise it seems clean. - * - * For the moment this and the XView interface seem to be - * mutually exclusive, since they use library routines with - * the same names, which mightily confuses the loader. - * It doesn't help much to change the name of MFTERM since - * XView wants to name its own terminal "sun" just like - * the SunView terminal - */ - -#define EXTERN extern -#include "../mfd.h" - -#undef _POSIX_SOURCE -#ifdef SUNTOOLSWIN - -/* <sundev/cg9reg.h> wants to have a field named `reset'. Since we - don't need the WEB(2C) reset, no problem. */ -#undef reset - -#include <stdio.h> -#include <sys/types.h> -#include <suntool/sunview.h> -#include <suntool/canvas.h> - -static void repaint_proc(); -static void resize_proc(); - -static Notify_value mf_notice_destroy(); -extern Notify_error notify_dispatch(); - -static int destroy_ready; /* could be used for tighter control */ - -/* - * global handle on the graphics subwindow - */ - -struct MFsubwindow { - int mf_flags; -#define MF_RESTART 0x01 - struct pixwin *mf_pixwin; - struct rect mf_rect; - } sun_mf_subwin; /* Make sure that names storage is allocated. */ - -static struct MFsubwindow *metafont_sw = &sun_mf_subwin; /* window handle */ - -/* - * Gray background for graphics area - */ - -static short mf_graybackground_image[] = {0x5555, 0xaaaa}; - mpr_static(mf_sunview_gray_bkgr, 2, 2, 1, mf_graybackground_image); - - -Rect *rect; -Frame frame; -Canvas canvas; -Pixwin *pw; - -#include <mfdisplay.h> - -/* - * init_screen: boolean; return true if window operations legal - */ - -int -mf_sun_initscreen(void) -{ - frame = window_create(NULL,FRAME, - FRAME_LABEL, "METAFONT", - FRAME_SHOW_LABEL, TRUE, - WIN_ERROR_MSG, "! Window access requires METAFONT to run under suntools\n", - 0); - canvas = window_create(frame, CANVAS, - CANVAS_RESIZE_PROC, resize_proc, - CANVAS_FAST_MONO, TRUE, - WIN_ERROR_MSG, "Can't creat canvas", - 0); - pw = canvas_pixwin(canvas); - - metafont_sw->mf_pixwin = canvas_pixwin(canvas); - - /* interpose a destroy procedure so we can shut down cleanly */ - (void) notify_interpose_destroy_func(frame, mf_notice_destroy); - - /* - * Instead of using window_main_loop, just show the frame. - * Metafont's procedures will be in control, not the notifier. - */ - window_set(frame,WIN_SHOW, TRUE, 0); - - rect = (Rect *)window_get(canvas, WIN_RECT); /* Get current dimensions */ - pw_replrop(pw, - 0, 0, - rect->r_width, - rect->r_height, - PIX_SRC, - &mf_sunview_gray_bkgr, 0, 0); /* clear subwindow */ - - return(1); /* Caller expects a TRUE value */ -} - -/* - * updatescreen; -- just make sure screen is ready to view - */ - -void -mf_sun_updatescreen(void) -{ - (void)notify_dispatch(); -/* if (destroy_ready != 0) return; */ - rect = (Rect *)window_get(canvas, WIN_RECT); /* Get current dimensions */ - if (metafont_sw->mf_flags & MF_RESTART) { - metafont_sw->mf_flags &= ~MF_RESTART; - pw_replrop(pw, - 0, 0, - rect->r_width, - rect->r_height, - PIX_SRC, - &mf_sunview_gray_bkgr, 0, 0); /* clear subwindow */ - } -} - -/* - * blankrectangle: reset rectangle bounded by ([left,right],[top,bottom]) - * to background color - */ - -void -mf_sun_blankrectangle (screencol left, - screencol right, - screenrow top, - screenrow bottom) -{ - pw_writebackground(pw, left, top, - right-left+1, bottom-top+1, PIX_CLR); -} - -/* - * paintrow -- paint "row" starting with color "init_color", up to next - * transition specified by "transition_vector", switch colors, - * and continue for "vector_size" transitions. - */ - -void -mf_sun_paintrow (screenrow row, - pixelcolor init_color, - transspec transition_vector, - screencol vector_size) -{ - register col; - register color; - - (void)notify_dispatch(); - color = (init_color == 0)? 0 : 1; - - do { - col = *transition_vector++; - pw_vector(pw, - col, row, (*transition_vector)-1, row, - PIX_SRC, color); - color = 1 - color; - } while (--vector_size); -} - -static void -repaint_proc( /* Ignore args */ ) -{ - /* if repainting is required, just restart */ - metafont_sw->mf_flags |= MF_RESTART; -} - -static void -resize_proc( /* Ignore args */ ) -{ - metafont_sw->mf_flags |= MF_RESTART; -} - -static Notify_value -mf_notice_destroy(frame, status) - Frame frame; - Destroy_status status; -{ - if (status != DESTROY_CHECKING) { - destroy_ready = TRUE; - (void)notify_stop(); - } - return(notify_next_destroy_func(frame,status)); -} - -#else -int sunview_dummy; -#endif /* SUNTOOLSWIN */ diff --git a/Build/source/texk/web2c/window/tek.c b/Build/source/texk/web2c/window/tek.c deleted file mode 100644 index 86b5108784c..00000000000 --- a/Build/source/texk/web2c/window/tek.c +++ /dev/null @@ -1,149 +0,0 @@ -/* Tektronix terminal window interface for Metafont. */ - -#define EXTERN extern -#include "../mfd.h" - -#ifdef TEKTRONIXWIN /* Whole file */ - -#define FORMFEED 12 -#define ESCAPE 27 -#define GS 29 -#define US 31 -#ifndef TRUE -#define TRUE 1 -#endif -#ifndef FALSE -#define FALSE 0 -#endif -#define WIDTH 1024 /* Screen width */ -#define HEIGHT 780 /* Screen height */ -#define WIDTHINBYTES (WIDTH/8) /* Only works if WIDTH % 8 == 0 */ -#define SETBIT(row,col) screen_pixel[row*WIDTHINBYTES+col/8] |= 1 << 7-col%8 -#define CLEARBIT(row,col) screen_pixel[row*WIDTHINBYTES+col/8] &= \ - ~(1 << 7-col%8) -#define ISSET(row,col) (screen_pixel[row*WIDTHINBYTES+col/8] & 1 << 7-col%8) - -char screen_pixel[WIDTHINBYTES*HEIGHT]; -char zero_array[WIDTHINBYTES]; - -#include <mfdisplay.h> - -/* - * function init_screen: boolean; - * - * Return true if window operations legal. - * We always return true. - */ - -int -mf_tektronix_initscreen(void) -{ - memset(zero_array, 0, sizeof(zero_array)); - return 1; -} - -/* - * procedure updatescreen; - * - * Print out the screen bitmap. - */ -void -mf_tektronix_updatescreen(void) -{ - int r, c, startc, makingline; - - printf("%c%c", ESCAPE, FORMFEED); - for (r = 0; r < HEIGHT; r++) { - makingline = FALSE; - if (memcmp(&screen_pixel[r*WIDTHINBYTES],zero_array,WIDTHINBYTES) == 0) - continue; - for (c = 0; c < WIDTH; c++) { - if (ISSET(r, c)) { - if (!makingline) { - makingline = TRUE; - startc = c; - } - } else if (makingline) { - putchar(GS); - putchar(0x20|((HEIGHT-1)-r)>>5); - putchar(0x60|((HEIGHT-1)-r)&0x1F); - putchar(0x20|startc>>5); - putchar(0x40|startc&0x1F); - putchar(0x60|((HEIGHT-1)-r)&0x1F); /* Don't send high y */ - putchar(0x20|c>>5); - putchar(0x40|c&0x1F); - makingline = FALSE; - } - } - if (makingline) { - putchar(GS); - putchar(0x20|((HEIGHT-1)-r)>>5); - putchar(0x60|((HEIGHT-1)-r)&0x1F); - putchar(0x20|startc>>5); - putchar(0x40|startc&0x1F); - putchar(0x60|((HEIGHT-1)-r)&0x1F); /* Don't send high y */ - putchar(0x20|c>>5); - putchar(0x40|c&0x1F); - } - } - printf("%c%c%c%c%c", GS, 0x23, 0x66, 0x20, 0x40); - putchar(US); - fflush(stdout); -} - -/* - * procedure blankrectangle(left, right, top, bottom: integer); - * - * Blanks out a port of the screen. - */ -void -mf_tektronix_blankrectangle (screencol left, - screencol right, - screenrow top, - screenrow bottom) -{ - int r, c; - - if (left == 0 && right == WIDTH && top == 0 && bottom == HEIGHT) - memset(screen_pixel, 0, sizeof(screen_pixel)); - else - for (r = top; r < bottom; r++) - for (c = left; c < right; c++) - CLEARBIT(r, c); -} - -/* - * procedure paintrow( - * row: screenrow; - * init_color: pixelcolor; - * var trans_vector: transspec; - * vector_size: screencol); - * - * Paint "row" starting with color "init_color", up to next - * transition specified by "transition_vector", switch colors, - * and continue for "vector_size" transitions. - */ -void -mf_tektronix_paintrow (screenrow row, - pixelcolor init_color, - transspec transition_vector, - screencol vector_size) -{ - int k = 0; - int c = transition_vector[0]; - - do { - k++; - do { - if (init_color) - SETBIT(row, c); - else - CLEARBIT(row, c); - } while (++c != transition_vector[k]); - init_color = !init_color; - } while (k != vector_size); -} - -#else -int tek_dummy; -#endif /* TEKTRONIXWIN */ diff --git a/Build/source/texk/web2c/window/trap.c b/Build/source/texk/web2c/window/trap.c deleted file mode 100644 index fa30fae6fa9..00000000000 --- a/Build/source/texk/web2c/window/trap.c +++ /dev/null @@ -1,51 +0,0 @@ -/* trap.c -- generate output for the trap test. See comments in - lib/texmf.c for what each routine does. */ - -#define EXTERN extern -#include "../mfd.h" - - -/* No #ifdef for the whole file, because we always want to support this. */ - -#include <mfdisplay.h> - -/* This returns true if we can do window operations, else false. */ - -int -mf_trap_initscreen(void) -{ - return 1; -} - -void -mf_trap_updatescreen(void) -{ - fputs ("Calling UPDATESCREEN\n", logfile); -} - -void -mf_trap_blankrectangle(screencol left, - screencol right, - screenrow top, - screenrow bottom) -{ - fprintf (logfile, "\nCalling BLANKRECTANGLE(%ld,%ld,%ld,%ld)\n", - (long)left, (long)right, (long)top, (long)bottom); -} - -void -mf_trap_paintrow(screenrow row, - pixelcolor init_color, - transspec transition_vector, - screencol vector_size) -{ - unsigned k; - - fprintf (logfile, "Calling PAINTROW(%ld,%ld;", (long)row, (long)init_color); - for (k = 0; k <= vector_size; k++) { - fprintf (logfile, "%ld", (long)transition_vector[k]); - if (k != vector_size) - putc (',', logfile); - } - fputs (")\n", logfile); -} diff --git a/Build/source/texk/web2c/window/uniterm.c b/Build/source/texk/web2c/window/uniterm.c deleted file mode 100644 index d24efc1a880..00000000000 --- a/Build/source/texk/web2c/window/uniterm.c +++ /dev/null @@ -1,191 +0,0 @@ -/* - * title: uni.c - * abstract: Uniterm Terminal Window interface for Metafont. - * author: T.R.Hageman, Groningen, The Netherlands. - * created: May 1990 - * modified: - * description: - * Uniterm (Simon Poole's terminal emulator for the Atari ST) - * emulates a `smart' Tektronix 4014 graphics terminal, - * and allows selective erasing of the graphics screen. - * (I do not know whether this is a standard feature of smart Teks - * or an invention of Mr. Poole) - * - * This file is offered as an alternative to the "standard" - * tektronix driver (which I find rather slow...) - * - * {{a possible way to improve the standard TEK driver would be to - * remember the (merged) transition lists instead converting to - * a bit map and back again.}} - *---*/ - -#define EXTERN extern -#include "../mfd.h" - -#ifdef UNITERMWIN /* Whole file */ - -#define WIDTH 1024 -#define HEIGHT 780 -/* - * Send a vector to the graphics terminal - * (in a slightly optimized way). - */ -static void -sendvector(x, y) -register unsigned x, y; -{ - static int Hi_Y, Lo_Y, Hi_X; /* remembered values */ - register int Lo_Y_sent = 0; - register int t; -#ifdef DEBUG - if (x >= WIDTH) /* clip... */ - x = WIDTH - 1; - if (y >= HEIGHT) - y = HEIGHT - 1; -#endif - /* - * Send Hi_Y only if it has changed. - */ - if ((t = 0x20|(y >> 5)) != Hi_Y) { - Hi_Y = t, putchar(t); - } - /* - * Likewise, send Lo_Y only if it has changed. - * (and remember that it has been sent) - */ - if ((t = 0x60|(y & 0x1f)) != Lo_Y) { - Lo_Y_sent = 1; - Lo_Y = t, putchar(t); - } - /* - * A slight complication here. If Hi_X has changed, - * we must send Lo_Y too, but only if we didn't already send it. - */ - if ((t = 0x20|(x >> 5)) != Hi_X) { - if (!Lo_Y_sent) - putchar(Lo_Y); - Hi_X = t, putchar(t); - } - /* - * Lo_X is always sent, so don't bother to remember it. - */ - t = 0x40|(x & 0x1f), putchar(t); -} -/* - * Tektronix has origin in lower-left corner, whereas MetaFont - * has its origin in the upper-left corner. - * The next macro hides this. - */ -#define VECTOR(col,row) sendvector((unsigned)(col),(unsigned)(HEIGHT-1-(row))) -/* - * GS - `Dark' vectors are in fact invisible, i.e., a move. - * (Also switches from text- to graphics screen.) - */ -#define DARK() putchar('\35') -/* - * CAN - Switch from graphics- to text screen. - */ -#define TEXT_SCREEN() putchar('\30') -/* - * ESC STX(ETX) - Enable(disable) block-fill mode. - */ -#define BLOCK(on) (putchar('\33'),putchar(2+!(on))) -/* - * ESC / 0(1) d - Set black(white) ink. - */ -#define INK(on) (putchar('\33'), putchar('\57'), \ - putchar('\61'-(on)), putchar('\144')) -/* - * US - Switch to `alpha mode' - */ -#define ALPHA_MODE() putchar('\37') -/* - * ESC FF - clear graphics&alpha screen. - */ -#define ALPHA_CLS(); (putchar('\33'), putchar('\14')) - -#include <mfdisplay.h> - -int -mf_uniterm_initscreen(void) -{ - ALPHA_CLS(); - TEXT_SCREEN(); - return 1; -} -void -mf_uniterm_updatescreen(void) -{ - DARK(); - VECTOR(0,HEIGHT-1); - fflush(stdout); - TEXT_SCREEN(); /* switch to text mode */ -} -void -mf_uniterm_blankrectangle (screencol left, - screencol right, - screenrow top, - screenrow bottom) -{ - if (top==0 && left==0 && bottom>=HEIGHT-1 && right>=WIDTH-1) { - ALPHA_CLS(); - return; - } - DARK(); - VECTOR(left, top); - BLOCK(1); /* setup block erase mode */ - INK(0); /* use white ink */ - VECTOR(right-1, bottom-1); /* this draws the block */ - BLOCK(0); /* back to (black) linedraw mode */ - INK(1); /* black ink */ -} -void -mf_uniterm_paintrow (screenrow row, - pixelcolor init_color, - register transspec transition_vector, - register screencol vector_size) -{ - register int blank = !init_color; -#if 0 - /* This is the basic */ - DARK(); - VECTOR(*transition_vector++, row); /* move to first transition */ - do { - INK(blank ^= 1); - VECTOR(*transition_vector++ - 1, row); - } while (--vector_size > 0); -#endif - register screencol col; - /* However, we optimize the amount of output a bit by blanking - out the row first (since each INK command takes 4 bytes) */ - DARK(); - if (blank) { - VECTOR(transition_vector[((vector_size-1)&~1)+1] - 1, row); - INK(0); - VECTOR(*transition_vector++, row); - INK(1); - if (vector_size==1) - return; - } - else { - if (vector_size > 1) { - VECTOR(transition_vector[vector_size & ~1] - 1, row); - INK(0); - VECTOR(transition_vector[1], row); - INK(1); - DARK(); - } - VECTOR(*transition_vector++, row); - } - do { - col = *transition_vector++; - if ((blank ^= 1) == 0) - DARK(); /* white -> black; move to first black pixel */ - else - col--; /* black -> white; blacken to col-1 */ - VECTOR(col, row); - } while (--vector_size > 0); -} -#else -int uniterm_dummy; -#endif /* UNITERMWIN */ diff --git a/Build/source/texk/web2c/window/win32.c b/Build/source/texk/web2c/window/win32.c deleted file mode 100644 index a520202d3d4..00000000000 --- a/Build/source/texk/web2c/window/win32.c +++ /dev/null @@ -1,422 +0,0 @@ -/* - - Win32 interface for Metafont. - Author: Fabrice Popineau <Fabrice.Popineau@supelec.fr> - - */ - -#define EXTERN extern -#include "../mfd.h" - -#ifdef WIN32WIN -#include <windows.h> - -#ifndef min -#define min(a,b) ((a) < (b) ? (a) : (b)) -#endif -#ifndef max -#define max(a,b) ((a) < (b) ? (b) : (a)) -#endif - -static void Win32Error(const char *caller); - -/* - The following constant enables some hack that should allow the - window to process its messages. Basically, the principle is to - create a thread which will do the message loop. Unfortunately, - it does not seem to work very well :-) - */ -#undef LOOPMSG -#define LOOPMSG 1 - -#undef DEBUG -/* #define DEBUG 1 */ - -static char szTitle[] = " MetaFont V2.718281 Online Display"; -static HWND my_window; -static HDC my_dc; -static HDC drawing_dc; -static HBITMAP hbm; -static MSG msg; -static HANDLE hAccelTable; -static HANDLE hMutex; -/* Scrollbars' variables */ -static SCROLLINFO si; -static int xMinScroll; -static int xMaxScroll; -static int xCurrentScroll; -static int yMinScroll; -static int yMaxScroll; -static int yCurrentScroll; -static BOOL fScroll; -static BOOL fSize; - -#ifdef LOOPMSG -void __cdecl InitGui(void*); -#endif -LRESULT CALLBACK WndProc(HWND hwnd, UINT iMsg, WPARAM wParam, LPARAM lParam); - -#include <mfdisplay.h> - -int -mf_win32_initscreen(void) -{ - int ret; - if ((ret = _beginthread(InitGui, 0, NULL)) == -1) { - fprintf(stderr, "_beginthread returned with %d\n", ret); - return 0; - } - else - return 1; -} - - /* This window should be registered into a class. And maybe the - message loop could run into a separate thread. */ - -void __cdecl InitGui(void *param) -{ - HWND hparentwnd; - HANDLE hinst; - WNDCLASSEX wndclass; - char szFile[80]; - - hinst = GetModuleHandle(NULL); - GetModuleFileName (hinst, szFile, sizeof(szFile)); -#ifdef DEBUG - printf ("hinst = %x\n", hinst); - printf ("File = %s\n", szFile); -#endif - /* Fill in window class structure with parameters that describe - the main window. */ - /* CS_OWNDC : un DC pour chaque fenêtre de la classe */ - wndclass.cbSize = sizeof(wndclass); - wndclass.style = CS_HREDRAW | CS_VREDRAW | CS_OWNDC; - wndclass.lpfnWndProc = (WNDPROC)WndProc; - wndclass.cbClsExtra = 0; - wndclass.cbWndExtra = 0; - wndclass.hInstance = hinst; - wndclass.hIcon = LoadIcon (NULL, IDI_APPLICATION); - wndclass.hIconSm = LoadIcon (NULL, IDI_APPLICATION); - wndclass.hCursor = LoadCursor(NULL, IDC_ARROW); - wndclass.hbrBackground = GetStockObject(WHITE_BRUSH); - wndclass.lpszClassName = szFile; - wndclass.lpszMenuName = NULL; - - if (!RegisterClassEx(&wndclass)) - Win32Error("Register class"); - - hparentwnd = GetFocus(); - my_window = CreateWindow(szFile, szTitle, - WS_OVERLAPPEDWINDOW | WS_HSCROLL | WS_VSCROLL, - CW_USEDEFAULT, 0, - CW_USEDEFAULT, 0, - /* screenwidth, screendepth, */ - hparentwnd, NULL, hinst, NULL); - if (!my_window) { - Win32Error("Create window"); - } -#ifdef DEBUG - fprintf(stderr, "my_window = %x\n", my_window); -#endif - -#ifdef LOOPMSG - /* Acknowledge for UpdateWindow() (WM_PAINT message generated) */ - hMutex = CreateMutex(NULL, FALSE, "DrawingMutex"); - my_dc = GetDC(my_window); - /* Device context for drawing and the associated bitmap. */ - drawing_dc = CreateCompatibleDC(my_dc); - hbm = CreateCompatibleBitmap(my_dc, screenwidth, screendepth); - SelectObject(drawing_dc, hbm); - /* Blank the bitmap */ - SelectObject(drawing_dc, GetStockObject(WHITE_BRUSH)); - PatBlt(drawing_dc, 0, 0, screenwidth, screendepth, PATCOPY); - hAccelTable = LoadAccelerators (hinst, szTitle); - - ShowWindow(my_window, SW_SHOWNORMAL); - UpdateWindow(my_window); - - /* Running the message loop */ - while (GetMessage(&msg, my_window, 0, 0)) { - TranslateMessage(&msg); - DispatchMessage(&msg); - } - -#else - drawing_dc = my_dc = GetDC(my_window); -#endif -} - -/* Make sure the screen is up to date. (section 8.6 Handling the output -buffer) */ - -void -mf_win32_updatescreen(void) -{ - RECT r; - r.left = 0; - r.top = 0; - r.right = screenwidth; - r.bottom = screendepth; - - /* Send a WM_PAINT message to the window. - The rectangle should be invalidated for the message being sent. */ - InvalidateRect(my_window, &r, FALSE); - UpdateWindow(my_window); -} - - -/* Blank the rectangular inside the given coordinates. We don't need to -reset the foreground to black because we always set it at the beginning -of paintrow (below). */ - -void -mf_win32_blankrectangle (screencol left, - screencol right, - screenrow top, - screenrow bottom) -{ - RECT r; - r.left = left; - r.top = top; - r.right = right+1; /* FIXME: must we fill the last row/column ? */ - r.bottom = bottom+1; - /* Fixme : should synchronize with message processing. */ - WaitForSingleObject(hMutex, INFINITE); - FillRect(drawing_dc, &r, GetStockObject(WHITE_BRUSH)); - ReleaseMutex(hMutex); -} - - -/* Paint a row with the given ``transition specifications''. We might be -able to do something here with drawing many lines. */ - -void -mf_win32_paintrow (screenrow row, - pixelcolor init_color, - transspec tvect, - register screencol vector_size) -{ - register int col; - HGDIOBJ CurrentPen; - HGDIOBJ WhitePen = GetStockObject(WHITE_PEN); - HGDIOBJ BlackPen = GetStockObject(BLACK_PEN); - /* FIXME: should sync with msg processing */ - WaitForSingleObject(hMutex, INFINITE); - CurrentPen = (init_color == 0) ? WhitePen : BlackPen; - do { - col = *tvect++; - MoveToEx(drawing_dc, col, (int) row, NULL); - SelectObject(drawing_dc, CurrentPen); - - /* (section 6.3.2 Drawing single and multiple lines) - */ - LineTo(drawing_dc, (int) *tvect, (int) row); - CurrentPen = (CurrentPen == WhitePen) ? BlackPen : WhitePen; - } while (--vector_size > 0); - SelectObject(drawing_dc, GetStockObject(NULL_PEN)); - ReleaseMutex(hMutex); -} - -static void Win32Error(const char *caller) -{ - LPVOID lpMsgBuf; - - FormatMessage( - FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_SYSTEM, - NULL, - GetLastError(), - MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), /* Default language */ - (LPTSTR) &lpMsgBuf, - 0, - NULL - ); - /* Display the string. */ - MessageBox( NULL, lpMsgBuf, caller, MB_OK|MB_ICONINFORMATION ); - /* Free the buffer. */ - LocalFree( lpMsgBuf ); -} - -LRESULT APIENTRY WndProc(HWND hwnd, UINT iMsg, WPARAM wParam, LPARAM lParam) -{ - PAINTSTRUCT ps; - int retval = 0; - -#ifdef DEBUG - fprintf(stderr, "Message %x\n", iMsg); -#endif -#ifdef LOOPMSG - WaitForSingleObject(hMutex, INFINITE); - switch (iMsg) { - case WM_CREATE: - xMinScroll = 0; - xMaxScroll = screenwidth; - xCurrentScroll = 0; - - yMinScroll = 0; - yMaxScroll = screendepth; - yCurrentScroll = 0; - - fScroll = FALSE; - fSize = FALSE; - - break; - case WM_SIZE: - { - int xNewSize, yNewSize; - xNewSize = LOWORD(lParam); - yNewSize = HIWORD(lParam); - - fSize = TRUE; - - xMaxScroll = max(screenwidth, xNewSize); - xCurrentScroll = min(xCurrentScroll, xMaxScroll); - - si.cbSize = sizeof(si); - si.fMask = SIF_RANGE | SIF_PAGE | SIF_POS; - si.nMin = xMinScroll; - si.nMax = xMaxScroll; - si.nPage = xNewSize; - si.nPos = xCurrentScroll; - SetScrollInfo(my_window, SB_HORZ, &si, TRUE); - - yMaxScroll = max(screendepth, yNewSize); - yCurrentScroll = min(yCurrentScroll, yMaxScroll); - - si.cbSize = sizeof(si); - si.fMask = SIF_RANGE | SIF_PAGE | SIF_POS; - si.nMin = yMinScroll; - si.nMax = yMaxScroll; - si.nPage = yNewSize; - si.nPos = yCurrentScroll; - SetScrollInfo(my_window, SB_VERT, &si, TRUE); - } - case WM_PAINT: - { -#ifdef DEBUG - fprintf(stderr, "WM_PAINT message hbm = %x\n", hbm); -#endif - BeginPaint(my_window, &ps); - /* Shouldn't repaint all the screen, but so easy! */ - if (!BitBlt(my_dc, - 0, 0, - screenwidth, screendepth, - drawing_dc, - xCurrentScroll, - yCurrentScroll, SRCCOPY)) - Win32Error("Bitblt"); - EndPaint(my_window, &ps); - retval = 0; - break; - } - case WM_HSCROLL: - { - int xDelta; - int xNewPos; - int yDelta = 0; - switch (LOWORD(wParam)) { - case SB_PAGEUP: - xNewPos = xCurrentScroll - 50; - break; - case SB_PAGEDOWN: - xNewPos = xCurrentScroll + 50; - break; - case SB_LINEUP: - xNewPos = xCurrentScroll - 5; - break; - case SB_LINEDOWN: - xNewPos = xCurrentScroll + 5; - break; - case SB_THUMBPOSITION: - xNewPos = HIWORD(wParam); - break; - default: - xNewPos = xCurrentScroll; - } - xNewPos = max(0, xNewPos); - xNewPos = min(xMaxScroll, xNewPos); - - if (xNewPos == xCurrentScroll) - break; - - fScroll = TRUE; - - xDelta = xNewPos - xCurrentScroll; - xCurrentScroll = xNewPos; - - ScrollWindowEx(my_window, -xDelta, -yDelta, (CONST RECT *)NULL, - (CONST RECT *)NULL, (HRGN)NULL, (LPRECT)NULL, - SW_INVALIDATE); - UpdateWindow(my_window); - - si.cbSize = sizeof(si); - si.fMask = SIF_POS; - si.nPos = xCurrentScroll; - SetScrollInfo(my_window, SB_HORZ, &si, TRUE); - } - break; - - case WM_VSCROLL: - { - int xDelta = 0; - int yNewPos; - int yDelta; - switch (LOWORD(wParam)) { - case SB_PAGEUP: - yNewPos = yCurrentScroll - 50; - break; - case SB_PAGEDOWN: - yNewPos = yCurrentScroll + 50; - break; - case SB_LINEUP: - yNewPos = yCurrentScroll - 5; - break; - case SB_LINEDOWN: - yNewPos = yCurrentScroll + 5; - break; - case SB_THUMBPOSITION: - yNewPos = HIWORD(wParam); - break; - default: - yNewPos = yCurrentScroll; - } - yNewPos = max(0, yNewPos); - yNewPos = min(yMaxScroll, yNewPos); - - if (yNewPos == yCurrentScroll) - break; - - fScroll = TRUE; - - yDelta = yNewPos - yCurrentScroll; - yCurrentScroll = yNewPos; - - ScrollWindowEx(my_window, -xDelta, -yDelta, (CONST RECT *)NULL, - (CONST RECT *)NULL, (HRGN)NULL, (LPRECT)NULL, - SW_INVALIDATE); - UpdateWindow(my_window); - - si.cbSize = sizeof(si); - si.fMask = SIF_POS; - si.nPos = yCurrentScroll; - SetScrollInfo(my_window, SB_VERT, &si, TRUE); - } - break; - - case WM_DESTROY: - PostQuitMessage(0); - retval = 0; - break; - default: - retval = DefWindowProc(hwnd, iMsg, wParam, lParam); - break; - } - ReleaseMutex(hMutex); - return retval; -#else - return DefWindowProc(hwnd, iMsg, wParam, lParam); -#endif -} - -#else -int win32_dummy; -#endif /* WIN32WIN */ diff --git a/Build/source/texk/web2c/window/x11-Xlib.c b/Build/source/texk/web2c/window/x11-Xlib.c deleted file mode 100644 index 91580c7fe48..00000000000 --- a/Build/source/texk/web2c/window/x11-Xlib.c +++ /dev/null @@ -1,283 +0,0 @@ -/* -X Window System version 11 (release 3 et al.) interface for Metafont. - -Modified from Tim Morgan's X Version 11 routines by Richard Johnson. -Modified from that by Karl Berry <karl@umb.edu>. 8/3/89 - -MF can now understand geometry (sort of, at least on a Sun running 3.4 -and using uwm) in the resource database, as in the following in -.Xdefaults to put a window of width 500 and height 600 at (200,50): - -Metafont*geometry: 500x600+200+200 - -You cannot give the geometry on the command line (who would want to)? - -The width and height specified in the resource must not be larger than -the screenwidth and screendepth defined in ../mf/cmf.ch. -If they are, then I reset them to the maximum. - -We don't handle Expose events in general. This means that the window -cannot be moved, resized, or obscured. The problem is that I don't know -when we can look for such events. Adding a check to the main loop of -Metafont was more than I wanted to do. Another problem is that Metafont -does not keep track of the contents of the screen, and so I don't see -how to know what to redraw. The right way to do this is probably to fork -a process, and keep a Pixmap around of the contents of the window. - -I could never have done this without David Rosenthal's Hello World -program for X. See $X/mit/doc/HelloWorld. - -All section numbers refer to Xlib -- C Language X Interface. */ - - -#define EXTERN extern -#include "../mfd.h" - - -#ifdef X11WIN - -#undef input /* the XWMHints structure has a field named `input' */ -#undef output - -#include <X11/Xatom.h> -#include <X11/Xlib.h> -#include <X11/Xutil.h> - - -/* Variables for communicating between the routines we'll write. */ - -static Display *my_display; -static int my_screen; -static Window my_window; -static GC my_gc; -static int white, black; - - -/* Window manager hints. */ - -static XWMHints wm_hints = { - (InputHint|StateHint), /* flags telling which values are set */ - False, /* We don't expect input. */ - NormalState, /* Initial state. */ - 0, /* icon pixmap */ - 0, /* icon window */ - 0, 0, /* icon location (should get from resource?) */ - 0, /* icon mask */ - 0 /* window group */ -}; - - -/* Some constants for the resource database, etc. */ -#define PROGRAM_NAME "Metafont" -#define ARG_GEOMETRY "geometry" -#define BORDER_WIDTH 1 /* Should get this from resource. */ -#define DEFAULT_X_POSITION 0 -#define DEFAULT_Y_POSITION 0 - - -#include <mfdisplay.h> - -/* Return 1 (i.e., true) if display opened successfully, else 0. */ - -int -mf_x11_initscreen(void) -{ - char *geometry; - int geometry_found = 0; - char default_geometry[100]; - XSizeHints sizehints; - XGCValues gcvalues; - - /* We want the default display. (section 2.1 Opening the display) */ - my_display = XOpenDisplay(NULL); - if (my_display == NULL) return 0; - - /* Given a display, we can get the screen and the ``black'' and - ``white'' pixels. (section 2.2.1 Display macros) */ - my_screen = DefaultScreen(my_display); - white = WhitePixel(my_display, my_screen); - black = BlackPixel(my_display, my_screen); - - - sizehints.x = DEFAULT_X_POSITION; - sizehints.y = DEFAULT_Y_POSITION; - sizehints.width = screenwidth; - sizehints.height = screendepth; - sizehints.flags = PPosition|PSize; - - sprintf (default_geometry, "%ux%u+%u+%u", - (unsigned int) screenwidth, (unsigned int) screendepth, - DEFAULT_X_POSITION, DEFAULT_Y_POSITION); - - /* Look up the geometry for this window. (Section 10.2 Obtaining X - environment defaults) */ - geometry = XGetDefault(my_display, PROGRAM_NAME, ARG_GEOMETRY); - - if (geometry != NULL) { - /* (section 10.3 Parsing window geometry) */ - int bitmask = XGeometry(my_display, my_screen, - geometry, default_geometry, - BORDER_WIDTH, - 1, 1, /* ``Font'' width and height. */ - 0, 0, /* Interior padding. */ - &(sizehints.x), &(sizehints.y), - &(sizehints.width), &(sizehints.height)); - - /* (section 9.1.6 Setting and getting window sizing hints) */ - if (bitmask & (XValue|YValue)) { - sizehints.flags |= USPosition; - geometry_found = 1; - } - - if (bitmask & (WidthValue|HeightValue)) { - sizehints.flags |= USSize; - if (sizehints.width > screenwidth) sizehints.width = screenwidth; - if (sizehints.height > screendepth) sizehints.height = screendepth; - geometry_found = 1; - } - } - - - /* Our window is pretty simple. (section 3.3 Creating windows) */ - my_window = XCreateSimpleWindow(my_display, - DefaultRootWindow(my_display), /* parent */ - sizehints.x, sizehints.y, /* upper left */ - sizehints.width, sizehints.height, - BORDER_WIDTH, - black, /* border color */ - white); /* background color */ - - /* (section 9.1.1 Setting standard properties) */ - XSetStandardProperties(my_display, my_window, - PROGRAM_NAME, /* window name */ - PROGRAM_NAME, /* icon name */ - None, /* pixmap for icon */ - 0, 0, /* argv and argc for restarting */ - &sizehints); - XSetWMHints(my_display, my_window, &wm_hints); - - - /* We need a graphics context if we're going to draw anything. - (section 5.3 Manipulating graphics context/state) */ - gcvalues.foreground = black; - gcvalues.background = white; - /* A ``thin'' line. This is much faster than a line of length 1, - although the manual cautions that the results might be less - consistent across screens. */ - gcvalues.line_width = 0; - - my_gc = XCreateGC(my_display, my_window, - GCForeground|GCBackground|GCLineWidth, - &gcvalues); - - /* (section 3.5 Mapping windows) This is the confusing part of the - program, at least to me. If no geometry spec was found, then the - window manager puts up the blinking rectangle, and the user clicks, - all before the following call returns. But if a geometry spec was - found, then we want to do a whole mess of other things, because the - window manager is going to send us an expose event so that we can - bring our window up -- and this is one expose event we have to - handle. */ - XMapWindow(my_display, my_window); - - if (geometry_found) { - /* The window manager sends us an Expose event. Yuck. - */ - XEvent my_event; - /* We certainly don't want to handle anything else. - (section 8.5 Selecting events) - */ - XSelectInput(my_display, my_window, ExposureMask); - - /* We also want to do this right now. This is the confusion. From - stepping through the program under the debugger, it appears - that it is this call to XSync (given the previous call to - XSelectInput) that actually brings the window up -- and yet - without the remaining code, the thing doesn't work right. Very - strange. (section 8.6 Handling the output buffer) - */ - XSync(my_display, 0); - - /* Now get the event. (section 8.8.1 Returning the next event) - */ - XNextEvent(my_display, &my_event); - - /* Ignore all but the last of the Expose events. - (section 8.4.5.1 Expose event processing) - */ - if (my_event.type == Expose && my_event.xexpose.count == 0) { - /* Apparently the network might STILL have my_events coming in. - Let's throw away Expose my_events again. (section 8.8.3 - Selecting my_events using a window or my_event mask) - */ - while (XCheckTypedEvent(my_display, Expose, &my_event)) ; - - /* Finally, let's draw the blank screen. - */ - XClearWindow(my_display, my_window); - } - } - - /* That's it. */ - return 1; -} - - -/* Make sure the screen is up to date. (section 8.6 Handling the output -buffer) */ - -void -mf_x11_updatescreen(void) -{ - XFlush(my_display); -} - - -/* Blank the rectangular inside the given coordinates. We don't need to -reset the foreground to black because we always set it at the beginning -of paintrow (below). */ - -void -mf_x11_blankrectangle(screencol left, - screencol right, - screenrow top, - screenrow bottom) -{ - XSetForeground(my_display, my_gc, white); - XFillRectangle(my_display, my_window, my_gc, - (int) left, - (int) top, - (unsigned) (right - left + 1), - (unsigned) (bottom - top + 1)); -} - - -/* Paint a row with the given ``transition specifications''. We might be -able to do something here with drawing many lines. */ - -void -mf_x11_paintrow(screenrow row, - pixelcolor init_color, - transspec tvect, - screencol vector_size) -{ - register int color, col; - - color = (init_color == 0) ? white : black; - - do { - col = *tvect++; - XSetForeground(my_display, my_gc, color); - - /* (section 6.3.2 Drawing single and multiple lines) - */ - XDrawLine(my_display, my_window, my_gc, col, (int) row, - (int) *tvect, (int) row); - - color = (color == white) ? black : white; - } while (--vector_size > 0); -} - -#else -int x11_dummy; -#endif /* X11WIN */ diff --git a/Build/source/texk/web2c/window/x11-Xt.c b/Build/source/texk/web2c/window/x11-Xt.c deleted file mode 100644 index b7c9c25c405..00000000000 --- a/Build/source/texk/web2c/window/x11-Xt.c +++ /dev/null @@ -1,374 +0,0 @@ -/* x11.c: X11 window interface for Metafont, using Xt. Original by - rusty@garnet.berkeley.edu. */ - -#define EXTERN extern -#include "../mfd.h" - -#ifdef X11WIN /* almost whole file */ - -/* For wchar_t et al., that the X files might want. */ -#include <kpathsea/systypes.h> - -#undef input /* the XWMHints structure has a field named `input' */ -#undef output -#include <X11/Xlib.h> -#include <X11/Intrinsic.h> -#include <X11/StringDefs.h> -#undef wchar_t - -#define PLANE 0 - -static unsigned int mf_defwidth = 0; -static unsigned int mf_defheight = 0; - -static Display *mf_display; -static Window mf_window; - -static Pixmap mf_pixmap; - -static XtAppContext mf_app; - -static GC mf_dgc; /* draw gc */ -static GC mf_egc; /* erase gc */ -static GC mf_cgc; /* copy plane gc */ - -typedef struct -{ - unsigned int mf_width, mf_height; - Pixel mf_fg, mf_bg; -} mf_resources_struct; - -static mf_resources_struct mf_x11_resources; - - -/* Don't paint anything until we're mapped. */ -static Boolean mf_mapped = False; -static Boolean mf_awaiting_expose = True; - -#ifdef MF_XT_DEBUG -static int mf_max_x, mf_max_y; -static int mf_min_x, mf_min_y; - -static void mf_checkextent (); -#endif - -static XtResource mf_resources[] - = { { "width", "Width", XtRInt, sizeof (int), - XtOffset (mf_resources_struct *, mf_width), XtRInt, - (XtPointer) & mf_defwidth }, - - { "height", "Height", XtRInt, sizeof (int), - XtOffset (mf_resources_struct *, mf_height), XtRInt, - (XtPointer) &mf_defheight }, - - { "foreground", "Foreground", XtRPixel, sizeof (Pixel), - XtOffset (mf_resources_struct *, mf_fg), - XtRString, (XtPointer) "Black" }, - - { "background", "Background", XtRPixel, sizeof (Pixel), - XtOffset (mf_resources_struct *, mf_bg), XtRString, - (XtPointer) "White" }, -}; - -/* Maybe someday we'll read options, until then, this is just here for - the resources. */ -static XrmOptionDescRec mf_optiondesclist[] -= { { "-width", "width", XrmoptionSepArg, (XPointer) NULL }, - { "-height", "height", XrmoptionSepArg, (XPointer) NULL }, - { "-fg", "foreground", XrmoptionSepArg, (XPointer) NULL }, - { "-bg", "background", XrmoptionSepArg, (XPointer) NULL }, -}; - -static void mf_events(void); -static void mf_mapstatus(Widget w, XtPointer data, XEvent *ev); -static void mf_newpixmap(unsigned int width, unsigned int height); -static void mf_redraw(void); -static void mf_repaint(Widget w, XtPointer data, XEvent *ev); - -#include <mfdisplay.h> - -/* Return 1 if display opened successfully, else 0. */ - -int -mf_x11_initscreen (void) -{ - XSetWindowAttributes xwa; - Widget mf_toplevel; - Widget mf_canvas; - XGCValues gcv; - Arg args[1]; - int mf_argc; - char *mf_argv[2]; - - mf_argv[0] = "mf"; - mf_argv[1] = NULL; - mf_argc = 1; - - mf_toplevel = XtInitialize ("mf", "Metafont", - mf_optiondesclist, - XtNumber (mf_optiondesclist), - &mf_argc, mf_argv); - - XtGetApplicationResources (mf_toplevel, (XtPointer) & mf_x11_resources, - mf_resources, XtNumber (mf_resources), - NULL, 0); - - if (mf_argc != 1) - { - fprintf (stderr, "Usage: %s\n", mf_argv[0]); - return 0; - } - - /* If nothing specified in their resources (e.g., .Xdefaults) - then use the values of Metafont's "screen". */ - if (mf_x11_resources.mf_width == 0) - mf_x11_resources.mf_width = screenwidth; - if (mf_x11_resources.mf_height == 0) - mf_x11_resources.mf_height = screendepth; - - mf_canvas = XtCreateManagedWidget ("canvas", widgetClass, mf_toplevel, - NULL, 0); - - XtSetArg (args[0], XtNwidth, mf_x11_resources.mf_width); - XtSetValues (mf_canvas, args, 1); - XtSetArg (args[0], XtNheight, mf_x11_resources.mf_height); - XtSetValues (mf_canvas, args, 1); - - /* for mf_x11_updatescreen() */ - mf_app = XtWidgetToApplicationContext (mf_canvas); - - XtAddEventHandler (mf_canvas, (Cardinal) ExposureMask, True, - (XtEventHandler) mf_repaint, NULL); - XtAddEventHandler (mf_canvas, (Cardinal) StructureNotifyMask, True, - (XtEventHandler) mf_mapstatus, NULL); - - XtRealizeWidget (mf_toplevel); - - mf_display = XtDisplay (mf_canvas); - mf_window = XtWindow (mf_canvas); - - /* Since Metafont isn't your typical x window program that - sits in XTMainLoop, if the server supports backing store - and save unders this will help keep the output looking - nice. */ - xwa.backing_store = WhenMapped; - XChangeWindowAttributes (mf_display, mf_window, CWBackingStore, &xwa); - - gcv.background = mf_x11_resources.mf_bg; - gcv.foreground = mf_x11_resources.mf_fg; - gcv.function = GXcopy; - - /* copy plane gc */ - mf_cgc = XCreateGC (mf_display, mf_window, - GCForeground | GCBackground | GCFunction, &gcv); - - mf_newpixmap (screenwidth > mf_x11_resources.mf_width - ? screenwidth : mf_x11_resources.mf_width, - screendepth > mf_x11_resources.mf_height - ? screendepth : mf_x11_resources.mf_height); - - return 1; -} - -void -mf_x11_updatescreen (void) -{ - XEvent event; - - mf_events (); - while (mf_awaiting_expose) - { - XtAppNextEvent (mf_app, &event); - XtDispatchEvent (&event); - } - mf_redraw (); - -#ifdef MF_XT_DEBUG - printf ("max_x=%d, min_x=%d, max_y=%d, min_y=%d\n", - mf_max_x, mf_min_x, - mf_max_y, mf_min_y); -#endif -} - - -void -mf_x11_blankrectangle(screencol left, - screencol right, - screenrow top, - screenrow bottom) -{ - XFillRectangle (mf_display, mf_pixmap, mf_egc, (int) left, (int) top, - (int) (right - left + 1), (int) (bottom - top + 1)); - mf_events (); -} - -void -mf_x11_paintrow(screenrow row, - pixelcolor init_color, - transspec tvect, - screencol vector_size) -{ - GC gc; - int col; - - gc = (init_color == 0) ? mf_egc : mf_dgc; - - do - { - col = *tvect++; - -#ifdef MF_XT_DEBUG - mf_checkextent (col, *tvect, row); -#endif /* MF_XT_DEBUG */ - - XDrawLine (mf_display, mf_pixmap, gc, col, (int) row, - (int) *tvect, (int) row); - - gc = (gc == mf_egc) ? mf_dgc : mf_egc; - } - while (--vector_size > 0); - - mf_events (); -} - -#ifdef MF_XT_DEBUG -static void -mf_checkextent(int x1, int x2, int y) -{ - if (x1 < mf_min_x) - mf_min_x = x1; - if (x1 > mf_max_x) - mf_max_x = x1; - - if (x2 < mf_min_x) - mf_min_x = x2; - if (x2 > mf_max_x) - mf_max_x = x2; - - if (y > mf_max_y) - mf_max_y = y; - if (y < mf_min_y) - mf_min_y = y; -} -#endif /* MF_XT_DEBUG */ - -static void -mf_events (void) -{ - XEvent event; - - if (XtAppPending (mf_app) != 0) - { - while (XtAppPending (mf_app) != 0) - { - XtAppNextEvent (mf_app, &event); - XtDispatchEvent (&event); - } - } -} - -static void -mf_newpixmap(unsigned int width, unsigned int height) -{ - XGCValues gcv; - Pixmap newpixmap; - - /* width == mf_width and height == mf_height - the first time mf_newpixmap() is called. - */ - if (width < mf_x11_resources.mf_width && height < mf_x11_resources.mf_height) - return; - - newpixmap = XCreatePixmap (mf_display, mf_window, width, height, 1); - - gcv.background = 0; - gcv.foreground = 1; - - if (mf_dgc != 0) - XFreeGC (mf_display, mf_dgc); - - /* draw gc */ - gcv.line_width = 1; - mf_dgc = XCreateGC (mf_display, newpixmap, - GCForeground | GCBackground | GCLineWidth, &gcv); - - if (mf_egc != 0) - XFreeGC (mf_display, mf_egc); - - /* erase gc */ - gcv.foreground = 0; - mf_egc = XCreateGC (mf_display, newpixmap, - GCForeground | GCBackground | GCLineWidth, &gcv); - - XFillRectangle (mf_display, newpixmap, mf_egc, 0, 0, width, height); - - if (mf_pixmap != 0) - { - XCopyArea (mf_display, mf_pixmap, newpixmap, mf_dgc, 0, 0, - mf_x11_resources.mf_width, - mf_x11_resources.mf_height, 0, 0); - - XFreePixmap (mf_display, mf_pixmap); - } - - mf_pixmap = newpixmap; - - mf_x11_resources.mf_width = width; - mf_x11_resources.mf_height = height; -} - -static void -mf_repaint(Widget w, XtPointer data, XEvent *ev) -{ - if (!mf_mapped || !ev || ev->type != Expose) - return; - - /* We are a ``simple application''. */ - if (ev->xexpose.count == 0) - { - XEvent event; - - /* skip all excess redraws */ - while (XCheckTypedEvent (mf_display, Expose, &event) != False) - continue; - - mf_redraw (); - mf_awaiting_expose = False; - } -} - - -static void -mf_mapstatus(Widget w, XtPointer data, XEvent *ev) -{ - switch (ev->type) - { - case MapNotify: - mf_mapped = True; - break; - - case UnmapNotify: - mf_mapped = False; - break; - - case ConfigureNotify: - mf_newpixmap (ev->xconfigure.width, ev->xconfigure.height); - mf_redraw (); - break; - } -} - - -static void -mf_redraw (void) -{ - XCopyPlane (mf_display, mf_pixmap, mf_window, mf_cgc, 0, 0, - mf_x11_resources.mf_width, mf_x11_resources.mf_height, - 0, 0, (unsigned long) 1); - - XFlush (mf_display); -} - -#else -int x11_dummy; -#endif /* X11WIN */ |