| /* |
| * 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. |
| * |
| * @since Android 1.0 |
| */ |
| 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; |
| } |
| } |