aboutsummaryrefslogtreecommitdiffstats
path: root/src/java/org/apache/fop/apps/PrintStarter.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/java/org/apache/fop/apps/PrintStarter.java')
-rw-r--r--src/java/org/apache/fop/apps/PrintStarter.java112
1 files changed, 5 insertions, 107 deletions
diff --git a/src/java/org/apache/fop/apps/PrintStarter.java b/src/java/org/apache/fop/apps/PrintStarter.java
index f1c3660cd..04ae4ac90 100644
--- a/src/java/org/apache/fop/apps/PrintStarter.java
+++ b/src/java/org/apache/fop/apps/PrintStarter.java
@@ -49,7 +49,6 @@
* Software Foundation, please see <http://www.apache.org/>.
*/
package org.apache.fop.apps;
-
/*
* originally contributed by
* Stanislav Gorkhover: stanislav.gorkhover@jcatalog.com
@@ -60,17 +59,9 @@ package org.apache.fop.apps;
* (apparently) redundant copies code, generally cleaned up, and
* added interfaces to the new Render API.
*/
-
-
import org.xml.sax.XMLReader;
-
-import java.awt.print.PrinterException;
import java.awt.print.PrinterJob;
-import java.io.OutputStream;
-import java.io.IOException;
-import java.util.Vector;
-
-import org.apache.fop.render.awt.AWTRenderer;
+import org.apache.fop.render.awt.AWTPrintRenderer;
/**
* This class prints a XSL-FO dokument without interaction.
@@ -111,7 +102,7 @@ public class PrintStarter extends CommandLineStarter {
}
}
- PrintRenderer renderer = new PrintRenderer(pj);
+ AWTPrintRenderer renderer = new AWTPrintRenderer(pj);
int copies = getIntProperty("copies", 1);
pj.setCopies(copies);
@@ -129,7 +120,8 @@ public class PrintStarter extends CommandLineStarter {
System.exit(0);
}
- int getIntProperty(String name, int def) {
+
+ private int getIntProperty(String name, int def) {
String propValue = System.getProperty(name);
if (propValue != null) {
try {
@@ -141,99 +133,5 @@ public class PrintStarter extends CommandLineStarter {
return def;
}
}
-
- class PrintRenderer extends AWTRenderer {
-
- private static final int EVEN_AND_ALL = 0;
- private static final int EVEN = 1;
- private static final int ODD = 2;
-
- private int startNumber;
- private int endNumber;
- private int mode = EVEN_AND_ALL;
- private int copies = 1;
- private PrinterJob printerJob;
-
- PrintRenderer(PrinterJob printerJob) {
- super(null);
-
- this.printerJob = printerJob;
- startNumber = getIntProperty("start", 1) - 1;
- endNumber = getIntProperty("end", -1);
-
- printerJob.setPageable(this);
-
- mode = EVEN_AND_ALL;
- String str = System.getProperty("even");
- if (str != null) {
- mode = Boolean.valueOf(str).booleanValue() ? EVEN : ODD;
- }
-
- }
-
- public void stopRenderer(OutputStream outputStream)
- throws IOException {
- super.stopRenderer();
-
- if (endNumber == -1) {
- endNumber = getPageCount();
- }
-
- Vector numbers = getInvalidPageNumbers();
- for (int i = numbers.size() - 1; i > -1; i--) {
- //removePage(Integer.parseInt((String)numbers.elementAt(i)));
- }
-
- try {
- printerJob.print();
- } catch (PrinterException e) {
- e.printStackTrace();
- throw new IOException("Unable to print: "
- + e.getClass().getName()
- + ": " + e.getMessage());
- }
- }
-
- /*public void renderPage(Page page) {
- pageWidth = (int)((float)page.getWidth() / 1000f);
- pageHeight = (int)((float)page.getHeight() / 1000f);
- }*/
-
- private Vector getInvalidPageNumbers() {
-
- Vector vec = new Vector();
- int max = getPageCount();
- boolean isValid;
- for (int i = 0; i < max; i++) {
- isValid = true;
- if (i < startNumber || i > endNumber) {
- isValid = false;
- } else if (mode != EVEN_AND_ALL) {
- if (mode == EVEN && ((i + 1) % 2 != 0)) {
- isValid = false;
- } else if (mode == ODD && ((i + 1) % 2 != 1)) {
- isValid = false;
- }
- }
-
- if (!isValid) {
- vec.add(i + "");
- }
- }
-
- return vec;
- }
-
- /* TODO: I'm totally not sure that this is necessary -Mark
- void setCopies(int val) {
- copies = val;
- Vector copie = tree.getPages();
- for (int i = 1; i < copies; i++) {
- tree.getPages().addAll(copie);
- }
-
- }
- */
- } // class PrintRenderer
-} // class PrintCommandLine
+} // class PrintStarter