summaryrefslogtreecommitdiff
path: root/src/Postscript.cxx
diff options
context:
space:
mode:
authorJohannes Hofmann <johannes.hofmann@gmx.de>2004-07-09 15:22:55 +0000
committerJohannes Hofmann <johannes.hofmann@gmx.de>2004-07-09 15:22:55 +0000
commita926cb9248e232a03c1eb051c53db4c3133236de (patch)
tree57b69883c5929ef02749eeeb28165368d100bfec /src/Postscript.cxx
parentfbdab9d36b346a007b236e5d2e7d961722778fd3 (diff)
major restructuring...
major restructuring...
Diffstat (limited to 'src/Postscript.cxx')
-rw-r--r--src/Postscript.cxx60
1 files changed, 58 insertions, 2 deletions
diff --git a/src/Postscript.cxx b/src/Postscript.cxx
index 90d7b8c..969e71e 100644
--- a/src/Postscript.cxx
+++ b/src/Postscript.cxx
@@ -1,7 +1,7 @@
//
-// "$Id: Postscript.cxx,v 1.1 2004/07/09 16:13:35 hofmann Exp $"
+// "$Id: Postscript.cxx,v 1.2 2004/07/09 17:22:55 hofmann Exp $"
//
-// PSEditWidget routines.
+// Postscript handling routines.
//
// Copyright 2004 by Johannes Hofmann
//
@@ -22,6 +22,7 @@
//
#include "Postscript.H"
+
#define PS_POS_FORMAT "newpath %d %d moveto %% PSEditWidget\n"
#define PS_TEXT_FORMAT "(%s) show %% PSEditWidget\n"
#define PS_FONT_SIZE_FORMAT "/HelveticaNeue-Roman findfont %d scalefont setfont %% PSEditWidget\n"
@@ -79,6 +80,10 @@ PSParser::PSParser(PSEditWidget *p) {
pse = p;
}
+int PSParser::parse(char *line) {
+ return 0;
+}
+
PSParser_1::PSParser_1(PSEditWidget *p) : PSParser(p) {
page = 1;
}
@@ -210,3 +215,54 @@ int PSWriter::write_text(FILE *out, PSText *t) {
return 0;
}
+
+char * PSWriter::ps_header() {
+ return "";
+}
+
+char * PSWriter::ps_trailer() {
+ return "";
+}
+
+PSLevel1Writer::PSLevel1Writer(PSEditWidget *p) : PSWriter(p) {};
+
+char * PSLevel1Writer::ps_header() {
+ return \
+ "%% Begin PSEditWidget\n" \
+ "/PSEditWidgetPageCount 0 def\n" \
+ "/PSEditWidgetPC 0 def\n" \
+ "/PSEditWidgetshowpage /showpage load def\n" \
+ "/showpage {\n" \
+ "PSEditWidgetPageCount 0 eq { \n" \
+ "/PSEditWidgetPC PSEditWidgetPC 1 add def PSEditWidgetPC\n" \
+ "} {\n" \
+ "PSEditWidgetPageCount\n" \
+ "} ifelse\n";
+}
+
+char * PSLevel1Writer::ps_trailer() {
+ return "PSEditWidgetshowpage} def\n" \
+ "%% End PSEditWidget\n";
+}
+
+
+PSLevel2Writer::PSLevel2Writer(PSEditWidget *p) : PSWriter(p) {};
+
+char * PSLevel2Writer::ps_header() {
+ return \
+ "%% Begin PSEditWidget\n" \
+ "/PSEditWidgetPageCount 0 def\n" \
+ "<< /EndPage {\n" \
+ "pop\n" \
+ "PSEditWidgetPageCount 0 eq { \n" \
+ "1 add %% use showpage counter instead.\n" \
+ "} {\n" \
+ "PSEditWidgetPageCount\n" \
+ "} ifelse\n";
+
+}
+
+char * PSLevel2Writer::ps_trailer() {
+ return "true } >> setpagedevice\n" \
+ "%% End PSEditWidget\n";
+}