diff options
author | Johannes Hofmann <johannes.hofmann@gmx.de> | 2004-07-09 15:22:55 +0000 |
---|---|---|
committer | Johannes Hofmann <johannes.hofmann@gmx.de> | 2004-07-09 15:22:55 +0000 |
commit | a926cb9248e232a03c1eb051c53db4c3133236de (patch) | |
tree | 57b69883c5929ef02749eeeb28165368d100bfec /src/Postscript.cxx | |
parent | fbdab9d36b346a007b236e5d2e7d961722778fd3 (diff) |
major restructuring...
major restructuring...
Diffstat (limited to 'src/Postscript.cxx')
-rw-r--r-- | src/Postscript.cxx | 60 |
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"; +} |