org.freehep.graphicsio.ps
Class PSGraphics2D

java.lang.Object
  extended by java.awt.Graphics
      extended by java.awt.Graphics2D
          extended by org.freehep.graphics2d.VectorGraphics
              extended by org.freehep.graphics2d.AbstractVectorGraphics
                  extended by org.freehep.graphicsio.VectorGraphicsIO
                      extended by org.freehep.graphicsio.AbstractVectorGraphicsIO
                          extended by org.freehep.graphicsio.ps.PSGraphics2D
All Implemented Interfaces:
FontUtilities.ShowString, VectorGraphicsConstants, MultiPageDocument

public class PSGraphics2D
extends AbstractVectorGraphicsIO
implements MultiPageDocument, FontUtilities.ShowString

Version:
$Id: PSGraphics2D.java 12753 2007-06-12 22:32:31Z duns $
Author:
Charles Loomis, Mark Donszelmann

Field Summary
static java.lang.String BACKGROUND
           
static java.lang.String BACKGROUND_COLOR
           
static java.lang.String CUSTOM_PAGE_SIZE
           
static java.lang.String EMBED_FONTS
           
static java.lang.String EMBED_FONTS_AS
           
static java.lang.String FIT_TO_PAGE
           
static java.lang.String FOR
           
static int LEVEL_2
           
static int LEVEL_3
           
static java.lang.String ORIENTATION
           
protected  java.io.PrintStream os
           
static java.lang.String PAGE_MARGINS
           
static java.lang.String PAGE_SIZE
           
static java.lang.String PREVIEW
           
static java.lang.String PREVIEW_BITS
           
protected  java.io.OutputStream ros
           
static java.lang.String TITLE
           
static java.lang.String version
           
static java.lang.String WRITE_IMAGES_AS
           
 
Fields inherited from class org.freehep.graphicsio.AbstractVectorGraphicsIO
CLIP, EMIT_ERRORS, EMIT_WARNINGS, TEXT_AS_SHAPES
 
Fields inherited from interface org.freehep.graphics2d.VectorGraphicsConstants
NUMBER_OF_HORIZ_ALIGNMENTS, NUMBER_OF_SYMBOLS, NUMBER_OF_VERTICAL_ALIGNMENTS, SYMBOL_BOX, SYMBOL_CIRCLE, SYMBOL_CROSS, SYMBOL_DIAMOND, SYMBOL_DN_TRIANGLE, SYMBOL_HLINE, SYMBOL_PLUS, SYMBOL_STAR, SYMBOL_UP_TRIANGLE, SYMBOL_VLINE, TEXT_BASELINE, TEXT_BOTTOM, TEXT_CENTER, TEXT_LEFT, TEXT_RIGHT, TEXT_TOP
 
Constructor Summary
  PSGraphics2D(java.io.File file, java.awt.Component component)
           
  PSGraphics2D(java.io.File file, java.awt.Dimension size)
           
  PSGraphics2D(java.io.OutputStream os, java.awt.Component component)
           
  PSGraphics2D(java.io.OutputStream os, java.awt.Dimension size)
           
protected PSGraphics2D(PSGraphics2D graphics, boolean doRestoreOnDispose)
          This protected method is used by the create() methods to create a clone of the given graphics object.
 
Method Summary
 void closePage()
          End the current page.
 void closeStream()
          Called to close the stream you are writing to.
 void copyArea(int x, int y, int width, int height, int dx, int dy)
           
 java.awt.Graphics create()
           
 java.awt.Graphics create(double x, double y, double width, double height)
           
 void draw(java.awt.Shape shape)
           
 void fill(java.awt.Shape shape)
           
 void fillAndDraw(java.awt.Shape shape, java.awt.Color fillColor)
           
 java.lang.String fixedPrecision(double d)
           
static java.util.Properties getDefaultProperties()
           
 java.awt.GraphicsConfiguration getDeviceConfiguration()
           
 boolean isMultiPage()
           
 void openPage(java.awt.Component component)
          Start the next page
 void openPage(java.awt.Dimension size, java.lang.String title)
           
static void setClipEnabled(boolean enabled)
          Set the clipping enabled flag.
 void setFooter(java.awt.Font font, TagString left, TagString center, TagString right, int underlineThickness)
          Set the footline of all pages.
 void setHeader(java.awt.Font font, TagString left, TagString center, TagString right, int underlineThickness)
          Set the headline of all pages.
 void setMultiPage(boolean multiPage)
           
 void setPaintMode()
           
 void setXORMode(java.awt.Color c1)
           
 void showString(java.awt.Font font, java.lang.String str)
          Write the string str the the stream.
 java.lang.String toString()
           
 void writeBackground()
           
protected  void writeCap(int cap)
          Writes out the cap of the stroke.
protected  void writeClip(java.awt.Shape s)
          Write out Shape clip.
 void writeComment(java.lang.String s)
          Embed a PostScript comment into the output file.
protected  void writeDash(float[] dash, float phase)
          Writes out the dash of the stroke.
protected  void writeFont(java.awt.Font font)
          Writes the font
protected  void writeGraphicsRestore()
          Embed a grestore in the PostScript file.
protected  void writeGraphicsSave()
          Embed a gsave in the PostScript file.
 void writeHeader()
          Write out the header of this EPS file.
protected  void writeImage(java.awt.image.RenderedImage image, java.awt.geom.AffineTransform xform, java.awt.Color bkg)
           
protected  void writeJoin(int join)
          Writes out the join of the stroke.
protected  void writeMiterLimit(float limit)
          Writes out the miter limit of the stroke.
protected  void writePaint(java.awt.Color c)
          Writes out paint as the given color.
protected  void writePaint(java.awt.GradientPaint paint)
          Writes out paint as the given gradient.
protected  void writePaint(java.awt.Paint p)
          Writes out paint.
protected  void writePaint(java.awt.TexturePaint paint)
          Writes out paint as the given texture.
protected  void writeSetClip(java.awt.Shape s)
          Write out Shape clip.
protected  void writeSetTransform(java.awt.geom.AffineTransform tx)
          Clears any existing transformation and sets the a new one.
protected  void writeString(java.lang.String str, double x, double y)
           
 void writeTrailer()
          Called to write the trailing part of the output.
protected  void writeTransform(java.awt.geom.AffineTransform tx)
          Writes out the transform as it needs to be concatenated to the internal transform of the output format.
protected  void writeWidth(float width)
          Writes out the width of the stroke.
 
Methods inherited from class org.freehep.graphicsio.AbstractVectorGraphicsIO
addRenderingHints, clearRect, clip, clipRect, clipRect, createShape, dispose, drawGlyphVector, drawImage, drawImage, drawImage, drawImage, drawImage, drawImage, drawImage, drawImage, drawRenderableImage, drawRenderedImage, drawString, drawString, endExport, getClip, getClipBounds, getClipBounds, getComponent, getComposite, getFontMetrics, getFontRenderContext, getRenderingHint, getRenderingHints, getSize, getStroke, getTransform, handleException, overLine, printComment, resetClip, rotate, scale, setClip, setClip, setClip, setColor, setComposite, setFont, setPaint, setRenderingHint, setRenderingHints, setStroke, setTransform, shear, startExport, transform, translate, writeDash, writeError, writeGraphicsState, writeStroke, writeWarning, writeWarning
 
Methods inherited from class org.freehep.graphicsio.VectorGraphicsIO
copyResourceTo, copyResourceTo
 
Methods inherited from class org.freehep.graphics2d.AbstractVectorGraphics
clearRect, createShape, drawArc, drawArc, drawLine, drawLine, drawOval, drawOval, drawPolygon, drawPolygon, drawPolyline, drawPolyline, drawRect, drawRect, drawRoundRect, drawRoundRect, drawString, drawString, drawString, drawString, drawString, drawString, drawString, drawString, drawSymbol, drawSymbol, drawSymbol, fillAndDrawSymbol, fillAndDrawSymbol, fillArc, fillArc, fillOval, fillOval, fillPolygon, fillPolygon, fillRect, fillRect, fillRoundRect, fillRoundRect, fillSymbol, fillSymbol, fillSymbol, getBackground, getColor, getColorMode, getCreator, getFont, getPaint, getPrintColor, getProperties, getProperty, getPropertyColor, getPropertyDimension, getPropertyDouble, getPropertyInsets, getPropertyInt, getPropertyRectangle, hit, initProperties, isDeviceIndependent, isProperty, rotate, setBackground, setColorMode, setCreator, setDeviceIndependent, setLineWidth, setLineWidth, setProperties, translate
 
Methods inherited from class org.freehep.graphics2d.VectorGraphics
create, create, fill, getSymbol, getTextAlignment, getXalignment, getYalignment
 
Methods inherited from class java.awt.Graphics2D
draw3DRect, fill3DRect
 
Methods inherited from class java.awt.Graphics
drawBytes, drawChars, drawPolygon, fillPolygon, finalize, getClipRect, getFontMetrics, hitClip
 
Methods inherited from class java.lang.Object
clone, equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

BACKGROUND

public static final java.lang.String BACKGROUND

BACKGROUND_COLOR

public static final java.lang.String BACKGROUND_COLOR

PAGE_SIZE

public static final java.lang.String PAGE_SIZE

CUSTOM_PAGE_SIZE

public static final java.lang.String CUSTOM_PAGE_SIZE

PAGE_MARGINS

public static final java.lang.String PAGE_MARGINS

ORIENTATION

public static final java.lang.String ORIENTATION

FIT_TO_PAGE

public static final java.lang.String FIT_TO_PAGE

EMBED_FONTS

public static final java.lang.String EMBED_FONTS

EMBED_FONTS_AS

public static final java.lang.String EMBED_FONTS_AS

FOR

public static final java.lang.String FOR

TITLE

public static final java.lang.String TITLE

PREVIEW

public static final java.lang.String PREVIEW

PREVIEW_BITS

public static final java.lang.String PREVIEW_BITS

WRITE_IMAGES_AS

public static final java.lang.String WRITE_IMAGES_AS

version

public static final java.lang.String version
See Also:
Constant Field Values

LEVEL_2

public static final int LEVEL_2
See Also:
Constant Field Values

LEVEL_3

public static final int LEVEL_3
See Also:
Constant Field Values

ros

protected java.io.OutputStream ros

os

protected java.io.PrintStream os
Constructor Detail

PSGraphics2D

public PSGraphics2D(java.io.File file,
                    java.awt.Dimension size)
             throws java.io.FileNotFoundException
Throws:
java.io.FileNotFoundException

PSGraphics2D

public PSGraphics2D(java.io.File file,
                    java.awt.Component component)
             throws java.io.FileNotFoundException
Throws:
java.io.FileNotFoundException

PSGraphics2D

public PSGraphics2D(java.io.OutputStream os,
                    java.awt.Dimension size)

PSGraphics2D

public PSGraphics2D(java.io.OutputStream os,
                    java.awt.Component component)

PSGraphics2D

protected PSGraphics2D(PSGraphics2D graphics,
                       boolean doRestoreOnDispose)
This protected method is used by the create() methods to create a clone of the given graphics object.

Parameters:
graphics - Parent graphics to take attributes from
doRestoreOnDispose - if true writeGraphicsRestore() is called on dispose()
Method Detail

getDefaultProperties

public static java.util.Properties getDefaultProperties()

setMultiPage

public void setMultiPage(boolean multiPage)
Specified by:
setMultiPage in interface MultiPageDocument

isMultiPage

public boolean isMultiPage()
Specified by:
isMultiPage in interface MultiPageDocument

setClipEnabled

public static void setClipEnabled(boolean enabled)
Set the clipping enabled flag. This will affect all output operations after this call completes.

Parameters:
enabled - true enables clipping

writeHeader

public void writeHeader()
                 throws java.io.IOException
Write out the header of this EPS file.

Specified by:
writeHeader in class AbstractVectorGraphicsIO
Throws:
java.io.IOException

writeBackground

public void writeBackground()
                     throws java.io.IOException
Specified by:
writeBackground in class AbstractVectorGraphicsIO
Throws:
java.io.IOException

writeTrailer

public void writeTrailer()
                  throws java.io.IOException
Description copied from class: AbstractVectorGraphicsIO
Called to write the trailing part of the output.

Specified by:
writeTrailer in class AbstractVectorGraphicsIO
Throws:
java.io.IOException

closeStream

public void closeStream()
                 throws java.io.IOException
Description copied from class: AbstractVectorGraphicsIO
Called to close the stream you are writing to.

Specified by:
closeStream in class AbstractVectorGraphicsIO
Throws:
java.io.IOException

openPage

public void openPage(java.awt.Component component)
              throws java.io.IOException
Description copied from interface: MultiPageDocument
Start the next page

Specified by:
openPage in interface MultiPageDocument
Throws:
java.io.IOException

openPage

public void openPage(java.awt.Dimension size,
                     java.lang.String title)
              throws java.io.IOException
Specified by:
openPage in interface MultiPageDocument
Throws:
java.io.IOException

closePage

public void closePage()
Description copied from interface: MultiPageDocument
End the current page.

Specified by:
closePage in interface MultiPageDocument

setHeader

public void setHeader(java.awt.Font font,
                      TagString left,
                      TagString center,
                      TagString right,
                      int underlineThickness)
Description copied from interface: MultiPageDocument
Set the headline of all pages.

Specified by:
setHeader in interface MultiPageDocument

setFooter

public void setFooter(java.awt.Font font,
                      TagString left,
                      TagString center,
                      TagString right,
                      int underlineThickness)
Description copied from interface: MultiPageDocument
Set the footline of all pages.

Specified by:
setFooter in interface MultiPageDocument

create

public java.awt.Graphics create()
Specified by:
create in class VectorGraphics

create

public java.awt.Graphics create(double x,
                                double y,
                                double width,
                                double height)
Specified by:
create in class VectorGraphics

writeGraphicsSave

protected void writeGraphicsSave()
                          throws java.io.IOException
Embed a gsave in the PostScript file.

Specified by:
writeGraphicsSave in class AbstractVectorGraphicsIO
Throws:
java.io.IOException

writeGraphicsRestore

protected void writeGraphicsRestore()
                             throws java.io.IOException
Embed a grestore in the PostScript file.

Specified by:
writeGraphicsRestore in class AbstractVectorGraphicsIO
Throws:
java.io.IOException

draw

public void draw(java.awt.Shape shape)
Specified by:
draw in class VectorGraphics

fill

public void fill(java.awt.Shape shape)
Specified by:
fill in class VectorGraphics

fillAndDraw

public void fillAndDraw(java.awt.Shape shape,
                        java.awt.Color fillColor)
Overrides:
fillAndDraw in class AbstractVectorGraphics

copyArea

public void copyArea(int x,
                     int y,
                     int width,
                     int height,
                     int dx,
                     int dy)
Specified by:
copyArea in class VectorGraphics

writeImage

protected void writeImage(java.awt.image.RenderedImage image,
                          java.awt.geom.AffineTransform xform,
                          java.awt.Color bkg)
                   throws java.io.IOException
Specified by:
writeImage in class AbstractVectorGraphicsIO
Throws:
java.io.IOException

writeString

protected void writeString(java.lang.String str,
                           double x,
                           double y)
                    throws java.io.IOException
Specified by:
writeString in class AbstractVectorGraphicsIO
Throws:
java.io.IOException

writeTransform

protected void writeTransform(java.awt.geom.AffineTransform tx)
                       throws java.io.IOException
Description copied from class: AbstractVectorGraphicsIO
Writes out the transform as it needs to be concatenated to the internal transform of the output format. If there is no implementation of an internal transform, then this method needs to do nothing, BUT all coordinates need to be transformed by the currentTransform before being written out.

Specified by:
writeTransform in class AbstractVectorGraphicsIO
Parameters:
tx - to be written
Throws:
java.io.IOException

writeSetTransform

protected void writeSetTransform(java.awt.geom.AffineTransform tx)
                          throws java.io.IOException
Description copied from class: AbstractVectorGraphicsIO
Clears any existing transformation and sets the a new one. The default implementation calls writeTransform using the inverted affine transform to calculate it. s *

Overrides:
writeSetTransform in class AbstractVectorGraphicsIO
Parameters:
tx - to be written
Throws:
java.io.IOException

writeClip

protected void writeClip(java.awt.Shape s)
                  throws java.io.IOException
Description copied from class: AbstractVectorGraphicsIO
Write out Shape clip.

Specified by:
writeClip in class AbstractVectorGraphicsIO
Parameters:
s - to be used for clipping
Throws:
java.io.IOException

writeSetClip

protected void writeSetClip(java.awt.Shape s)
                     throws java.io.IOException
Description copied from class: AbstractVectorGraphicsIO
Write out Shape clip.

Specified by:
writeSetClip in class AbstractVectorGraphicsIO
Parameters:
s - to be used for clipping
Throws:
java.io.IOException

writeWidth

protected void writeWidth(float width)
                   throws java.io.IOException
Description copied from class: AbstractVectorGraphicsIO
Writes out the width of the stroke.

Overrides:
writeWidth in class AbstractVectorGraphicsIO
Parameters:
width - of the stroke
Throws:
java.io.IOException

writeCap

protected void writeCap(int cap)
                 throws java.io.IOException
Description copied from class: AbstractVectorGraphicsIO
Writes out the cap of the stroke.

Overrides:
writeCap in class AbstractVectorGraphicsIO
Parameters:
cap - of the stroke
Throws:
java.io.IOException

writeJoin

protected void writeJoin(int join)
                  throws java.io.IOException
Description copied from class: AbstractVectorGraphicsIO
Writes out the join of the stroke.

Overrides:
writeJoin in class AbstractVectorGraphicsIO
Parameters:
join - of the stroke
Throws:
java.io.IOException

writeMiterLimit

protected void writeMiterLimit(float limit)
                        throws java.io.IOException
Description copied from class: AbstractVectorGraphicsIO
Writes out the miter limit of the stroke.

Overrides:
writeMiterLimit in class AbstractVectorGraphicsIO
Parameters:
limit - miter limit of the stroke
Throws:
java.io.IOException

writeDash

protected void writeDash(float[] dash,
                         float phase)
                  throws java.io.IOException
Description copied from class: AbstractVectorGraphicsIO
Writes out the dash of the stroke.

Overrides:
writeDash in class AbstractVectorGraphicsIO
Parameters:
dash - dash pattern, empty array is solid line
phase - of the dash pattern
Throws:
java.io.IOException

setPaintMode

public void setPaintMode()
Specified by:
setPaintMode in class VectorGraphics

setXORMode

public void setXORMode(java.awt.Color c1)
Specified by:
setXORMode in class VectorGraphics

writePaint

protected void writePaint(java.awt.Color c)
                   throws java.io.IOException
Description copied from class: AbstractVectorGraphicsIO
Writes out paint as the given color.

Specified by:
writePaint in class AbstractVectorGraphicsIO
Parameters:
c - to be written
Throws:
java.io.IOException

writePaint

protected void writePaint(java.awt.GradientPaint paint)
                   throws java.io.IOException
Description copied from class: AbstractVectorGraphicsIO
Writes out paint as the given gradient.

Specified by:
writePaint in class AbstractVectorGraphicsIO
Parameters:
paint - to be written
Throws:
java.io.IOException

writePaint

protected void writePaint(java.awt.TexturePaint paint)
                   throws java.io.IOException
Description copied from class: AbstractVectorGraphicsIO
Writes out paint as the given texture.

Specified by:
writePaint in class AbstractVectorGraphicsIO
Parameters:
paint - to be written
Throws:
java.io.IOException

writePaint

protected void writePaint(java.awt.Paint p)
                   throws java.io.IOException
Description copied from class: AbstractVectorGraphicsIO
Writes out paint.

Specified by:
writePaint in class AbstractVectorGraphicsIO
Parameters:
p - to be written
Throws:
java.io.IOException

writeFont

protected void writeFont(java.awt.Font font)
Description copied from class: AbstractVectorGraphicsIO
Writes the font

Specified by:
writeFont in class AbstractVectorGraphicsIO
Parameters:
font - to be written

getDeviceConfiguration

public java.awt.GraphicsConfiguration getDeviceConfiguration()
Specified by:
getDeviceConfiguration in class VectorGraphics

writeComment

public void writeComment(java.lang.String s)
                  throws java.io.IOException
Embed a PostScript comment into the output file.

Specified by:
writeComment in class AbstractVectorGraphicsIO
Parameters:
s - to be written
Throws:
java.io.IOException

toString

public java.lang.String toString()
Specified by:
toString in class VectorGraphics

showString

public void showString(java.awt.Font font,
                       java.lang.String str)
Write the string str the the stream. Method is used by FontUtilities.showString(java.awt.Font, String, org.freehep.graphics2d.font.CharTable, org.freehep.graphics2d.font.FontUtilities.ShowString) or showCharacterCodes(String, double, double) depending on the settings font embedding.

Specified by:
showString in interface FontUtilities.ShowString
Parameters:
font - font to use
str - string to draw

fixedPrecision

public java.lang.String fixedPrecision(double d)


Copyright © 2000-2007 FreeHEP. All Rights Reserved.