// Copyright 2006, FreeHEP.
package org.freehep.graphicsio.emf.gdiplus;
import java.awt.geom.AffineTransform;
import java.io.IOException;
import org.freehep.graphicsio.emf.EMFInputStream;
import org.freehep.graphicsio.emf.EMFOutputStream;
/**
* The SetWorldTransform metafile record represents a change in the
* Graphics.Transform property, which sets the world transformation matrix of
* the graphics object.
*
* @author Mark Donszelmann
* @version $Id: SetWorldTransform.java,v 1.1 2009-08-17 21:44:44 murkle Exp $
*/
public class SetWorldTransform extends EMFPlusTag {
private AffineTransform transform;
public SetWorldTransform() {
super(42, 1);
}
public SetWorldTransform(AffineTransform transform) {
this();
flags = 0;
this.transform = transform;
}
@Override
public EMFPlusTag read(int tagID, int flags, EMFInputStream emf, int len)
throws IOException {
SetWorldTransform tag = new SetWorldTransform();
tag.flags = flags;
tag.transform = new AffineTransform(emf.readFLOAT(), emf.readFLOAT(),
emf.readFLOAT(), emf.readFLOAT(), emf.readFLOAT(),
emf.readFLOAT());
return tag;
}
@Override
public void write(int tagID, int flags, EMFOutputStream emf)
throws IOException {
GDIPlusObject.writeTransform(emf, transform);
}
@Override
public String toString() {
return super.toString() + "\n " + transform;
}
}