FreeHEP API
Version current

org.freehep.graphicsio.cgm
Class CGMGraphics2D

java.lang.Object
  extended byjava.awt.Graphics
      extended byjava.awt.Graphics2D
          extended byorg.freehep.graphics2d.VectorGraphics
              extended byorg.freehep.graphics2d.AbstractVectorGraphics
                  extended byorg.freehep.graphicsio.VectorGraphicsIO
                      extended byorg.freehep.graphicsio.AbstractVectorGraphicsIO
                          extended byorg.freehep.graphicsio.cgm.CGMGraphics2D
All Implemented Interfaces:
VectorGraphicsConstants

public class CGMGraphics2D
extends AbstractVectorGraphicsIO

Implementation of VectorGraphics that writes the output to a CGM file. Users of this class have to generate a TagWriter and create an instance by invoking the factory method or the constructor. Document specific settings like page size can then be made by the appropriate setter methods. Before starting to draw, startExport() must be called. When drawing is finished, call endExport().

Version:
$Id: CGMGraphics2D.java,v 1.17 2005/01/01 07:34:45 duns Exp $
Author:
Mark Donszelmann, Ian Graham - fixed constructor bug, added writeImage for raster support, and refactored for reuse
Source Code:
CGMGraphics2D.java

Field Summary
static String AUTHOR
           
static String BACKGROUND
           
static String BACKGROUND_COLOR
           
static String BINARY
           
static String KEYWORDS
           
static String SUBJECT
           
static String TITLE
           
static String version
           
 
Fields inherited from class org.freehep.graphicsio.AbstractVectorGraphicsIO
EMIT_ERRORS, EMIT_WARNINGS
 
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
protected CGMGraphics2D(CGMGraphics2D graphics)
          Cloneconstructor
  CGMGraphics2D(File file, Component component)
           
  CGMGraphics2D(File file, Dimension size)
           
  CGMGraphics2D(OutputStream os, Component component)
           
  CGMGraphics2D(OutputStream os, Dimension size)
           
 
Method Summary
 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)
           
 Graphics create()
           
 Graphics create(double x, double y, double width, double height)
           
 void draw(Shape s)
           
 void fill(Shape s)
           
 void fillAndDraw(Shape s, Color fillColor)
           
static Properties getDefaultProperties()
           
 GraphicsConfiguration getDeviceConfiguration()
           
protected  TaggedOutput getTaggedOutput()
          Return the tagged output stream to which to write tags.
 boolean hit(Rectangle rect, Shape s, boolean onStroke)
           
static void setDefaultProperties(Properties newProperties)
           
 void setFont(Font font)
          Sets the current font.
 void setPaintMode()
           
 void setTransparentCellColor(Color color)
           
 void setXORMode(Color c1)
           
 String toString()
           
 void writeBackground()
           
protected  void writeBeginningOfPictureBody()
           
protected  void writeCap(int cap)
          Writes out the cap of the stroke.
protected  void writeClip(Rectangle2D r2d)
          Write out Rectangle2D clip.
protected  void writeClip(Shape s)
          Write out Shape clip.
 void writeComment(String comment)
          Called to Write out a comment.
protected  void writeDash(double[] dash, double phase)
          Writes out the dash of the stroke.
protected  void writeGraphicsRestore()
          Writes out the restore of a graphics context.
protected  void writeGraphicsSave()
          Writes out the save of a graphics context for a later restore.
 void writeHeader()
          Writes the catalog, docinfo, preferences, and (as we use only single page output the page tree.
protected  void writeImage(RenderedImage image, AffineTransform xform, Color bkg)
           
protected  void writeJoin(int join)
          Writes out the join of the stroke.
protected  void writeMetafileDescriptor()
           
protected  void writeMiterLimit(float limit)
          Writes out the miter limit of the stroke.
protected  void writePaint(Color c)
          Writes out paint as the given color.
protected  void writePaint(GradientPaint paint)
          Writes out paint as the given gradient.
protected  void writePaint(Paint p)
          Writes out paint.
protected  void writePaint(TexturePaint p)
          Writes out paint as the given texture.
protected  void writePictureDescriptor()
           
protected  void writeString(String str, double x, double y)
           
 void writeTrailer()
          Called to write the trailing part of the output.
protected  void writeTransform(AffineTransform t)
          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, drawString, drawString, endExport, getClip, getClipBounds, getClipBounds, getComponent, getComposite, getFontMetrics, getFontRenderContext, getRenderingHint, getRenderingHints, getSize, getStroke, getTransform, handleException, printComment, resetClip, rotate, scale, setClip, setClip, setClip, setColor, setComposite, setPaint, setRenderingHint, setRenderingHints, setStroke, setTransform, shear, startExport, transform, translate, writeClip, writeError, writeGraphicsState, writeSetClip, 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, 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, initProperties, isDeviceIndependent, isProperty, rotate, setBackground, setColorMode, setCreator, setDeviceIndependent, setLineWidth, setLineWidth, setProperties, translate
 
Methods inherited from class org.freehep.graphics2d.VectorGraphics
create, create, 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 String BACKGROUND

BACKGROUND_COLOR

public static final String BACKGROUND_COLOR

BINARY

public static final String BINARY

AUTHOR

public static final String AUTHOR

TITLE

public static final String TITLE

SUBJECT

public static final String SUBJECT

KEYWORDS

public static final String KEYWORDS

version

public static final String version
See Also:
Constant Field Values
Constructor Detail

CGMGraphics2D

public CGMGraphics2D(File file,
                     Dimension size)
              throws FileNotFoundException

CGMGraphics2D

public CGMGraphics2D(File file,
                     Component component)
              throws FileNotFoundException

CGMGraphics2D

public CGMGraphics2D(OutputStream os,
                     Dimension size)

CGMGraphics2D

public CGMGraphics2D(OutputStream os,
                     Component component)

CGMGraphics2D

protected CGMGraphics2D(CGMGraphics2D graphics)
Cloneconstructor

Method Detail

getDefaultProperties

public static Properties getDefaultProperties()

setDefaultProperties

public static void setDefaultProperties(Properties newProperties)

writeHeader

public void writeHeader()
                 throws IOException
Writes the catalog, docinfo, preferences, and (as we use only single page output the page tree. Written as a template method to enable reuse.

Specified by:
writeHeader in class AbstractVectorGraphicsIO
Throws:
IOException

writeMetafileDescriptor

protected void writeMetafileDescriptor()
                                throws IOException
Throws:
IOException

writePictureDescriptor

protected void writePictureDescriptor()
                               throws IOException
Throws:
IOException

writeBeginningOfPictureBody

protected void writeBeginningOfPictureBody()
                                    throws IOException
Throws:
IOException

writeBackground

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

writeTrailer

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

Specified by:
writeTrailer in class AbstractVectorGraphicsIO
Throws:
IOException

closeStream

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

Specified by:
closeStream in class AbstractVectorGraphicsIO
Throws:
IOException

create

public Graphics create()
Specified by:
create in class VectorGraphics

create

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

writeGraphicsSave

protected void writeGraphicsSave()
                          throws IOException
Description copied from class: AbstractVectorGraphicsIO
Writes out the save of a graphics context for a later restore. Some implementations keep track of this by hand if the output format does not support it.

Specified by:
writeGraphicsSave in class AbstractVectorGraphicsIO
Throws:
IOException

writeGraphicsRestore

protected void writeGraphicsRestore()
                             throws IOException
Description copied from class: AbstractVectorGraphicsIO
Writes out the restore of a graphics context. Some implementations keep track of this by hand if the output format does not support it.

Specified by:
writeGraphicsRestore in class AbstractVectorGraphicsIO
Throws:
IOException

draw

public void draw(Shape s)
Specified by:
draw in class VectorGraphics

fill

public void fill(Shape s)
Specified by:
fill in class VectorGraphics

fillAndDraw

public void fillAndDraw(Shape s,
                        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(RenderedImage image,
                          AffineTransform xform,
                          Color bkg)
                   throws IOException
Specified by:
writeImage in class AbstractVectorGraphicsIO
Throws:
IOException

writeString

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

writeTransform

protected void writeTransform(AffineTransform t)
                       throws 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:
t - to be written
Throws:
IOException

writeClip

protected void writeClip(Rectangle2D r2d)
                  throws IOException
Description copied from class: AbstractVectorGraphicsIO
Write out Rectangle2D clip.

Specified by:
writeClip in class AbstractVectorGraphicsIO
Parameters:
r2d - to be used for clipping
Throws:
IOException

writeClip

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

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

writeWidth

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

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

writeCap

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

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

writeJoin

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

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

writeMiterLimit

protected void writeMiterLimit(float limit)
                        throws 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:
IOException

writeDash

protected void writeDash(double[] dash,
                         double phase)
                  throws 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:
IOException

setPaintMode

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

setXORMode

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

setTransparentCellColor

public void setTransparentCellColor(Color color)
                             throws IOException
Throws:
IOException

writePaint

protected void writePaint(Color c)
                   throws 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:
IOException

writePaint

protected void writePaint(GradientPaint paint)
                   throws 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:
IOException

writePaint

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

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

writePaint

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

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

setFont

public void setFont(Font font)
Description copied from class: AbstractVectorGraphics
Sets the current font.

Overrides:
setFont in class AbstractVectorGraphics
Parameters:
font - to be set

getDeviceConfiguration

public GraphicsConfiguration getDeviceConfiguration()
Specified by:
getDeviceConfiguration in class VectorGraphics

hit

public boolean hit(Rectangle rect,
                   Shape s,
                   boolean onStroke)
Specified by:
hit in class VectorGraphics

writeComment

public void writeComment(String comment)
                  throws IOException
Description copied from class: AbstractVectorGraphicsIO
Called to Write out a comment.

Specified by:
writeComment in class AbstractVectorGraphicsIO
Parameters:
comment - to be written
Throws:
IOException

toString

public String toString()
Specified by:
toString in class VectorGraphics

getTaggedOutput

protected TaggedOutput getTaggedOutput()
Return the tagged output stream to which to write tags.

Returns:
TaggedOutput

FreeHEP API
Version current

Copyright © 2000-2004 FreeHEP, All Rights Reserved.