//Auto-generated by kalyptus. DO NOT EDIT.
package org.kde.koala;

import org.kde.qt.Qt;
import org.kde.qt.QRect;
import org.kde.qt.QtSupport;
import org.kde.qt.QPixmap;
import org.kde.qt.QSize;

/**

 If you have a pixmap containing several items (icons), you can use this
 class to get the coordinates of each item.
 For example, if you have a pixmap with 25 items and you want to get the
 4th item as a pixmap (every item being 20x10 pixels):
 <pre>
 KPixmapSplitter splitter;
 splitter.setPixmap( somePixmap );
 splitter.setItemSize( QSize( 20, 10 ));
 QPixmap item( 20, 10 );
 item.fill( Qt.white );
 QRect rect = splitter.coordinates( 4 );
 if ( !rect.isEmpty() )
     bitBlt( &item, QPoint(0,0), &somePixmap, rect, CopyROP );
 </pre>
		@author Carsten Pfeiffer <pfeiffer@kde.org>
 
		@short A class to split a pixmap into several items.

*/
public class KPixmapSplitter implements QtSupport {
	private long _qt;
	private boolean _allocatedInJavaWorld = true;
	protected KPixmapSplitter(Class dummy){}

	/**	
		 Constructor, does nothing but initialize some default-values.
		     		@short    Constructor, does nothing but initialize some default-values.
	*/
	public KPixmapSplitter() {
		newKPixmapSplitter();
	}
	private native void newKPixmapSplitter();
	/**	
		 Sets the pixmap to be split.
		     		@short    Sets the pixmap to be split.
	*/
	public native void setPixmap(QPixmap pixmap);
	/**	
				@return the pixmap that has been set via setPixmap().
     
		@short
	*/
	public native QPixmap pixmap();
	/**	
		 Sets the size of the items you want to get out of the given pixmap.
		 The QRect of #coordinates(int) will have the width and height of exactly
		 this <code>size.</code>
		     		@short    Sets the size of the items you want to get out of the given pixmap.
	*/
	public native void setItemSize(QSize size);
	/**	
				@return the set size of the items (coordinates) you want to get
 out of the given pixmap.
     
		@short
	*/
	public native QSize itemSize();
	/**	
		 If there is space between rows in the given pixmap, you have to specify
		 how many pixels there are.
		     		@short    If there is space between rows in the given pixmap, you have to specify  how many pixels there are.
	*/
	public native void setVSpacing(int spacing);
	/**	
		 If there is space between columns in the given pixmap, you have to
		 specify how many pixels there are.
		     		@short    If there is space between columns in the given pixmap, you have to  specify how many pixels there are.
	*/
	public native void setHSpacing(int spacing);
	/**	
				@return the coordinates of the item at position pos in the given
 pixmap.
     
		@short
	*/
	public native QRect coordinates(int pos);
	/**	
		 Overloaded for convenience. Returns the item at the position of the
		 given character (when using a latin1 font-pixmap)
		     		@short    Overloaded for convenience.
	*/
	public native QRect coordinates(char ch);
	/** Deletes the wrapped C++ instance */
	protected native void finalize() throws InternalError;
	/** Delete the wrapped C++ instance ahead of finalize() */
	public native void dispose();
	/** Has the wrapped C++ instance been deleted? */
	public native boolean isDisposed();
}
