KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > pdfbox > util > BoundingBox


1 /**
2  * Copyright (c) 2003, www.pdfbox.org
3  * All rights reserved.
4  *
5  * Redistribution and use in source and binary forms, with or without
6  * modification, are permitted provided that the following conditions are met:
7  *
8  * 1. Redistributions of source code must retain the above copyright notice,
9  * this list of conditions and the following disclaimer.
10  * 2. Redistributions in binary form must reproduce the above copyright notice,
11  * this list of conditions and the following disclaimer in the documentation
12  * and/or other materials provided with the distribution.
13  * 3. Neither the name of pdfbox; nor the names of its
14  * contributors may be used to endorse or promote products derived from this
15  * software without specific prior written permission.
16  *
17  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
18  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
19  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
20  * DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY
21  * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
22  * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
23  * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
24  * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
25  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
26  * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
27  *
28  * http://www.pdfbox.org
29  *
30  */

31 package org.pdfbox.util;
32
33 /**
34  * This is an implementation of a bounding box. This was originally written for the
35  * AMF parser.
36  *
37  * @author Ben Litchfield (ben@csh.rit.edu)
38  * @version $Revision: 1.5 $
39  */

40 public class BoundingBox
41 {
42     private float lowerLeftX;
43     private float lowerLeftY;
44     private float upperRightX;
45     private float upperRightY;
46
47     /**
48      * Getter for property lowerLeftX.
49      *
50      * @return Value of property lowerLeftX.
51      */

52     public float getLowerLeftX()
53     {
54         return lowerLeftX;
55     }
56
57     /**
58      * Setter for property lowerLeftX.
59      *
60      * @param lowerLeftXValue New value of property lowerLeftX.
61      */

62     public void setLowerLeftX(float lowerLeftXValue)
63     {
64         this.lowerLeftX = lowerLeftXValue;
65     }
66
67     /**
68      * Getter for property lowerLeftY.
69      *
70      * @return Value of property lowerLeftY.
71      */

72     public float getLowerLeftY()
73     {
74         return lowerLeftY;
75     }
76
77     /**
78      * Setter for property lowerLeftY.
79      *
80      * @param lowerLeftYValue New value of property lowerLeftY.
81      */

82     public void setLowerLeftY(float lowerLeftYValue)
83     {
84         this.lowerLeftY = lowerLeftYValue;
85     }
86
87     /**
88      * Getter for property upperRightX.
89      *
90      * @return Value of property upperRightX.
91      */

92     public float getUpperRightX()
93     {
94         return upperRightX;
95     }
96
97     /**
98      * Setter for property upperRightX.
99      *
100      * @param upperRightXValue New value of property upperRightX.
101      */

102     public void setUpperRightX(float upperRightXValue)
103     {
104         this.upperRightX = upperRightXValue;
105     }
106
107     /**
108      * Getter for property upperRightY.
109      *
110      * @return Value of property upperRightY.
111      */

112     public float getUpperRightY()
113     {
114         return upperRightY;
115     }
116
117     /**
118      * Setter for property upperRightY.
119      *
120      * @param upperRightYValue New value of property upperRightY.
121      */

122     public void setUpperRightY(float upperRightYValue)
123     {
124         this.upperRightY = upperRightYValue;
125     }
126     
127     /**
128      * This will get the width of this rectangle as calculated by
129      * upperRightX - lowerLeftX.
130      *
131      * @return The width of this rectangle.
132      */

133     public float getWidth()
134     {
135         return getUpperRightX() - getLowerLeftX();
136     }
137
138     /**
139      * This will get the height of this rectangle as calculated by
140      * upperRightY - lowerLeftY.
141      *
142      * @return The height of this rectangle.
143      */

144     public float getHeight()
145     {
146         return getUpperRightY() - getLowerLeftY();
147     }
148     
149     /**
150      * This will return a string representation of this rectangle.
151      *
152      * @return This object as a string.
153      */

154     public String JavaDoc toString()
155     {
156         return "[" + getLowerLeftX() + "," + getLowerLeftY() + "," +
157                      getUpperRightX() + "," + getUpperRightY() +"]";
158     }
159
160 }
Popular Tags