/***************************************************************************
                            QCanvas.java -  description
                             -------------------
    begin                : Sun Feb 10 08:33:44 2002
    copyright            : (C) 2000-2002 Lost Highway Ltd. All rights reserved.
    email                : Lost_Highway@tipitina.demon.co.uk
    generated by         : duke@tipitina on Sun Feb 10 08:33:44 2002, 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;

/**
 See {@link QCanvasSignals} for signals emitted by QCanvas.

 See {@link QCanvasEventHandling} for event handlers to override in subclasses of QCanvas.

*/
public class QCanvas extends QObject  {
	protected QCanvas(Class dummy){super((Class) null);}

	private native void newQCanvas( QObject parent, String name);
	public QCanvas( QObject parent, String name) {
		super((Class) null);
		newQCanvas( parent, name);
	}
	private native void newQCanvas();
	public QCanvas() {
		super((Class) null);
		newQCanvas();
	}
	private native void newQCanvas( int w, int h);
	public QCanvas( int w, int h) {
		super((Class) null);
		newQCanvas( w, h);
	}
	private native void newQCanvas( QPixmap p, int h, int v, int tilewidth, int tileheight);
	public QCanvas( QPixmap p, int h, int v, int tilewidth, int tileheight) {
		super((Class) null);
		newQCanvas( p, h, v, tilewidth, tileheight);
	}
	protected native void finalize() throws InternalError;
	public native void dispose();
	public native boolean isDisposed();
	public native void setTiles( QPixmap tiles, int h, int v, int tilewidth, int tileheight);
	public native void setBackgroundPixmap( QPixmap p);
	public native QPixmap backgroundPixmap();
	public native void setBackgroundColor( QColor c);
	public native QColor backgroundColor();
	public native void setTile( int x, int y, int tilenum);
	public native int tile( int x, int y);
	public native int tilesHorizontally();
	public native int tilesVertically();
	public native int tileWidth();
	public native int tileHeight();
	public native void resize( int width, int height);
	public native int width();
	public native int height();
	public native QSize size();
	public native QRect rect();
	public native boolean onCanvas( int x, int y);
	public native boolean onCanvas( QPoint p);
	public native boolean validChunk( int x, int y);
	public native boolean validChunk( QPoint p);
	public native int chunkSize();
	public native void retune( int chunksize, int maxclusters);
	public native void retune( int chunksize);
	public native boolean sameChunk( int x1, int y1, int x2, int y2);
	public native void setChangedChunk( int i, int j);
	public native void setChangedChunkContaining( int x, int y);
	public native void setAllChanged();
	public native void setChanged( QRect area);
	public native void setUnchanged( QRect area);
	public native void addItemToChunk( QCanvasItem arg1, int i, int j);
	public native void removeItemFromChunk( QCanvasItem arg1, int i, int j);
	public native void addItemToChunkContaining( QCanvasItem arg1, int x, int y);
	public native void removeItemFromChunkContaining( QCanvasItem arg1, int x, int y);
	public native ArrayList allItems();
	public native ArrayList collisions( QPoint arg1);
	public native ArrayList collisions( QRect arg1);
	public native ArrayList collisions( QPointArray pa, QCanvasItem item, boolean exact);
	public native void drawArea( QRect arg1, QPainter p, boolean double_buffer);
	public native void drawArea( QRect arg1, QPainter p);
	public native void addView( QCanvasView arg1);
	public native void removeView( QCanvasView arg1);
	public native void drawCanvasArea( QRect arg1, QPainter p, boolean double_buffer);
	public native void drawCanvasArea( QRect arg1);
	public native void drawViewArea( QCanvasView view, QPainter p, QRect r, boolean dbuf);
	public native void addItem( QCanvasItem arg1);
	public native void addAnimation( QCanvasItem arg1);
	public native void removeItem( QCanvasItem arg1);
	public native void removeAnimation( QCanvasItem arg1);
	public native void setAdvancePeriod( int ms);
	public native void setUpdatePeriod( int ms);
	public native void setDoubleBuffering( boolean y);
	public native void advance();
	public native void update();
	protected native void drawBackground( QPainter arg1, QRect area);
	protected native void drawForeground( QPainter arg1, QRect area);
}
