KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > krysalis > barcode > BarcodeDimension


1 /*
2  * $Id: BarcodeDimension.java,v 1.2 2003/02/28 11:23:48 jmaerki Exp $
3  * ============================================================================
4  * The Krysalis Patchy Software License, Version 1.1_01
5  * Copyright (c) 2002-2003 Nicola Ken Barozzi. All rights reserved.
6  *
7  * This Licence is compatible with the BSD licence as described and
8  * approved by http://www.opensource.org/, and is based on the
9  * Apache Software Licence Version 1.1.
10  *
11  * Redistribution and use in source and binary forms, with or without
12  * modification, are permitted provided that the following conditions
13  * are met:
14  *
15  * 1. Redistributions of source code must retain the above copyright
16  * notice, this list of conditions and the following disclaimer.
17  *
18  * 2. Redistributions in binary form must reproduce the above copyright
19  * notice, this list of conditions and the following disclaimer in
20  * the documentation and/or other materials provided with the
21  * distribution.
22  *
23  * 3. The end-user documentation included with the redistribution,
24  * if any, must include the following acknowledgment:
25  * "This product includes software developed for project
26  * Krysalis (http://www.krysalis.org/)."
27  * Alternately, this acknowledgment may appear in the software itself,
28  * if and wherever such third-party acknowledgments normally appear.
29  *
30  * 4. The names "Krysalis" and "Nicola Ken Barozzi" and
31  * "Krysalis Barcode" must not be used to endorse or promote products
32  * derived from this software without prior written permission. For
33  * written permission, please contact nicolaken@krysalis.org.
34  *
35  * 5. Products derived from this software may not be called "Krysalis",
36  * "Krysalis Barcode", nor may "Krysalis" appear in their name,
37  * without prior written permission of Nicola Ken Barozzi.
38  *
39  * 6. This software may contain voluntary contributions made by many
40  * individuals, who decided to donate the code to this project in
41  * respect of this licence, and was originally created by
42  * Jeremias Maerki <jeremias@maerki.org>.
43  *
44  * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
45  * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
46  * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
47  * DISCLAIMED. IN NO EVENT SHALL THE KRYSALIS PROJECT OR
48  * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
49  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
50  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
51  * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
52  * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
53  * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
54  * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
55  * SUCH DAMAGE.
56  * ====================================================================
57  */

58 package org.krysalis.barcode;
59
60 /**
61  * This class provides information on the dimensions of a barcode. It makes a
62  * distinction between the dimensions with and without quiet zone.
63  *
64  * @author Jeremias Maerki
65  */

66 public class BarcodeDimension {
67     
68     private double width;
69     private double height;
70     
71     private double widthPlusQuiet;
72     private double heightPlusQuiet;
73     private double xOffset;
74     private double yOffset;
75     
76     /**
77      * Creates a new BarcodeDimension object. No quiet-zone is respected.
78      * @param w width of the barcode in millimeters (mm).
79      * @param h height of the barcode in millimeters (mm).
80      */

81     public BarcodeDimension(double w, double h) {
82         this.width = w;
83         this.height = h;
84         this.widthPlusQuiet = this.width;
85         this.heightPlusQuiet = this.height;
86         this.xOffset = 0.0;
87         this.yOffset = 0.0;
88     }
89     
90     /**
91      * Creates a new BarcodeDimension object.
92      * @param w width of the raw barcode (without quiet-zone) in millimeters (mm).
93      * @param h height of the raw barcode (without quiet-zone) in millimeters (mm).
94      * @param wpq width of the barcode (quiet-zone included) in millimeters (mm).
95      * @param hpq height of the barcode (quiet-zone included) in millimeters (mm).
96      * @param xoffset x-offset if the upper-left corner of the barcode within
97      * the extended barcode area.
98      * @param yoffset y-offset if the upper-left corner of the barcode within
99      * the extended barcode area.
100      */

101     public BarcodeDimension(double w, double h,
102                 double wpq, double hpq,
103                 double xoffset, double yoffset) {
104         this.width = w;
105         this.height = h;
106         this.widthPlusQuiet = wpq;
107         this.heightPlusQuiet = hpq;
108         this.xOffset = xoffset;
109         this.yOffset = yoffset;
110     }
111     
112     
113     /**
114      * Returns the height of the barcode (ignores quiet-zone).
115      * @return height in millimeters (mm)
116      */

117     public double getHeight() {
118         return height;
119     }
120
121     /**
122      * Returns the height of the barcode (quiet-zone included).
123      * @return height in millimeters (mm)
124      */

125     public double getHeightPlusQuiet() {
126         return heightPlusQuiet;
127     }
128
129     /**
130      * Returns the width of the barcode (ignores quiet-zone).
131      * @return width in millimeters (mm)
132      */

133     public double getWidth() {
134         return width;
135     }
136
137     /**
138      * Returns the width of the barcode (quiet-zone included).
139      * @return width in millimeters (mm)
140      */

141     public double getWidthPlusQuiet() {
142         return widthPlusQuiet;
143     }
144
145     /**
146      * Returns the x-offset of the upper-left corner of the barcode within the
147      * extended barcode area.
148      * @return double x-offset in millimeters (mm)
149      */

150     public double getXOffset() {
151         return xOffset;
152     }
153
154     /**
155      * Returns the y-offset of the upper-left corner of the barcode within the
156      * extended barcode area.
157      * @return double y-offset in millimeters (mm)
158      */

159     public double getYOffset() {
160         return yOffset;
161     }
162
163     /**
164      * @see java.lang.Object#toString()
165      */

166     public String JavaDoc toString() {
167         StringBuffer JavaDoc sb = new StringBuffer JavaDoc(super.toString());
168         sb.append("[width=");
169         sb.append(getWidth());
170         sb.append("(");
171         sb.append(getWidthPlusQuiet());
172         sb.append("),height=");
173         sb.append(getHeight());
174         sb.append("(");
175         sb.append(getHeightPlusQuiet());
176         sb.append(")]");
177         return sb.toString();
178     }
179 }
180
Popular Tags