home *** CD-ROM | disk | FTP | other *** search
/ PC World Komputer 1995 November / PCWK1195.iso / inne / win95 / sieciowe / hotja32.lzh / hotjava / classsrc / awt / dimension.java < prev    next >
Text File  |  1995-08-11  |  2KB  |  96 lines

  1. /*
  2.  * @(#)Dimension.java    1.6 95/01/31 Arthur van Hoff
  3.  *
  4.  * Copyright (c) 1994 Sun Microsystems, Inc. All Rights Reserved.
  5.  *
  6.  * Permission to use, copy, modify, and distribute this software
  7.  * and its documentation for NON-COMMERCIAL purposes and without
  8.  * fee is hereby granted provided that this copyright notice
  9.  * appears in all copies. Please refer to the file "copyright.html"
  10.  * for further important copyright and licensing information.
  11.  *
  12.  * SUN MAKES NO REPRESENTATIONS OR WARRANTIES ABOUT THE SUITABILITY OF
  13.  * THE SOFTWARE, EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED
  14.  * TO THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
  15.  * PARTICULAR PURPOSE, OR NON-INFRINGEMENT. SUN SHALL NOT BE LIABLE FOR
  16.  * ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF USING, MODIFYING OR
  17.  * DISTRIBUTING THIS SOFTWARE OR ITS DERIVATIVES.
  18.  */
  19. package awt;
  20.  
  21. /**
  22.  * A class to encapsulate objects that have a width and a height.
  23.  * 
  24.  * @version 1.6 31 Jan 1995
  25.  * @author Arthur van Hoff, Sami Shaio
  26.  */
  27. public class Dimension {
  28.     public int width;
  29.     public int height;
  30.  
  31.     /** Constructors */
  32.     public Dimension() {
  33.     }
  34.  
  35.     public Dimension(Dimension d) {
  36.     set(d.width, d.height);
  37.     }
  38.     
  39.     public Dimension(int w, int h) {
  40.     set(w, h);
  41.     }
  42.  
  43.     /** Change it */
  44.     public void set(int w, int h) {
  45.     width = w;
  46.     height = h;
  47.     }
  48.  
  49.     /** Set "other" to be the max of this dimension with itself. */
  50.     public Dimension max(Dimension other) {
  51.     if (width > other.width)
  52.         other.width = width;
  53.     if (height > other.height)
  54.         other.height = height;
  55.     return other;
  56.     }
  57.  
  58.     /** Add the width and height of "other" to this dimension. */
  59.     public void add(Dimension other) {
  60.     width += other.width;
  61.     height += other.height;
  62.     }
  63.  
  64.     public String toString() {
  65.     return getClass().getName() + "[width=" + width + ", height=" + height + "]";
  66.     }
  67.  
  68.     /**
  69.      * If h is true then add value to the height otherwise add it to 
  70.      * the width 
  71.      */
  72.     public void addDim(boolean h, int value) {
  73.     if (h)
  74.         height += value;
  75.     else
  76.         width += value;
  77.     }
  78.  
  79.     /**
  80.      * The same as addDim with an integer value but takes a Dimension.
  81.      */
  82.     public void addDim(boolean h, Dimension s) {
  83.     if (h)
  84.         height += s.height;
  85.     else
  86.         width += s.width;
  87.     }
  88.  
  89.     /**
  90.      * Clone this dimension.
  91.      */
  92.     public Object clone() {
  93.     return super.clone();
  94.     }
  95. }
  96.