// Copyright 2002, FreeHEP. package org.freehep.graphicsio.emf.gdi; import com.google.code.appengine.awt.geom.AffineTransform; import java.io.IOException; import org.freehep.graphicsio.emf.EMFInputStream; import org.freehep.graphicsio.emf.EMFOutputStream; import org.freehep.graphicsio.emf.EMFTag; import org.freehep.graphicsio.emf.EMFRenderer; /** * SetWorldTransform TAG. * * @author Mark Donszelmann * @version $Id: SetWorldTransform.java 10367 2007-01-22 19:26:48Z duns $ */ public class SetWorldTransform extends EMFTag { private AffineTransform transform; public SetWorldTransform() { super(35, 1); } public SetWorldTransform(AffineTransform transform) { this(); this.transform = transform; } public EMFTag read(int tagID, EMFInputStream emf, int len) throws IOException { return new SetWorldTransform(emf.readXFORM()); } public void write(int tagID, EMFOutputStream emf) throws IOException { emf.writeXFORM(transform); } public String toString() { return super.toString() + "\n transform: " + transform; } /** * displays the tag using the renderer * * @param renderer EMFRenderer storing the drawing session data */ public void render(EMFRenderer renderer) { if (renderer.getPath() != null) { renderer.setPathTransform(transform); } else { renderer.resetTransformation(); renderer.transform(transform); } } }