// Copyright 1996, Marimba Inc. All Rights Reserved.


// @(#)Rect.java, 1.2, 11/09/96





package marimba.gui;





import java.awt.*;





/**


 * A rectangle/widget.


 *


 * @author	Arthur van Hoff


 * @version 	1.2, 11/09/96


 */


class Rect {


    Widget w;


    boolean optimize;


    int x, y, width, height;





    Rect(Widget w, int x, int y, int width, int height) {


	this.w = w;


	this.optimize = w != null;


	this.x = x;


	this.y = y;


	this.width = width;


	this.height = height;


    }





    boolean intersects(int x, int y, int width, int height) {


	return !((x + width <= this.x) ||


		 (y + height <= this.y) ||


		 (x >= this.x + this.width) ||


		 (y >= this.y + this.height));


    }





    void add(int x, int y, int width, int height) {


	int x1 = Math.min(this.x, x);


	int x2 = Math.max(this.x + this.width, x + width);


	int y1 = Math.min(this.y, y);


	int y2 = Math.max(this.y + this.height, y + height);


	this.x = x1;


	this.y = y1;


	this.width = x2 - x1;


	this.height = y2 - y1;


    }





    public String toString() {


	return "Rect[" + ((w != null) ? w.getClass().getName() : "null") + "," + optimize + "," + x + "," + y + "," + width + "x" + height + "]";


    }


}


