// Copyright 2001, FreeHEP. package org.freehep.graphicsio.emf.gdi; import java.io.IOException; import org.freehep.graphicsio.emf.EMFInputStream; import org.freehep.graphicsio.emf.EMFOutputStream; import org.freehep.graphicsio.emf.EMFTag; /** * ExtCreatePen TAG. * * @author Mark Donszelmann * @version $Id: ExtCreatePen.java,v 1.5 2009-08-17 21:44:44 murkle Exp $ */ public class ExtCreatePen extends EMFTag { private int index; private ExtLogPen pen; public ExtCreatePen() { super(95, 1); } public ExtCreatePen(int index, ExtLogPen pen) { this(); this.index = index; this.pen = pen; } @Override public EMFTag read(int tagID, EMFInputStream emf, int len) throws IOException { int index = emf.readDWORD(); /* int bmiOffset = */ emf.readDWORD(); /* int bmiSize = */ emf.readDWORD(); /* int brushOffset = */ emf.readDWORD(); /* int brushSize = */ emf.readDWORD(); ExtCreatePen tag = new ExtCreatePen(index, new ExtLogPen(emf)); return tag; } @Override public void write(int tagID, EMFOutputStream emf) throws IOException { emf.writeDWORD(index); emf.writeDWORD(0); // offset to bmi emf.writeDWORD(0); // size of bmi emf.writeDWORD(0); // offset to brush bitmap emf.writeDWORD(0); // size of brush bitmap pen.write(emf); } @Override public String toString() { return super.toString() + "\n" + " index: 0x" + Integer.toHexString(index) + "\n" + pen.toString(); } }