sventon subversion web client - http://www.sventon.org
[show recent changes]
 
  Help
HEAD
Rev: 10305 - svn://svn.freehep.org/svn / freehep / branches / vectorgraphics-emfplus / freehep-graphicsio-emf / src / main / java / org / freehep / graphicsio / emf / gdiplus / DrawEllipse.java
Show File - DrawEllipse.java  [show properties]
Search for Help
spinner
// Copyright 2006, FreeHEP.
package org.freehep.graphicsio.emf.gdiplus;
import java.io.IOException;
import org.freehep.graphicsio.emf.EMFInputStream;
import org.freehep.graphicsio.emf.EMFOutputStream;
/**
10   * The DrawEllipse metafile record represents a call to 
11   * Graphics.DrawEllipse, which draws the border of an ellipse.
12   * 
13   * @author Mark Donszelmann
14   * @version $Id$
15   */
16  public class DrawEllipse extends EMFPlusTag {
17      
18      private float x, y, w, h;
19      
20      public DrawEllipse() {
21          super(15, 1);
22      }
23 
24      public DrawEllipse(int penIndex, float x, float y, float w, float h) {
25          this();
26          flags = penIndex;
27          this.= x;
28          this.= y;
29          this.= w;
30          this.= h;
31      }
32          
33      public EMFPlusTag read(int tagID, int flags, EMFInputStream emf, int len)
34              throws IOException {
35          DrawEllipse tag = new DrawEllipse();
36          tag.flags = flags;
37          if ((flags & 0x4000) > 0) {
38              tag.= emf.readWORD();
39              tag.= emf.readWORD();
40              tag.= emf.readWORD();
41              tag.= emf.readWORD();
42          } else {
43              tag.= emf.readFLOAT();
44              tag.= emf.readFLOAT();
45              tag.= emf.readFLOAT();
46              tag.= emf.readFLOAT();
47          }
48          return tag;
49      }
50 
51      public void write(int tagID, int flags, EMFOutputStream emf) throws IOException {
52          // No Provision for 16 bit integer values.
53          emf.writeFLOAT(x);
54          emf.writeFLOAT(y);
55          emf.writeFLOAT(w);
56          emf.writeFLOAT(h);
57      }
58      
59      public String toString() {
60          return super.toString() +"\n  rect: ("+x+", "+y+", "+w+", "+h+")";
61      }
62  }


feed icon

sventon 2.5.1