org.freehep.graphicsio.emf
Class EMFGraphics2D

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.emf.EMFGraphics2D
All Implemented Interfaces:
VectorGraphicsConstants, EMFConstants

public class EMFGraphics2D
extends AbstractVectorGraphicsIO
implements EMFConstants

Enhanced Metafile Format Graphics 2D driver.

Version:
$Id: EMFGraphics2D.java 10516 2007-02-06 21:11:19Z duns $
Author:
Mark Donszelmann

Field Summary
static java.lang.String BACKGROUND
           
static java.lang.String BACKGROUND_COLOR
           
static java.lang.String TRANSPARENT
           
static java.lang.String version
           
 
Fields inherited from class org.freehep.graphicsio.AbstractVectorGraphicsIO
CLIP, EMIT_ERRORS, EMIT_WARNINGS, TEXT_AS_SHAPES
 
Fields inherited from interface org.freehep.graphicsio.emf.EMFConstants
AC_SRC_ALPHA, AC_SRC_OVER, AD_CLOCKWISE, AD_COUNTERCLOCKWISE, ALTERNATE, BI_BITFIELDS, BI_JPEG, BI_PNG, BI_RGB, BI_RLE4, BI_RLE8, BKG_OPAQUE, BKG_TRANSPARENT, BLACKONWHITE, BS_DIBPATTERN, BS_DIBPATTERN8X8, BS_DIBPATTERNPT, BS_HATCHED, BS_HOLLOW, BS_INDEXED, BS_MONOPATTERN, BS_NULL, BS_PATTERN, BS_PATTERN8X8, BS_SOLID, COLORONCOLOR, DIB_PAL_COLORS, DIB_RGB_COLORS, ETO_CLIPPED, ETO_GLYPH_INDEX, ETO_IGNORELANGUAGE, ETO_NUMERICSLATIN, ETO_NUMERICSLOCAL, ETO_OPAQUE, ETO_PDY, ETO_RTLREADING, FLOODFILLBORDER, FLOODFILLSURFACE, FW_BOLD, FW_DONTCARE, FW_EXTRABOLD, FW_EXTRALIGHT, FW_HEAVY, FW_LIGHT, FW_MEDIUM, FW_NORMAL, FW_SEMIBOLD, FW_THIN, GDICOMMENT_BEGINGROUP, GDICOMMENT_ENDGROUP, GDICOMMENT_IDENTIFIER, GDICOMMENT_MULTIFORMATS, GDICOMMENT_UNICODE_END, GDICOMMENT_UNICODE_STRING, GDICOMMENT_WINDOWS_METAFILE, GM_ADVANCED, GM_COMPATIBLE, GRADIENT_FILL_RECT_H, GRADIENT_FILL_RECT_V, GRADIENT_FILL_TRIANGLE, HALFTONE, HS_BDIAGONAL, HS_CROSS, HS_DIAGCROSS, HS_FDIAGONAL, HS_HORIZONTAL, HS_VERTICAL, ICM_DONE_OUTSIDEDC, ICM_OFF, ICM_ON, ICM_QUERY, MM_ANISOTROPIC, MM_HIENGLISH, MM_HIMETRIC, MM_ISOTROPIC, MM_LOENGLISH, MM_LOMETRIC, MM_TEXT, MM_TWIPS, MWT_IDENTITY, MWT_LEFTMULTIPLY, MWT_RIGHTMULTIPLY, PAN_ANY, PAN_NO_FIT, PS_COSMETIC, PS_DASH, PS_DASHDOT, PS_DASHDOTDOT, PS_DOT, PS_ENDCAP_FLAT, PS_ENDCAP_ROUND, PS_ENDCAP_SQUARE, PS_GEOMETRIC, PS_INSIDEFRAME, PS_JOIN_BEVEL, PS_JOIN_MITER, PS_JOIN_ROUND, PS_NULL, PS_SOLID, PS_USERSTYLE, PT_BEZIERTO, PT_CLOSEFIGURE, PT_LINETO, PT_MOVETO, R2_BLACK, R2_COPYPEN, R2_MASKNOTPEN, R2_MASKPEN, R2_MASKPENNOT, R2_MERGENOTPEN, R2_MERGEPEN, R2_MERGEPENNOT, R2_NOP, R2_NOT, R2_NOTCOPYPEN, R2_NOTMASKPEN, R2_NOTMERGEPEN, R2_NOTXORPEN, R2_WHITE, R2_XORPEN, RGN_AND, RGN_COPY, RGN_DIFF, RGN_MAX, RGN_MIN, RGN_OR, RGN_XOR, SRCCOPY, STRETCH_ANDSCANS, STRETCH_DELETESCANS, STRETCH_HALFTONE, STRETCH_ORSCANS, TA_BASELINE, TA_BOTTOM, TA_CENTER, TA_LEFT, TA_NOUPDATECP, TA_RIGHT, TA_RTLREADING, TA_TOP, TA_UPDATECP, TWIPS, UNITS_PER_PIXEL, WHITEONBLACK, WINDING
 
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 EMFGraphics2D(EMFGraphics2D graphics, boolean doRestoreOnDispose)
           
  EMFGraphics2D(java.io.File file, java.awt.Component component)
           
  EMFGraphics2D(java.io.File file, java.awt.Dimension size)
           
  EMFGraphics2D(java.io.OutputStream os, java.awt.Component component)
           
  EMFGraphics2D(java.io.OutputStream os, java.awt.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)
           
 java.awt.Graphics create()
           
 java.awt.Graphics create(double x, double y, double width, double height)
           
protected  java.awt.Shape createShape(double[] xPoints, double[] yPoints, int nPoints, boolean close)
          Implementation of createShape makes sure that the points are different by at least one Unit.
 void draw(java.awt.Shape shape)
           
 void fill(java.awt.Shape shape)
           
 void fillAndDraw(java.awt.Shape shape, java.awt.Color fillColor)
           
static java.util.Properties getDefaultProperties()
           
 java.awt.GraphicsConfiguration getDeviceConfiguration()
           
static void setDefaultProperties(java.util.Properties newProperties)
           
 void setPaintMode()
           
 void setXORMode(java.awt.Color c1)
           
 java.lang.String toString()
           
 void writeBackground()
           
protected  void writeClip(java.awt.Shape s)
          Write out Shape clip.
 void writeComment(java.lang.String comment)
          Called to Write out a comment.
protected  void writeFont(java.awt.Font font)
          Writes the font
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 writeGraphicsState()
          Called to write the initial graphics state.
 void writeHeader()
          Called to write the header part of the output.
protected  void writeImage(java.awt.image.RenderedImage image, java.awt.geom.AffineTransform xform, java.awt.Color bkg)
           
protected  void writePaint(java.awt.Color p)
          Writes out paint as the given color.
protected  void writePaint(java.awt.GradientPaint p)
          Writes out paint as the given gradient.
protected  void writePaint(java.awt.Paint p)
          Writes out paint.
protected  void writePaint(java.awt.TexturePaint p)
          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 t)
          Clears any existing transformation and sets the a new one.
 void writeString(java.lang.String string, double x, double y)
           
 void writeStroke(java.awt.Stroke stroke)
          Writes the current stroke.
 void writeTrailer()
          Called to write the trailing part of the output.
protected  void writeTransform(java.awt.geom.AffineTransform t)
          Writes out the transform as it needs to be concatenated to the internal transform of the output format.
 
Methods inherited from class org.freehep.graphicsio.AbstractVectorGraphicsIO
addRenderingHints, clearRect, clip, clipRect, clipRect, 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, writeCap, writeDash, writeDash, writeError, writeJoin, writeMiterLimit, writeWarning, writeWarning, writeWidth
 
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

version

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

TRANSPARENT

public static final java.lang.String TRANSPARENT

BACKGROUND

public static final java.lang.String BACKGROUND

BACKGROUND_COLOR

public static final java.lang.String BACKGROUND_COLOR
Constructor Detail

EMFGraphics2D

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

EMFGraphics2D

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

EMFGraphics2D

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

EMFGraphics2D

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

EMFGraphics2D

protected EMFGraphics2D(EMFGraphics2D graphics,
                        boolean doRestoreOnDispose)
Method Detail

getDefaultProperties

public static java.util.Properties getDefaultProperties()

setDefaultProperties

public static void setDefaultProperties(java.util.Properties newProperties)

writeHeader

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

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

writeGraphicsState

public void writeGraphicsState()
                        throws java.io.IOException
Description copied from class: AbstractVectorGraphicsIO
Called to write the initial graphics state.

Overrides:
writeGraphicsState 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

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
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:
java.io.IOException

writeGraphicsRestore

protected void writeGraphicsRestore()
                             throws java.io.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:
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

public void writeString(java.lang.String string,
                        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 t)
                       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:
t - to be written
Throws:
java.io.IOException

writeSetTransform

protected void writeSetTransform(java.awt.geom.AffineTransform t)
                          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:
t - to be written
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

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

writeStroke

public void writeStroke(java.awt.Stroke stroke)
                 throws java.io.IOException
Description copied from class: AbstractVectorGraphicsIO
Writes the current stroke. If stroke is an instance of BasicStroke it will call writeWidth, writeCap, writeJoin, writeMiterLimit and writeDash, if any were different than the current stroke.

Overrides:
writeStroke in class AbstractVectorGraphicsIO
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 p)
                   throws java.io.IOException
Description copied from class: AbstractVectorGraphicsIO
Writes out paint as the given color.

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

writePaint

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

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

writePaint

protected void writePaint(java.awt.TexturePaint p)
                   throws java.io.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:
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)
                  throws java.io.IOException
Description copied from class: AbstractVectorGraphicsIO
Writes the font

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

getDeviceConfiguration

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

writeComment

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

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

toString

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

createShape

protected java.awt.Shape createShape(double[] xPoints,
                                     double[] yPoints,
                                     int nPoints,
                                     boolean close)
Implementation of createShape makes sure that the points are different by at least one Unit.

Overrides:
createShape in class AbstractVectorGraphicsIO
Parameters:
xPoints - X coordinates of the polyline.
yPoints - Y coordinates of the polyline.
nPoints - number of points of the polyline.
close - is shape closed


Copyright © 2000-2007 FreeHEP. All Rights Reserved.