diff options
Diffstat (limited to 'support/hypertex/tanmoy/ghostview-1.5-hacked/ps.h')
-rw-r--r-- | support/hypertex/tanmoy/ghostview-1.5-hacked/ps.h | 127 |
1 files changed, 127 insertions, 0 deletions
diff --git a/support/hypertex/tanmoy/ghostview-1.5-hacked/ps.h b/support/hypertex/tanmoy/ghostview-1.5-hacked/ps.h new file mode 100644 index 0000000000..b5480c7c27 --- /dev/null +++ b/support/hypertex/tanmoy/ghostview-1.5-hacked/ps.h @@ -0,0 +1,127 @@ +/* + * ps.h -- Include file for PostScript routines. + * Copyright (C) 1992 Timothy O. Theisen + * + * This program 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 program 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 program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Author: Tim Theisen Systems Programmer + * Internet: tim@cs.wisc.edu Department of Computer Sciences + * UUCP: uwvax!tim University of Wisconsin-Madison + * Phone: (608)262-0438 1210 West Dayton Street + * FAX: (608)262-9777 Madison, WI 53706 + */ + +#ifndef NeedFunctionPrototypes +#if defined(FUNCPROTO) || defined(__STDC__) || defined(__cplusplus) || defined(c_plusplus) +#define NeedFunctionPrototypes 1 +#else +#define NeedFunctionPrototypes 0 +#endif /* __STDC__ */ +#endif /* NeedFunctionPrototypes */ + + /* Constants used to index into the bounding box array. */ + +#define LLX 0 +#define LLY 1 +#define URX 2 +#define URY 3 + + /* Constants used to store keywords that are scanned. */ + /* NONE is not a keyword, it tells when a field was not set */ + +enum {ATEND = -1, NONE = 0, PORTRAIT, LANDSCAPE, ASCEND, DESCEND, SPECIAL}; + +#define PSLINELENGTH 257 /* 255 characters + 1 newline + 1 NULL */ + +struct document { + int epsf; /* Encapsulated PostScript flag. */ + char *title; /* Title of document. */ + char *date; /* Creation date. */ + int pageorder; /* ASCEND, DESCEND, SPECIAL */ + long beginheader, endheader; /* offsets into file */ + unsigned int lenheader; + long beginpreview, endpreview; + unsigned int lenpreview; + long begindefaults, enddefaults; + unsigned int lendefaults; + long beginprolog, endprolog; + unsigned int lenprolog; + long beginsetup, endsetup; + unsigned int lensetup; + long begintrailer, endtrailer; + unsigned int lentrailer; + int boundingbox[4]; + int default_page_boundingbox[4]; + int orientation; /* PORTRAIT, LANDSCAPE */ + int default_page_orientation; /* PORTRAIT, LANDSCAPE */ + unsigned int nummedia; + struct documentmedia *media; + struct documentmedia *default_page_media; + unsigned int numpages; + struct page *pages; +}; + +struct page { + char *label; + int boundingbox[4]; + struct documentmedia *media; + int orientation; /* PORTRAIT, LANDSCAPE */ + long begin, end; /* offsets into file */ + unsigned int len; +}; + +struct documentmedia { + char *name; + int width, height; +}; + + /* list of standard paper sizes from Adobe's PPD. */ + +extern struct documentmedia papersizes[]; + + /* scans a PostScript file and return a pointer to the document + structure. Returns NULL if file does not Conform to commenting + conventions . */ + +#if NeedFunctionPrototypes +struct document *psscan(FILE *); +#else +struct document *psscan(); +#endif + + /* free data structure malloc'ed by psscan */ + +#if NeedFunctionPrototypes +void psfree(struct document *); +#else +void psfree(); +#endif + + /* Copy a portion of the PostScript file */ + +#if NeedFunctionPrototypes +void pscopy(FILE *from, FILE *to, long begin, long end); +#else +void pscopy(); +#endif + + /* Copy a portion of the PostScript file upto a comment */ + +#if NeedFunctionPrototypes +char *pscopyuntil(FILE *from, FILE *to, long begin, long end, + const char *comment); +#else +char *pscopyuntil(); +#endif |