org.freehep.graphicsio.emf.gdi.WidenPath Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of freehep-graphicsio-emf Show documentation
Show all versions of freehep-graphicsio-emf Show documentation
FreeHEP Enhanced Metafile Format Driver
The newest version!
// Copyright 2002, FreeHEP.
package org.freehep.graphicsio.emf.gdi;
import java.io.IOException;
import java.awt.geom.GeneralPath;
import java.awt.Stroke;
import org.freehep.graphicsio.emf.EMFInputStream;
import org.freehep.graphicsio.emf.EMFTag;
import org.freehep.graphicsio.emf.EMFRenderer;
/**
* WidenPath TAG.
*
* @author Mark Donszelmann
* @version $Id: freehep-graphicsio-emf/src/main/java/org/freehep/graphicsio/emf/gdi/WidenPath.java c0f15e7696d3 2007/01/22 19:26:48 duns $
*/
public class WidenPath extends EMFTag {
public WidenPath() {
super(66, 1);
}
public EMFTag read(int tagID, EMFInputStream emf, int len)
throws IOException {
return this;
}
/**
* displays the tag using the renderer
*
* @param renderer EMFRenderer storing the drawing session data
*/
public void render(EMFRenderer renderer) {
GeneralPath currentPath = renderer.getPath();
Stroke currentPenStroke = renderer.getPenStroke();
// The WidenPath function redefines the current path as the area
// that would be painted if the path were stroked using the pen
// currently selected into the given device context.
if (currentPath != null && currentPenStroke != null) {
GeneralPath newPath = new GeneralPath(
renderer.getWindingRule());
newPath.append(currentPenStroke.createStrokedShape(currentPath), false);
renderer.setPath(newPath);
}
}
}