/***************************************************************************
                            QRect.java -  description
                             -------------------
    begin                : Wed Nov 21 17:05:56 2001
    copyright            : (C) 2000-2001 Lost Highway Ltd. All rights reserved.
    email                : Lost_Highway@tipitina.demon.co.uk
    generated by         : duke@tipitina on Wed Nov 21 17:05:56 2001, using kalyptus 0.9.
 ***************************************************************************/

/***************************************************************************
 *                                                                         *
 *   This program is free software; you can redistribute it and/or modify  *
 *   it under the terms of the GNU General Public License as published by  *
 *   the Free Software Foundation; either version 2 of the License, or     *
 *   (at your option) any later version.                                   *
 *                                                                         *
***************************************************************************/

package org.kde.qt;

import java.util.*;
import java.lang.Error;

/**

 $Id: QRect.java,v 1.4 2001/11/22 00:50:27 rdale Exp $

 Definition of QRect class

 Created : 931028

 Copyright (C) 1992-2000 Trolltech AS.  All rights reserved.

 This file is part of the kernel module of the Qt GUI Toolkit.

 This file may be distributed under the terms of the Q Public License
 as defined by Trolltech AS of Norway and appearing in the file
 LICENSE.QPL included in the packaging of this file.

 This file may be distributed and/or modified under the terms of the
 GNU General Public License version 2 as published by the Free Software
 Foundation and appearing in the file LICENSE.GPL included in the
 packaging of this file.

 Licensees holding valid Qt Enterprise Edition or Qt Professional Edition
 licenses may use this file in accordance with the Qt Commercial License
 Agreement provided with the Software.

 This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
 WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.

 See http://www.trolltech.com/pricing.html or email sales@trolltech.com for
   information about Qt Commercial License Agreements.
 See http://www.trolltech.com/qpl/ for QPL licensing information.
 See http://www.trolltech.com/gpl/ for GPL licensing information.

 Contact info@trolltech.com if any conditions of this licensing are
 not clear to you.


 @short 
* $Id:  qt/qrect.
*/
public class  QRect implements QtSupport {
	private long _qt;
	private boolean _allocatedInJavaWorld = true;

	protected QRect(Class dummy){}

	private native void newQRect();
	public QRect() {
		newQRect();
	}
	private native void newQRect( QPoint topleft, QPoint bottomright);
	public QRect( QPoint topleft, QPoint bottomright) {
		newQRect( topleft, bottomright);
	}
	private native void newQRect( QPoint topleft, QSize size);
	public QRect( QPoint topleft, QSize size) {
		newQRect( topleft, size);
	}
	private native void newQRect( int left, int top, int width, int height);
	public QRect( int left, int top, int width, int height) {
		newQRect( left, top, width, height);
	}
	public native boolean isNull();
	public native boolean isEmpty();
	public native boolean isValid();
	public native QRect normalize();
	public native int left();
	public native int top();
	public native int right();
	public native int bottom();
	public native short rLeft();
	public native short rTop();
	public native short rRight();
	public native short rBottom();
	public native int x();
	public native int y();
	public native void setLeft( int pos);
	public native void setTop( int pos);
	public native void setRight( int pos);
	public native void setBottom( int pos);
	public native void setX( int x);
	public native void setY( int y);
	public native QPoint topLeft();
	public native QPoint bottomRight();
	public native QPoint topRight();
	public native QPoint bottomLeft();
	public native QPoint center();
	public native void rect( int[] x, int[] y, int[] w, int[] h);
	public native void coords( int[] x1, int[] y1, int[] x2, int[] y2);
	public native void moveTopLeft( QPoint p);
	public native void moveBottomRight( QPoint p);
	public native void moveTopRight( QPoint p);
	public native void moveBottomLeft( QPoint p);
	public native void moveCenter( QPoint p);
	public native void moveBy( int dx, int dy);
	public native void setRect( int x, int y, int w, int h);
	public native void setCoords( int x1, int y1, int x2, int y2);
	public native void addCoords( int x1, int y1, int x2, int y2);
	public native QSize size();
	public native int width();
	public native int height();
	public native void setWidth( int w);
	public native void setHeight( int h);
	public native void setSize( QSize s);
	public native boolean contains( QPoint p, boolean proper);
	public native boolean contains( QPoint p);
	public native boolean contains( int x, int y, boolean proper);
	public native boolean contains( int x, int y);
	public native boolean contains( QRect r, boolean proper);
	public native boolean contains( QRect r);
	public native QRect unite( QRect r);
	public native QRect intersect( QRect r);
	public native boolean intersects( QRect r);
}
