1 |
|
2 |
package org.freehep.graphicsio.emf.gdiplus; |
3 |
|
4 |
import java.awt.geom.AffineTransform; |
5 |
import java.io.IOException; |
6 |
|
7 |
import org.freehep.graphicsio.emf.EMFInputStream; |
8 |
import org.freehep.graphicsio.emf.EMFOutputStream; |
9 |
|
10 |
|
11 |
|
12 |
|
13 |
|
14 |
|
15 |
@author |
16 |
@version |
17 |
|
18 |
public class MultiplyWorldTransform extends EMFPlusTag { |
19 |
|
20 |
private static final int CONCATENATE = 0x2000; |
21 |
private AffineTransform transform; |
22 |
|
23 |
public MultiplyWorldTransform() { |
24 |
super(44, 1); |
25 |
} |
26 |
|
27 |
public MultiplyWorldTransform(AffineTransform transform, boolean prepend) { |
28 |
this(); |
29 |
flags = prepend ? 0x0000 : CONCATENATE; |
30 |
this.transform = transform; |
31 |
} |
32 |
|
33 |
public EMFPlusTag read(int tagID, int flags, EMFInputStream emf, int len) |
34 |
throws IOException { |
35 |
MultiplyWorldTransform tag = new MultiplyWorldTransform(); |
36 |
tag.flags = flags; |
37 |
tag.transform = new AffineTransform(emf.readFLOAT(), emf.readFLOAT(), emf.readFLOAT(), emf.readFLOAT(), emf.readFLOAT(), emf.readFLOAT()); |
38 |
return tag; |
39 |
} |
40 |
|
41 |
public void write(int tagID, int flags, EMFOutputStream emf) throws IOException { |
42 |
GDIPlusObject.writeTransform(emf, transform); |
43 |
} |
44 |
} |