summaryrefslogtreecommitdiff
path: root/Build/source/texk/windvi/xdvi.h
diff options
context:
space:
mode:
Diffstat (limited to 'Build/source/texk/windvi/xdvi.h')
-rw-r--r--Build/source/texk/windvi/xdvi.h1108
1 files changed, 0 insertions, 1108 deletions
diff --git a/Build/source/texk/windvi/xdvi.h b/Build/source/texk/windvi/xdvi.h
deleted file mode 100644
index e76f42a1534..00000000000
--- a/Build/source/texk/windvi/xdvi.h
+++ /dev/null
@@ -1,1108 +0,0 @@
-/*========================================================================*\
-
-Copyright (c) 1990-1999 Paul Vojta
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to
-deal in the Software without restriction, including without limitation the
-rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
-sell copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
-IN NO EVENT SHALL PAUL VOJTA OR ANYONE ELSE BE LIABLE FOR ANY CLAIM,
-DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
-OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR
-THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-NOTE:
- xdvi is based on prior work, as noted in the modification history
- in xdvi.c.
-
-\*========================================================================*/
-
-/*
- * Written by Eric C. Cooper, CMU
- */
-
-#ifndef XDVI_H
-#define XDVI_H
-
-#define T1 1
-
-/********************************
- * The C environment *
- *******************************/
-
-#include "c-auto.h"
-
-#ifdef __linux
-#define FLAKY_SIGPOLL 1
-#endif
-
-#if STDC_HEADERS
-# include <stddef.h>
-# include <stdlib.h>
- /* the following works around the wchar_t problem */
-# include <X11/X.h>
-# if HAVE_X11_XOSDEFS_H
-# include <X11/Xosdefs.h>
-# endif
-# ifdef X_NOT_STDC_ENV
-# undef X_NOT_STDC_ENV
-# undef X_WCHAR
-# include <X11/Xlib.h>
-# define X_NOT_STDC_ENV
-# endif
-#endif
-
-/* Avoid name clashes with kpathsea. */
-#define xfopen xdvi_xfopen
-
-/* For wchar_t et al., that the X files might want. */
-#include <kpathsea/systypes.h>
-#include <kpathsea/c-memstr.h>
-
-#include <X11/Xlib.h> /* include Xfuncs.h, if available */
-#include <X11/Xutil.h> /* needed for XDestroyImage */
-#include <X11/Xos.h>
-#undef wchar_t
-
-#if XlibSpecificationRelease >= 5
-#include <X11/Xfuncs.h>
-#endif
-
-#ifndef NOTOOL
-
-#include <X11/Intrinsic.h>
-#if (defined(VMS) && (XtSpecificationRelease <= 4)) || defined(lint)
-#include <X11/IntrinsicP.h>
-#endif
-#define TOOLKIT 1
-
-#else /* NOTOOL */
-
-#define XtNumber(arr) (sizeof(arr)/sizeof(arr[0]))
-typedef unsigned long Pixel;
-typedef char Boolean;
-typedef unsigned int Dimension;
-#undef TOOLKIT
-#undef MOTIF
-#undef BUTTONS
-#undef CFG2RES
-
-#endif /* NOTOOL */
-
-#if defined(CFG2RES) && !defined(SELFAUTO)
-#define SELFAUTO 1
-#endif
-
-#if defined(SELFAUTO) && !defined(DEFAULT_CONFIG_PATH)
-#define DEFAULT_CONFIG_PATH "$SELFAUTODIR:$SELFAUTOPARENT"
-#endif
-
-#undef CFGFILE /* no cheating */
-
-#if defined(DEFAULT_CONFIG_PATH)
-#define CFGFILE 1
-#endif
-
-typedef char Bool3; /* Yes/No/Maybe */
-
-#define True 1
-#define False 0
-#define Maybe 2
-
-#define INVALID_WIDTH 017777777777
-
-#ifdef VMS
-#include <string.h>
-#define index strchr
-#define rindex strrchr
-#define bzero(a, b) (void) memset ((void *) (a), 0, (size_t) (b))
-#define bcopy(a, b, c) (void) memmove ((void *) (b), (void *) (a), (size_t) (c))
-#endif
-
-#include <stdio.h>
-#include <setjmp.h>
-
-#if HAVE_UNISTD_H
-#include <unistd.h>
-#endif
-
-#if HAVE_DIRENT_H
-# include <dirent.h>
-# define NAMLEN(dirent) strlen((dirent)->d_name)
-#else
-# define dirent direct
-# define NAMLEN(dirent) (dirent)->d_namlen
-# if HAVE_SYS_NDIR_H
-# include <sys/ndir.h>
-# endif
-# if HAVE_SYS_DIR_H
-# include <sys/dir.h>
-# endif
-# if HAVE_NDIR_H
-# include <ndir.h>
-# endif
-#endif
-
-/* These are for X headers */
-#ifndef NeedFunctionPrototypes
-#if __STDC__
-#define NeedFunctionPrototypes 1
-#else /* STDC */
-#define NeedFunctionPrototypes 0
-#endif /* STDC */
-#endif /* NeedFunctionPrototypes */
-
-#ifndef HAVE_PROTOTYPES
-#if __STDC__
-#define HAVE_PROTOTYPES 1
-#else /* STDC */
-#define HAVE_PROTOTYPES 0
-#endif /* STDC */
-#endif
-
-/* These are for xdvi */
-#if HAVE_PROTOTYPES
-#define ARGS(x) x
-#else
-#define ARGS(x) ()
-#endif
-
-#ifndef KPATHSEA
-
-/* These macros munge function declarations to make them work in both
- cases. The P?H macros are used for declarations, the P?C for
- definitions. See <ansidecl.h> from the GNU C library. P1H(void)
- also works for definitions of routines which take no args. */
-
-#if __STDC__
-
-#define P1H(p1) (p1)
-#define P2H(p1,p2) (p1, p2)
-#define P3H(p1,p2,p3) (p1, p2, p3)
-#define P4H(p1,p2,p3,p4) (p1, p2, p3, p4)
-#define P5H(p1,p2,p3,p4,p5) (p1, p2, p3, p4, p5)
-#define P6H(p1,p2,p3,p4,p5,p6) (p1, p2, p3, p4, p5, p6)
-#define P7H(p1,p2,p3,p4,p5,p6,p7) (p1, p2, p3, p4, p5, p6,p7)
-
-#define P1C(t1,n1)(t1 n1)
-#define P2C(t1,n1, t2,n2) (t1 n1, t2 n2)
-#define P3C(t1,n1, t2,n2, t3,n3)(t1 n1, t2 n2, t3 n3)
-#define P4C(t1,n1, t2,n2, t3,n3, t4,n4) (t1 n1, t2 n2, t3 n3, t4 n4)
-#define P5C(t1,n1, t2,n2, t3,n3, t4,n4, t5,n5) \
- (t1 n1, t2 n2, t3 n3, t4 n4, t5 n5)
-#define P6C(t1,n1, t2,n2, t3,n3, t4,n4, t5,n5, t6,n6) \
- (t1 n1, t2 n2, t3 n3, t4 n4, t5 n5, t6 n6)
-#define P7C(t1,n1, t2,n2, t3,n3, t4,n4, t5,n5, t6,n6, t7,n7) \
- (t1 n1, t2 n2, t3 n3, t4 n4, t5 n5, t6 n6, t7,n7)
-
-#else /* not __STDC__ */
-
-#define P1H(p1) ()
-#define P2H(p1, p2) ()
-#define P3H(p1, p2, p3) ()
-#define P4H(p1,p2,p3,p4) ()
-#define P5H(p1, p2, p3, p4, p5) ()
-#define P6H(p1, p2, p3, p4, p5, p6) ()
-#define P6H(p1, p2, p3, p4, p5, p6, p7) ()
-
-#define P1C(t1,n1) (n1) t1 n1;
-#define P2C(t1,n1, t2,n2) (n1,n2) t1 n1; t2 n2;
-#define P3C(t1,n1, t2,n2, t3,n3) (n1,n2,n3) t1 n1; t2 n2; t3 n3;
-#define P4C(t1,n1, t2,n2, t3,n3, t4,n4) (n1,n2,n3,n4) \
- t1 n1; t2 n2; t3 n3; t4 n4;
-#define P5C(t1,n1, t2,n2, t3,n3, t4,n4, t5,n5) (n1,n2,n3,n4,n5) \
- t1 n1; t2 n2; t3 n3; t4 n4; t5 n5;
-#define P6C(t1,n1, t2,n2, t3,n3, t4,n4, t5,n5, t6,n6) (n1,n2,n3,n4,n5,n6) \
- t1 n1; t2 n2; t3 n3; t4 n4; t5 n5; t6 n6;
-#define P7C(t1,n1, t2,n2, t3,n3, t4,n4, t5,n5, t6,n6, t7,n7) \
- (n1,n2,n3,n4,n5,n6,n7) \
- t1 n1; t2 n2; t3 n3; t4 n4; t5 n5; t6 n6; t7,n7;
-
-#endif /* not __STDC__ */
-
-#endif /* not KPATHSEA */
-
-#ifndef NeedWidePrototypes
-#define NeedWidePrototypes NeedFunctionPrototypes
-#endif
-
-#include <kpathsea/c-vararg.h>
-
-#ifndef _XFUNCPROTOBEGIN
-#define _XFUNCPROTOBEGIN
-#define _XFUNCPROTOEND
-#endif
-
-#ifndef _Xconst
-#if __STDC__
-#define _Xconst const
-#else /* STDC */
-#define _Xconst
-#endif /* STDC */
-#endif /* _Xconst */
-
-#ifndef VOLATILE
-#if __STDC__ || (defined(__stdc__) && defined(__convex__))
-#define VOLATILE volatile
-#else
-#define VOLATILE /* nothing */
-#endif
-#endif
-
-#ifndef NORETURN
-#ifdef __GNUC__
-#define NORETURN volatile
-#else
-#define NORETURN /* nothing */
-#endif
-#endif
-
-#ifndef OPEN_MODE
-#define OPEN_MODE FOPEN_R_MODE
-#endif /* OPEN_MODE */
-
-#ifndef VMS
-#define OPEN_MODE_ARGS _Xconst char *
-#else
-#define OPEN_MODE_ARGS _Xconst char *, _Xconst char *
-#endif
-
-#define Printf (void) printf
-#define Puts (void) puts
-#define Fprintf (void) fprintf
-#define Sprintf (void) sprintf
-#define Fseek (void) fseek
-#define Fread (void) fread
-#define Fputs (void) fputs
-#define Putc (void) putc
-#define Putchar (void) putchar
-#define Fclose (void) fclose
-#define Fflush (void) fflush
-#define Strcat (void) strcat
-#define Strcpy (void) strcpy
-
-#ifdef HTEX
-char *urlocalize P1H(char *filename);
-extern int lastwwwopen;
-#endif
-
-/********************************
- * Types and data *
- *******************************/
-
-#ifndef EXTERN
-#define EXTERN extern
-#define INIT(x)
-#endif
-
-#define MAXDIM 32767
-
-typedef unsigned char ubyte;
-
-#if NeedWidePrototypes
-typedef unsigned int wide_ubyte;
-typedef int wide_bool;
-#define WIDENINT (int)
-#else
-typedef ubyte wide_ubyte;
-typedef Boolean wide_bool;
-#define WIDENINT
-#endif
-
-#if defined(MAKETEXPK) && !defined(MKTEXPK)
-#define MKTEXPK 1
-#endif
-
-/*
- * pixel_conv is currently used only for converting absolute positions
- * to pixel values; although normally it should be
- * ((int) ((x) / shrink_factor + (1 << 15) >> 16)),
- * the rounding is achieved instead by moving the constant 1 << 15 to
- * PAGE_OFFSET in dvi-draw.c.
- */
-#define pixel_conv(x) ((int) ((x) / shrink_factor >> 16))
-#define pixel_round(x) ((int) ROUNDUP(x, shrink_factor << 16))
-#define spell_conv0(n, f) ((long) (n * f))
-#define spell_conv(n) spell_conv0(n, dimconv)
-
-#define BMUNIT unsigned BMTYPE
-#define BMBITS (8 * BMBYTES)
-
-#define ADD(a, b) ((BMUNIT *) (((char *) a) + b))
-#define SUB(a, b) ((BMUNIT *) (((char *) a) - b))
-
-extern BMUNIT bit_masks[BMBITS + 1];
-
-struct frame {
- /* dvi_h and dvi_v is the horizontal and vertical baseline position
- it is the responsebility of the set_char procedure to update
- them. */
- struct framedata {
- long dvi_h, dvi_v, w, x, y, z;
- int pxl_v;
- } data;
- struct frame *next, *prev;
-};
-
-#ifndef TEXXET
-typedef long (*set_char_proc) P1H(wide_ubyte);
-#else
-typedef void (*set_char_proc) P2H(wide_ubyte, wide_ubyte);
-#endif
-
-struct drawinf { /* this information is saved when using virtual fonts */
- struct framedata data;
- struct font *fontp;
- set_char_proc set_char_p;
- int tn_table_len;
- struct font **tn_table;
- struct tn *tn_head;
- ubyte *pos, *end;
- struct font *virtual;
-#ifdef TEXXET
- int dir;
-#endif
-};
-
-EXTERN struct drawinf currinf;
-
-/* entries below with the characters 'dvi' in them are actually stored in
- scaled pixel units */
-
-#define DVI_H currinf.data.dvi_h
-#define PXL_H pixel_conv(currinf.data.dvi_h)
-#define DVI_V currinf.data.dvi_v
-#define PXL_V currinf.data.pxl_v
-#define WW currinf.data.w
-#define XX currinf.data.x
-#define YY currinf.data.y
-#define ZZ currinf.data.z
-#define ROUNDUP(x,y) (((x)+(y)-1)/(y))
-
-EXTERN int current_page;
-EXTERN int total_pages;
-EXTERN int pageno_correct INIT(1);
-EXTERN long magnification;
-EXTERN double dimconv;
-EXTERN double tpic_conv;
-EXTERN int n_files_left; /* for LRU closing of fonts */
-EXTERN time_t dvi_time; /* last mod. time for dvi file */
-EXTERN unsigned int page_w, page_h;
-
-#if defined(GS_PATH) && !defined(PS_GS)
-#define PS_GS
-#endif
-
-#if defined(PS_DPS) || defined(PS_NEWS) || defined(PS_GS)
-#define PS 1
-#else
-#define PS 0
-#endif
-
-#if PS
-EXTERN int scanned_page; /* last page prescanned */
-EXTERN int scanned_page_bak; /* actual value of the above */
-EXTERN int scanned_page_reset; /* number to reset the above to */
-#endif
-
-/*
- * Table of page offsets in DVI file, indexed by page number - 1.
- * Initialized in prepare_pages().
- */
-EXTERN long *page_offset;
-
-/*
- * Mechanism for reducing repeated warning about specials, lost characters, etc.
- */
-EXTERN Boolean warn_spec_now;
-
-// added SU
-EXTERN Boolean delay_src;
-
-/*
- * If we're in the middle of a PSFIG special.
- */
-EXTERN Boolean psfig_begun INIT(False);
-
-/* BEGIN CHUNK xdvi.h 1 */
-#ifdef SRC_SPECIALS
-EXTERN Boolean src_specials_are_evaluated INIT(False);
-EXTERN Boolean src_EditorCmd_filename_first;
-EXTERN int src_tickShape;
-EXTERN int src_tick_height, src_tick_width; /* size of the src tick glyphs */
-#define SPECIAL_SHAPE_MAX_NUM 3 /* number of different shapes (starting from 0)
- for drawing src specials. Hardcoding these here is a bad idea ... */
-EXTERN Cursor save_cursor;
-#define SRC_WARNINGS_SILENT 0
-#define SRC_WARNINGS_MEDIUM 1
-#define SRC_WARNINGS_VERBOSE 2
-#endif
-/* END CHUNK xdvi.h 1 */
-
-/*
- * Bitmap structure for raster ops.
- */
-struct bitmap {
- unsigned short w, h; /* width and height in pixels */
- short bytes_wide; /* scan-line width in bytes */
- char *bits; /* pointer to the bits */
-};
-
-/*
- * Per-character information.
- * There is one of these for each character in a font (raster fonts only).
- * All fields are filled in at font definition time,
- * except for the bitmap, which is "faulted in"
- * when the character is first referenced.
- */
-struct glyph {
- long addr; /* address of bitmap in font file */
- long dvi_adv; /* DVI units to move reference point */
- short x, y; /* x and y offset in pixels */
- struct bitmap bitmap; /* bitmap for character */
- short x2, y2; /* x and y offset in pixels (shrunken bitmap) */
-#ifdef GREY
- XImage *image2;
- char *pixmap2;
- char *pixmap2_t;
-#endif
- struct bitmap bitmap2; /* shrunken bitmap for character */
-};
-
-/*
- * Per character information for virtual fonts
- */
-struct macro {
- ubyte *pos; /* address of first byte of macro */
- ubyte *end; /* address of last+1 byte */
- long dvi_adv; /* DVI units to move reference point */
- Boolean free_me; /* if free(pos) should be called when */
- /* freeing space */
-};
-
-/*
- * The layout of a font information block.
- * There is one of these for every loaded font or magnification thereof.
- * Duplicates are eliminated: this is necessary because of possible recursion
- * in virtual fonts.
- *
- * Also note the strange units. The design size is in 1/2^20 point
- * units (also called micro-points), and the individual character widths
- * are in the TFM file in 1/2^20 ems units, i.e., relative to the design size.
- *
- * We then change the sizes to SPELL units (unshrunk pixel / 2^16).
- */
-
-#define NOMAGSTP (-29999)
-
-typedef void (*read_char_proc) ARGS((register struct font *, wide_ubyte));
-
-struct font {
- struct font *next; /* link to next font info block */
- char *fontname; /* name of font */
- float fsize; /* size information (dots per inch) */
- int magstepval; /* magstep number * two, or NOMAGSTP */
- FILE *file; /* open font file or NULL */
- char *filename; /* name of font file */
- long checksum; /* checksum */
- unsigned short timestamp; /* for LRU management of fonts */
- ubyte flags; /* flags byte (see values below) */
-#ifdef Omega
- wide_ubyte maxchar; /* largest character code */
-#else
- ubyte maxchar; /* largest character code */
-#endif
-/* BEGIN CHUNK xdvi.h 2 */
-#ifdef SRC_SPECIALS
- float pt_size; /* font size in pt, needed for specials evaluation */
-#endif
-/* END CHUNK xdvi.h 2 */
- double dimconv; /* size conversion factor */
- set_char_proc set_char_p; /* proc used to set char */
- /* these fields are used by (loaded) raster fonts */
- read_char_proc read_char; /* function to read bitmap */
- struct glyph *glyph;
- /* these fields are used by (loaded) virtual fonts */
- struct font **vf_table; /* list of fonts used by this vf */
- struct tn *vf_chain; /* ditto, if TeXnumber >= VFTABLELEN */
- struct font *first_font; /* first font defined */
- struct macro *macro;
- /* I suppose the above could be put into a union, but we */
- /* wouldn't save all that much space. */
-
- /* These were added for t1 use */
- int t1id;
- long scale;
-};
-
-#define FONT_IN_USE 1 /* used for housekeeping */
-#define FONT_LOADED 2 /* if font file has been read */
-#define FONT_VIRTUAL 4 /* if font is virtual */
-
-#define TNTABLELEN 30 /* length of TeXnumber array (dvi file) */
-#define VFTABLELEN 5 /* length of TeXnumber array (virtual fonts) */
-
-struct tn {
- struct tn *next; /* link to next TeXnumber info block */
- int TeXnumber; /* font number (in DVI file) */
- struct font *fontp; /* pointer to the rest of the info */
-};
-
-EXTERN struct font *tn_table[TNTABLELEN];
-EXTERN struct font *font_head INIT(NULL);
-EXTERN struct tn *tn_head INIT(NULL);
-#ifdef Omega
-EXTERN wide_ubyte maxchar;
-#else
-EXTERN ubyte maxchar;
-#endif
-EXTERN unsigned short current_timestamp INIT(0);
-
-/*
- * Command line flags.
- */
-
-extern struct _resource {
-#if CFGFILE && TOOLKIT
- _Xconst char *progname;
-#endif
-#if TOOLKIT
- int shrinkfactor;
-#endif
- int _density;
-#ifdef GREY
- float _gamma;
-#endif
- int _pixels_per_inch;
- Boolean _delay_rulers;
- int _tick_length;
- char *_tick_units;
- _Xconst char *sidemargin;
- _Xconst char *topmargin;
- _Xconst char *xoffset;
- _Xconst char *yoffset;
- _Xconst char *paper;
- _Xconst char *_alt_font;
- Boolean makepk;
- _Xconst char *mfmode;
- Boolean _list_fonts;
- Boolean reverse;
- Boolean _warn_spec;
- Boolean _hush_chars;
- Boolean _hush_chk;
- Boolean safer;
-#if defined(VMS) || !defined(TOOLKIT)
- _Xconst char *fore_color;
- _Xconst char *back_color;
-#endif
- Pixel _fore_Pixel;
- Pixel _back_Pixel;
-#ifdef TOOLKIT
- Pixel _brdr_Pixel;
- Pixel _hl_Pixel;
- Pixel _cr_Pixel;
-#endif
- _Xconst char *icon_geometry;
- Boolean keep_flag;
- Boolean copy;
- Boolean thorough;
-#if PS
- /* default is to use DPS, then NEWS, then GhostScript;
- * we will figure out later on which one we will use */
- Boolean _postscript;
- Boolean prescan;
- Boolean allow_shell;
-#ifdef PS_DPS
- Boolean useDPS;
-#endif
-#ifdef PS_NEWS
- Boolean useNeWS;
-#endif
-#ifdef PS_GS
- Boolean useGS;
- Boolean gs_safer;
- Boolean gs_alpha;
- _Xconst char *gs_path;
- _Xconst char *gs_palette;
-#endif
-#endif /* PS */
- _Xconst char *debug_arg;
- Boolean version_flag;
-#ifdef BUTTONS
- Boolean expert;
- int shrinkbutton[4];
-#endif
- _Xconst char *mg_arg[5];
-#ifdef GREY
- Boolean _use_grey;
- Bool3 install;
-#endif
-#ifdef GRID
- int _grid_mode;
- char *grid1_color, *grid2_color, *grid3_color;
-#ifdef TOOLKIT
- Pixel _grid1_Pixel, _grid2_Pixel, _grid3_Pixel;
-#endif /* TOOLKIT */
-#endif /* GRID */
-#ifdef HTEX
- Boolean _underline_link;
- char *_browser;
- char *_URLbase;
- char *_scroll_pages;
-#endif /* HTEX */
-/* BEGIN CHUNK xdvi.h 3 */
-#ifdef SRC_SPECIALS
- int _src_specialFormat;
- int _src_jumpButton;
- int _src_tickShape;
- char *_src_tickSize;
- int _src_cursor_shape;
- char *_src_editorCommand;
- int _src_warn_verbosity;
- Boolean _src_tickVisibility;
- Boolean _src_evalMode;
-#endif
-/* END CHUNK xdvi.h 3 */
-} resource;
-
-/* As a convenience, we define the field names without leading underscores
- * to point to the field of the above record. Here are the global ones;
- * the local ones are defined in each module. */
-
-/* BEGIN CHUNK xdvi.h 4 */
-#ifdef SRC_SPECIALS
-#define src_cursor_shape resource._src_cursor_shape
-#define src_editorCommand resource._src_editorCommand
-#define src_warn_verbosity resource._src_warn_verbosity
-#define src_tickShape resource._src_tickShape
-#define src_tickVisibility resource._src_tickVisibility
-#define src_evalMode resource._src_evalMode
-#endif
-/* END CHUNK xdvi.h 4 */
-#define density resource._density
-#define pixels_per_inch resource._pixels_per_inch
-#define alt_font resource._alt_font
-#define list_fonts resource._list_fonts
-#define warn_spec resource._warn_spec
-#define hush_chars resource._hush_chars
-#define hush_chk resource._hush_chk
-#ifdef GREY
-#define use_grey resource._use_grey
-#endif
-#ifdef GRID
-#define grid_mode resource._grid_mode
-#endif /* GRID */
-#ifdef HTEX
-#define underline_link resource._underline_link
-#define browser resource._browser
-#define URLbase resource._URLbase
-#define scroll_pages resource._scroll_pages
-#define KPSE_DEBUG_HYPER 6
-#endif
-
-#ifndef TOOLKIT
-EXTERN Pixel brdr_Pixel;
-#ifdef GRID
-EXTERN Pixel grid1_Pixel;
-EXTERN Pixel grid2_Pixel;
-EXTERN Pixel grid3_Pixel;
-#endif /* GRID */
-#endif
-
-
-
-#ifdef GREY
-EXTERN Pixel plane_masks[4];
-EXTERN XColor fore_color_data, back_color_data;
-#endif
-
-extern struct mg_size_rec {
- int w;
- int h;
-}
- mg_size[5];
-
-EXTERN int debug INIT(0);
-
-#define DBG_BITMAP 1
-#define DBG_DVI 2
-#define DBG_PK 4
-#define DBG_BATCH 8
-#define DBG_EVENT 16
-#define DBG_OPEN 32
-#define DBG_PS 64
-#define DBG_STAT 128
-#define DBG_HASH 256
-#define DBG_PATHS 512
-#define DBG_EXPAND 1024
-#define DBG_SEARCH 2048
-#ifdef HTEX
-#define DBG_HYPER 4096
-#define DBG_ANCHOR 8192
-#endif
-/* BEGIN CHUNK xdvi.h 5 */
-#ifdef SRC_SPECIALS
-#define DBG_SRC_SPECIALS 16384
-#endif
-/* END CHUNK xdvi.h 5 */
-#define DBG_ALL (~DBG_BATCH)
-
-
-EXTERN int offset_x, offset_y;
-EXTERN unsigned int unshrunk_paper_w, unshrunk_paper_h;
-EXTERN unsigned int unshrunk_page_w, unshrunk_page_h;
-#ifdef GRID
-EXTERN unsigned int unshrunk_paper_unit;
-#endif /* GRID */
-
-#ifdef HTEX
-EXTERN int HTeXnext_extern; /* Bring up next file in new xdvi window */
-EXTERN char *temporary_dir INIT(NULL);
-EXTERN char *anchor_name INIT(NULL);
-EXTERN Boolean URL_aware INIT(False);
-EXTERN Boolean highlight INIT(False);
-extern int HTeXAnestlevel; /* Hypertext nesting level */
-extern int HTeXreflevel; /* flag for whether we are inside an href */
-#endif
-
-EXTERN char *dvi_name INIT(NULL);
-EXTERN FILE *dvi_file; /* user's file */
-EXTERN _Xconst char *prog;
-EXTERN int bak_shrink; /* last shrink factor != 1 */
-EXTERN Dimension window_w, window_h;
-EXTERN XImage *image;
-EXTERN int backing_store;
-EXTERN int home_x, home_y;
-
-EXTERN Display *DISP;
-EXTERN Screen *SCRN;
-#ifdef GREY
-EXTERN int screen_number;
-EXTERN Visual *our_visual;
-EXTERN unsigned int our_depth;
-EXTERN Colormap our_colormap;
-EXTERN GC copyGC;
-#else
-#define our_depth (unsigned int) DefaultDepthOfScreen(SCRN)
-#define our_visual DefaultVisualOfScreen(SCRN)
-#define our_colormap DefaultColormapOfScreen(SCRN)
-#define copyGC DefaultGCOfScreen(SCRN)
-#endif
-EXTERN GC ruleGC;
-EXTERN GC foreGC, highGC;
-EXTERN GC foreGC2;
-#ifdef GRID
-EXTERN GC grid1GC, grid2GC, grid3GC;
-#endif /* GRID */
-EXTERN Boolean copy;
-
-EXTERN Cursor redraw_cursor, ready_cursor;
-/* BEGIN CHUNK xdvi.h 6 */
-#ifdef SRC_SPECIALS
-EXTERN Cursor src_cursor;
-#endif
-/* END CHUNK xdvi.h 6 */
-
-#ifdef GREY
-EXTERN Pixel *pixeltbl;
-EXTERN Pixel *pixeltbl_t;
-#endif /* GREY */
-
-EXTERN Boolean canit INIT(False);
-EXTERN jmp_buf canit_env;
-EXTERN VOLATILE short event_counter INIT(0);
-EXTERN Boolean terminate_flag INIT(False);
-
-struct WindowRec {
- Window win;
- int shrinkfactor;
- int base_x, base_y;
- unsigned int width, height;
- int min_x, max_x, min_y, max_y; /* for pending expose events */
-};
-
-extern struct WindowRec mane, alt, currwin;
-EXTERN int min_x, max_x, min_y, max_y;
-
-#define shrink_factor currwin.shrinkfactor
-
-#ifdef TOOLKIT
-EXTERN Widget top_level, vport_widget, draw_widget, clip_widget;
-#ifdef HTEX
-EXTERN Widget pane_widget, anchor_search, anchor_info;
-#endif
-#ifdef MOTIF
-EXTERN Widget shrink_button[4];
-EXTERN Widget x_bar, y_bar; /* horizontal and vert. scroll bars */
-#endif /* MOTIF */
-#ifdef BUTTONS
-#ifndef MOTIF
-#define XTRA_WID 79
-#else
-#define XTRA_WID 120
-#endif
-EXTERN Widget form_widget;
-#endif
-#else /* !TOOLKIT */
-EXTERN Window top_level;
-
-#define BAR_WID 12 /* width of darkened area */
-#define BAR_THICK 15 /* gross amount removed */
-#endif /* TOOLKIT */
-
-EXTERN jmp_buf dvi_env; /* mechanism to relay dvi file errors */
-EXTERN _Xconst char *dvi_oops_msg; /* error message */
-
-EXTERN char *ffline INIT(NULL); /* an array used by filefind to store */
- /* the file name being formed. */
- /* It expands as needed. */
- /* Also used elsewhere. */
-EXTERN int ffline_len INIT(0); /* current length of ffline[] */
-
-#ifdef SELFAUTO
-EXTERN _Xconst char *argv0; /* argv[0] */
-#endif
-
-#ifdef CFG2RES
-struct cfg2res {
- _Xconst char *cfgname; /* name in config file */
- _Xconst char *resname; /* name of resource */
- Boolean numeric; /* if numeric */
-};
-#endif
-
-#if PS
-
-extern struct psprocs {
- void (*toggle) ARGS((void));
- void (*destroy) ARGS((void));
- void (*interrupt) ARGS((void));
- void (*endpage) ARGS((void));
- void (*drawbegin) ARGS((int, int, _Xconst char *));
- void (*drawraw) ARGS((_Xconst char *));
- void (*drawfile) ARGS((_Xconst char *, FILE *));
- void (*drawend) ARGS((_Xconst char *));
- void (*beginheader) ARGS((void));
- void (*endheader) ARGS((void));
- void (*newdoc) ARGS((void));
-} psp, no_ps_procs;
-
-#endif /* PS */
-
-/********************************
- * Procedures *
- *******************************/
-
-_XFUNCPROTOBEGIN
-#ifdef BUTTONS
-extern void create_buttons ARGS((XtArgVal));
-#endif
-#ifdef GREY
-extern void init_plane_masks ARGS((void));
-#endif
-extern void init_colors ARGS((void));
-extern void reconfig ARGS((void));
-#ifdef TOOLKIT
-extern void handle_key ARGS((Widget, XtPointer, XEvent *, Boolean *));
-extern void handle_resize ARGS((Widget, XtPointer, XEvent *, Boolean *));
-extern void handle_button ARGS((Widget, XtPointer, XEvent *, Boolean *));
-extern void handle_motion ARGS((Widget, XtPointer, XEvent *, Boolean *));
-extern void handle_release ARGS((Widget, XtPointer, XEvent *, Boolean *));
-extern void handle_exp ARGS((Widget, XtPointer, XEvent *, Boolean *));
-#endif
-#ifdef MOTIF
-extern void file_pulldown_callback ARGS((Widget, XtPointer, XtPointer));
-extern void navigate_pulldown_callback ARGS((Widget, XtPointer, XtPointer));
-extern void scale_pulldown_callback ARGS((Widget, XtPointer, XtPointer));
-extern void set_shrink_factor ARGS((int));
-#endif
-extern void showmessage ARGS((_Xconst char *));
-#if PS
-extern void ps_read_events ARGS((wide_bool, wide_bool));
-#define read_events(wait) ps_read_events(wait, True)
-#else
-extern void read_events ARGS((wide_bool));
-#endif
-extern void redraw_page ARGS((void));
-extern void do_pages ARGS((void));
-extern void reset_fonts ARGS((void));
-extern void realloc_font ARGS((struct font *, wide_ubyte));
-extern void realloc_virtual_font ARGS((struct font *, wide_ubyte));
-extern Boolean load_font ARGS((struct font *));
-extern struct font *define_font ARGS((FILE *, wide_ubyte,
- struct font *, struct font **, unsigned int,
- struct tn **));
-extern void init_page ARGS((void));
-extern void open_dvi_file ARGS((void));
-extern Boolean check_dvi_file ARGS((void));
-#ifdef GRID
-extern void put_grid ARGS((int, int, unsigned int, unsigned int, unsigned int, GC, GC, GC));
-#endif /* GRID */
-#ifndef TEXXET
-extern long set_char ARGS((wide_ubyte));
-extern long load_n_set_char ARGS((wide_ubyte));
-extern long set_vf_char ARGS((wide_ubyte));
-extern long set_t1_char P1H(wide_ubyte);
-#else
-extern void set_char ARGS((wide_ubyte, wide_ubyte));
-extern void load_n_set_char ARGS((wide_ubyte, wide_ubyte));
-extern void set_vf_char ARGS((wide_ubyte, wide_ubyte));
-extern void set_t1_char P2H(wide_ubyte, wide_ubyte);
-#endif
-extern int tfmload P3H(char *, long *, long *);
-extern void read_T1_char P2H(struct font *, ubyte);
-extern int find_T1_font P1H(char *);
-extern int getpsinfo P1H(char *);
-extern void draw_page P1H(void);
-extern void init_t1 P1H(void);
-#if CFGFILE
-#ifndef CFG2RES
-extern void readconfig ARGS((void));
-#else
-extern void readconfig ARGS((_Xconst struct cfg2res *,
- _Xconst struct cfg2res *, XtResource *, XtResource *));
-#endif /* CFG2RES */
-#endif /* CFGFILE */
-extern void init_font_open ARGS((void));
-extern FILE *font_open P7H(char *, char **, double, int *, int,
- char **,int *);
-#if PS
-extern void ps_newdoc ARGS((void));
-extern void ps_destroy ARGS((void));
-#endif
-extern void applicationDoSpecial ARGS((char *));
-#if PS
-extern void scan_special ARGS((char *));
-#endif
-extern NORETURN void oops ARGS((_Xconst char *message, ...));
-#ifndef KPATHSEA
-extern void *xmalloc ARGS((unsigned));
-extern void *xrealloc ARGS((void *, unsigned));
-extern char *xstrdup ARGS((_Xconst char *, int));
-extern char *xmemdump ARGS((_Xconst char *, int));
-#endif
-extern void expandline ARGS((int));
-extern void alloc_bitmap ARGS((struct bitmap *));
-#ifndef KPATHSEA
-extern void xputenv ARGS((_Xconst char *, _Xconst char *));
-#endif
-extern int memicmp ARGS((_Xconst char *, _Xconst char *, size_t));
-extern FILE *xfopen P2H(char *, OPEN_MODE_ARGS);
-#ifdef HTEX
-extern FILE *xfopen_local P2H(char *, OPEN_MODE_ARGS);
-#else
-#define xfopen_local xfopen
-#endif
-extern int xpipe ARGS((int *));
-extern DIR *xdvi_xopendir ARGS((_Xconst char *));
-extern _Xconst struct passwd *ff_getpw ARGS((_Xconst char **, _Xconst char *));
-extern unsigned long num ARGS((FILE *, int));
-extern long snum ARGS((FILE *, int));
-extern void read_PK_index ARGS((struct font *, wide_bool));
-extern void read_GF_index ARGS((struct font *, wide_bool));
-#ifdef Omega
-extern unsigned long read_VF_index ARGS((struct font *, wide_bool));
-#else
-extern void read_VF_index ARGS((struct font *, wide_bool));
-#endif
-
-#if PS
-extern void drawbegin_none ARGS((int, int, _Xconst char *));
-extern void draw_bbox ARGS((void));
-extern void NullProc ARGS((void));
-#ifdef PS_DPS
-extern Boolean initDPS ARGS((void));
-#endif
-#ifdef PS_NEWS
-extern Boolean initNeWS ARGS((void));
-#endif
-#ifdef PS_GS
-extern Boolean initGS ARGS((void));
-#endif
-#endif /* PS */
-#ifdef HTEX
-extern int open_www_file ARGS((void));
-extern void htex_can_it ARGS((void));
-extern void search_callback ARGS((Widget, XtPointer, XtPointer));
-extern void detach_anchor ARGS((void));
-extern char *MyStrAllocCopy ARGS((char **, char *));
-extern int pointerlocate ARGS((int *, int *));
-extern void htex_recordbits ARGS((int, int, int, int));
-extern void htex_initpage ARGS((void));
-extern void htex_donepage ARGS((int, int));
-extern void htex_parsepages ARGS((void));
-extern void htex_parse_page ARGS((int));
-extern void htex_scanpage ARGS((int));
-extern void htex_scanpage ARGS((int));
-extern void htex_dospecial ARGS((long, int));
-extern void htex_reinit ARGS((void));
-extern void htex_do_loc ARGS((char *));
-extern void add_search ARGS((char *, int));
-extern int htex_handleref ARGS((int, int, int));
-extern void htex_displayanchor ARGS((int, int, int));
-extern void htex_goback ARGS((void));
-extern int checkHyperTeX ARGS((char *, int));
-extern void htex_handletag ARGS((char *, int));
-extern void htex_anchor ARGS((int, char *, int));
-extern void htex_dohref ARGS((char *));
-extern void htex_drawboxes ARGS((void));
-extern void htex_to_page ARGS((int));
-extern void htex_to_anchor ARGS((int, int));
-extern int htex_is_url ARGS((const char *));
-extern void htex_do_url ARGS((char *));
-extern void paint_anchor ARGS((char *));
-extern int fetch_relative_url ARGS((char *, const char *, char *));
-extern void wait_for_urls ARGS((void));
-char *figure_mime_type ARGS((char *));
-#endif
-
-/* BEGIN CHUNK xdvi.h 7 */
-#ifdef SRC_SPECIALS
-/* functions in src_special.c */
-extern void src_find_special ARGS((int, Position, Position));
-extern void src_delete_all_specials ARGS((void));
-extern void src_warn_outdated ARGS((void));
-extern void src_eval_special ARGS((char *, Position, Position));
-extern void src_check_editorCommand ARGS((void));
-extern void src_cleanup ARGS((void));
-// extern void src_do_special ARGS((float));
-extern float src_look_forward ARGS((double));
-#endif
-/* END CHUNK xdvi.h 7 */
-#if !HAVE_TEMPNAM
-char *tempnam ARGS((char *, char *))
-#endif
-
-_XFUNCPROTOEND
-
-#define one(fp) ((unsigned char) getc(fp))
-#define sone(fp) ((long) one(fp))
-#define two(fp) num (fp, 2)
-#define stwo(fp) snum(fp, 2)
-#define four(fp) num (fp, 4)
-#define sfour(fp) snum(fp, 4)
-
-#ifdef HTEX
-/* From xhdvi/url.h */
-/* Some URL stuff: */
-typedef struct {
- char *url; /* Full address of the URL we have locally */
- char *file; /* Local file name it is stored as */
-} FiletoURLconv;
-
-#define FILELISTCHUNK 20
-EXTERN FiletoURLconv *filelist INIT(NULL);
-EXTERN int nURLs INIT(0);
-
-#endif /* HTEX */
-
-#endif /* XDVI_H */