aboutsummaryrefslogtreecommitdiffstats
path: root/src/java/org/apache/fop/render/ps/PSState.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/java/org/apache/fop/render/ps/PSState.java')
-rw-r--r--src/java/org/apache/fop/render/ps/PSState.java201
1 files changed, 0 insertions, 201 deletions
diff --git a/src/java/org/apache/fop/render/ps/PSState.java b/src/java/org/apache/fop/render/ps/PSState.java
deleted file mode 100644
index 7421c5f28..000000000
--- a/src/java/org/apache/fop/render/ps/PSState.java
+++ /dev/null
@@ -1,201 +0,0 @@
-/*
- * Copyright 1999-2005 The Apache Software Foundation.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-/* $Id$ */
-
-package org.apache.fop.render.ps;
-
-import java.io.IOException;
-import java.io.Serializable;
-import java.util.List;
-import java.awt.Color;
-import java.awt.geom.AffineTransform;
-
-/**
- * This class holds the current state of the PostScript interpreter.
- *
- * @author <a href="mailto:fop-dev@xml.apache.org">Apache XML FOP Development Team</a>
- * @version $Id$
- */
-public class PSState implements Serializable {
-
- /** Default for setdash */
- public static final String DEFAULT_DASH = "[] 0";
- /** Default color in PostScript */
- public static final Color DEFAULT_RGB_COLOR = Color.black;
-
- private AffineTransform transform = new AffineTransform();
- private List transformConcatList = new java.util.ArrayList();
-
- private int linecap = 0;
- private double linewidth = 1.0f;
- private String dashpattern = DEFAULT_DASH;
- private Color rgbColor = DEFAULT_RGB_COLOR;
-
- //Font state
- private String fontname;
- private float fontsize;
-
- /**
- * Default constructor
- */
- public PSState() {
- //nop
- }
-
- /**
- * Copy constructor
- * @param org the original to copy from
- * @param copyTransforms true if the list of matrix concats should be cloned, too
- */
- public PSState(PSState org, boolean copyTransforms) {
- this.transform = (AffineTransform)org.transform.clone();
- if (copyTransforms) {
- this.transformConcatList.addAll(org.transformConcatList);
- }
- this.linecap = org.linecap;
- this.linewidth = org.linewidth;
- this.dashpattern = org.dashpattern;
- this.rgbColor = org.rgbColor;
- this.fontname = org.fontname;
- this.fontsize = org.fontsize;
- }
-
- /**
- * Returns the transform.
- * @return the current transformation matrix
- */
- public AffineTransform getTransform() {
- return this.transform;
- }
-
- /**
- * Check the current transform.
- * The transform for the current state is the combination of all
- * transforms in the current state. The parameter is compared
- * against this current transform.
- *
- * @param tf the transform the check against
- * @return true if the new transform is different then the current transform
- */
- public boolean checkTransform(AffineTransform tf) {
- return !tf.equals(this.transform);
- }
-
- /**
- * Concats the given transformation matrix with the current one.
- * @param transform The new transformation matrix
- */
- public void concatMatrix(AffineTransform transform) {
- this.transformConcatList.add(transform);
- this.transform.concatenate(transform);
- }
-
- /**
- * Establishes the specified line cap.
- * @param value line cap (0, 1 or 2) as defined by the setlinecap command
- * @return true if the line cap changed compared to the previous setting
- */
- public boolean useLineCap(int value) {
- if (linecap != value) {
- linecap = value;
- return true;
- } else {
- return false;
- }
- }
-
- /**
- * Establishes the specified line width.
- * @param value line width as defined by the setlinewidth command
- * @return true if the line width changed compared to the previous setting
- */
- public boolean useLineWidth(double value) {
- if (linewidth != value) {
- linewidth = value;
- return true;
- } else {
- return false;
- }
- }
-
- /**
- * Establishes the specified dash.
- * @param pattern dash pattern as defined by the setdash command
- * @return true if the dash pattern changed compared to the previous setting
- */
- public boolean useDash(String pattern) {
- if (!dashpattern.equals(pattern)) {
- dashpattern = pattern;
- return true;
- } else {
- return false;
- }
- }
-
- /**
- * Establishes the specified color (RGB).
- * @param value color as defined by the setrgbcolor command
- * @return true if the color changed compared to the previous setting
- */
- public boolean useColor(Color value) {
- if (!rgbColor.equals(value)) {
- rgbColor = value;
- return true;
- } else {
- return false;
- }
- }
-
- /**
- * Establishes the specified font and size.
- * @param name name of the font for the "F" command (see FOP Std Proc Set)
- * @param size size of the font
- * @return true if the font changed compared to the previous setting
- */
- public boolean useFont(String name, float size) {
- if (name == null) {
- throw new NullPointerException("font name must not be null");
- }
- if (fontname == null || !fontname.equals(name) || fontsize != size) {
- fontname = name;
- fontsize = size;
- return true;
- } else {
- return false;
- }
- }
-
- /**
- * Reestablishes the graphics state represented by this instance by issueing the
- * necessary commands.
- * @param gen The generator to use for output
- * @exception IOException In case of an I/O problem
- */
- public void reestablish(PSGenerator gen) throws IOException {
- for (int i = 0, len = transformConcatList.size(); i < len; i++) {
- gen.concatMatrix((AffineTransform)transformConcatList.get(i));
- }
- gen.useLineCap(linecap);
- gen.useLineWidth(linewidth);
- gen.useDash(dashpattern);
- gen.useRGBColor(rgbColor);
- if (fontname != null) {
- gen.useFont(fontname, fontsize);
- }
- }
-
-}