summaryrefslogtreecommitdiffstats
path: root/awt/java/awt/Insets.java
diff options
context:
space:
mode:
Diffstat (limited to 'awt/java/awt/Insets.java')
-rw-r--r--awt/java/awt/Insets.java165
1 files changed, 165 insertions, 0 deletions
diff --git a/awt/java/awt/Insets.java b/awt/java/awt/Insets.java
new file mode 100644
index 0000000..61f3fd8
--- /dev/null
+++ b/awt/java/awt/Insets.java
@@ -0,0 +1,165 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+/**
+ * @author Dmitry A. Durnev
+ * @version $Revision$
+ */
+package java.awt;
+
+import java.io.Serializable;
+
+import org.apache.harmony.misc.HashCode;
+
+
+/**
+ * The Insets class represents the borders of a container.
+ * This class describes the space that a container should leave at each edge:
+ * the top, the bottom, the right side, and the left side.
+ * The space can be filled with a border, a blank space, or a title.
+ */
+public class Insets implements Cloneable, Serializable {
+
+ /** The Constant serialVersionUID. */
+ private static final long serialVersionUID = -2272572637695466749L;
+
+ /**
+ * The top inset indicates the size of the space added to the
+ * top of the rectangle.
+ */
+ public int top;
+
+ /**
+ * The left inset indicates the size of the space added to the
+ * left side of the rectangle.
+ */
+ public int left;
+
+ /**
+ * The bottom inset indicates the size of the space subtracted from
+ * the bottom of the rectangle.
+ */
+ public int bottom;
+
+ /** The right inset indicates the size of the space subtracted from
+ * the right side of the rectangle.
+ */
+ public int right;
+
+ /**
+ * Instantiates a new Inset object with the specified top, left, bottom,
+ * right parameters.
+ *
+ * @param top the top inset.
+ * @param left the left inset.
+ * @param bottom the bottom inset.
+ * @param right the right inset.
+ */
+ public Insets(int top, int left, int bottom, int right) {
+ setValues(top, left, bottom, right);
+ }
+
+ /**
+ * Returns a hash code of the Insets object.
+ *
+ * @return a hash code of the Insets object.
+ */
+ @Override
+ public int hashCode() {
+ int hashCode = HashCode.EMPTY_HASH_CODE;
+ hashCode = HashCode.combine(hashCode, top);
+ hashCode = HashCode.combine(hashCode, left);
+ hashCode = HashCode.combine(hashCode, bottom);
+ hashCode = HashCode.combine(hashCode, right);
+ return hashCode;
+ }
+
+ /**
+ * Returns a copy of this Insets object.
+ *
+ * @return a copy of this Insets object.
+ */
+ @Override
+ public Object clone() {
+ return new Insets(top, left, bottom, right);
+ }
+
+ /**
+ * Checks if this Insets object is equal to the specified object.
+ *
+ * @param o the Object to be compared.
+ *
+ * @return true, if the object is an Insets object whose data values
+ * are equal to those of this object, false otherwise.
+ */
+ @Override
+ public boolean equals(Object o) {
+ if (o == this) {
+ return true;
+ }
+ if (o instanceof Insets) {
+ Insets i = (Insets) o;
+ return ((i.left == left) && (i.bottom == bottom) &&
+ (i.right == right) && (i.top == top));
+ }
+ return false;
+ }
+
+ /**
+ * Returns a String representation of this Insets object.
+ *
+ * @return a String representation of this Insets object.
+ */
+ @Override
+ public String toString() {
+ /* The format is based on 1.5 release behavior
+ * which can be revealed by the following code:
+ * System.out.println(new Insets(1, 2, 3, 4));
+ */
+
+ return (getClass().getName() +
+ "[left=" + left + ",top=" + top + //$NON-NLS-1$ //$NON-NLS-2$
+ ",right=" + right + ",bottom=" + bottom + "]"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ }
+
+ /**
+ * Sets top, left, bottom, and right insets to the specified values.
+ *
+ * @param top the top inset.
+ * @param left the left inset.
+ * @param bottom the bottom inset.
+ * @param right the right inset.
+ */
+ public void set(int top, int left, int bottom, int right) {
+ setValues(top, left, bottom, right);
+ }
+
+ /**
+ * Sets the values.
+ *
+ * @param top the top
+ * @param left the left
+ * @param bottom the bottom
+ * @param right the right
+ */
+ private void setValues(int top, int left, int bottom, int right) {
+ this.top = top;
+ this.left = left;
+ this.bottom = bottom;
+ this.right = right;
+ }
+}
+