View Javadoc

1   package net.sourceforge.barbecue.linear.postnet;
2   
3   import net.sourceforge.barbecue.Module;
4   import net.sourceforge.barbecue.output.AbstractOutput;
5   import net.sourceforge.barbecue.output.OutputException;
6   
7   /**
8    * @author Brendon Anderson
9    */
10  public class PostNetModule extends Module {
11  
12      protected final static double BARWIDTH = 3.0;
13      protected final static double BLANKWIDTH = 4.0;
14  
15      public PostNetModule(int[] bars) {
16          super(bars);
17      }
18  
19      protected double draw(AbstractOutput output, double x, double y) throws OutputException {
20          double sum = 0;
21          double fullheight = PostNetBarcode.HEIGHT;
22          double halfheight = fullheight * .4;
23  
24          for (int i = 0; i < bars.length; i++) {
25              int bar = bars[i];
26              if (bar == 0) {
27                  output.drawBar((int) x, (int) (y + (fullheight - halfheight)), (int) BARWIDTH, (int) halfheight, true);
28              } else {
29                  output.drawBar((int) x, (int) y, (int) BARWIDTH, (int) fullheight, true);
30              }
31              sum += BARWIDTH;
32              x += BARWIDTH;
33              output.drawBar((int) x, (int) y, (int) BLANKWIDTH, (int) fullheight, false);
34              sum += BLANKWIDTH;
35              x += BLANKWIDTH;
36              output.drawBar((int) x, (int) y, (int) BLANKWIDTH, (int) fullheight, false);
37          }
38          return sum;
39      }
40  }
41  
42  
43  
44  
45  
46  
47  
48  
49  
50  
51  
52