View Javadoc

1   // Copyright 2002, FreeHEP.
2   package org.freehep.graphicsio.emf.gdi;
3   
4   import java.awt.Color;
5   import java.io.IOException;
6   
7   import org.freehep.graphicsio.emf.EMFInputStream;
8   import org.freehep.graphicsio.emf.EMFOutputStream;
9   import org.freehep.graphicsio.emf.EMFRenderer;
10  
11  /**
12   * EMF LogPen
13   * 
14   * @author Mark Donszelmann
15   * @version $Id: LogPen.java 10515 2007-02-06 18:42:34Z duns $
16   */
17  public class LogPen extends AbstractPen {
18  
19      private int penStyle;
20  
21      private int width;
22  
23      private Color color;
24  
25      public LogPen(int penStyle, int width, Color color) {
26          this.penStyle = penStyle;
27          this.width = width;
28          this.color = color;
29      }
30  
31      public LogPen(EMFInputStream emf) throws IOException {
32          penStyle = emf.readDWORD();
33          width = emf.readDWORD();
34          /* int y = */ emf.readDWORD();
35          color = emf.readCOLORREF();
36      }
37  
38      public void write(EMFOutputStream emf) throws IOException {
39          emf.writeDWORD(penStyle);
40          emf.writeDWORD(width);
41          emf.writeDWORD(0);
42          emf.writeCOLORREF(color);
43      }
44  
45      public String toString() {
46          return "  LogPen\n" + "    penstyle: " + penStyle +
47              "\n    width: " + width +
48              "\n    color: " + color;
49      }
50  
51      /**
52       * displays the tag using the renderer
53       *
54       * @param renderer EMFRenderer storing the drawing session data
55       */
56      public void render(EMFRenderer renderer) {
57          renderer.setUseCreatePen(true);
58          renderer.setPenPaint(color);
59          renderer.setPenStroke(
60              createStroke(renderer,  penStyle, null, width));
61      }
62  }