// Copyright 2001-2004, FreeHEP. package org.freehep.postscript; /** * Device Setup and Output Operators for PostScript Processor * * @author Mark Donszelmann * @version $Id: OutputOperator.java 8958 2006-09-12 23:37:43Z duns $ */ public class OutputOperator extends PSOperator { public static Class[] operators = { ShowPage.class, CopyPage.class, SetPageDevice.class, CurrentPageDevice.class, NullDevice.class }; public boolean execute(OperandStack os) { throw new RuntimeException("Cannot execute class: "+getClass()); } } class ShowPage extends OutputOperator { public boolean execute(OperandStack os) { Object showPage = os.execStack().pop(); os.execStack().push(new InitGraphics()); os.execStack().push(new ErasePage()); os.execStack().push(showPage); return true; } } class CopyPage extends OutputOperator { public boolean execute(OperandStack os) { // no-op return true; } } class SetPageDevice extends OutputOperator { { operandTypes = new Class[] {PSDictionary.class}; } public boolean execute(OperandStack os) { // FIXME error(os, new Unimplemented()); return true; } } class CurrentPageDevice extends OutputOperator { public boolean execute(OperandStack os) { // FIXME error(os, new Unimplemented()); return true; } } class NullDevice extends OutputOperator { public boolean execute(OperandStack os) { // no-op return true; } }