summaryrefslogtreecommitdiff
path: root/support/hypertex/tanmoy/ghostview-1.5-hacked/ps.h
diff options
context:
space:
mode:
Diffstat (limited to 'support/hypertex/tanmoy/ghostview-1.5-hacked/ps.h')
-rw-r--r--support/hypertex/tanmoy/ghostview-1.5-hacked/ps.h127
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