/***************************************************************************
                            QPaintDevice.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: QPaintDevice.java,v 1.6 2002/02/13 22:14:32 rdale Exp $

 Definition of general window system dependent functions, types and
 constants

 Created : 931029

 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/qwindowdefs.
*/
public class  QPaintDevice implements QtSupport, QPaintDeviceInterface {
	private long _qt;
	private boolean _allocatedInJavaWorld = true;

	protected QPaintDevice(Class dummy){}

	protected native void finalize() throws InternalError;
	public native int devType();
	public native boolean isExtDev();
	public native boolean paintingActive();
	public native void setResolution( int arg1);
	public native int resolution();
//	public native int handle();
//	public native int handle();
//	public native int x11RenderHandle();
//	public native int handle();
//	public native int handle();
//	public native Display* x11Display();
//	public native int x11Screen();
//	public native int x11Depth();
//	public native int x11Cells();
//	public native int x11Colormap();
//	public native boolean x11DefaultColormap();
//	public native int x11Visual();
//	public native boolean x11DefaultVisual();
//	public native String scanLine( int arg1);
//	public native int bytesPerLine();
//	public native QGfx graphicsContext( boolean clip_children);
//	public native QGfx graphicsContext();
//	public static native Display* x11AppDisplay();
//	public static native int x11AppScreen();
//	public static native int x11AppDepth();
//	public static native int x11AppCells();
//	public static native int x11AppDpiX();
//	public static native int x11AppDpiY();
//	public static native int x11AppColormap();
//	public static native boolean x11AppDefaultColormap();
//	public static native int x11AppVisual();
//	public static native boolean x11AppDefaultVisual();
//	public static native void x11SetAppDpiX( int arg1);
//	public static native void x11SetAppDpiY( int arg1);
//	public static native QWSDisplay qwsDisplay();
//	private native void newQPaintDevice( int devflags);
//	public QPaintDevice( int devflags) {
//		newQPaintDevice( devflags);
//	}
//	protected native void copyX11Data( QPaintDeviceInterface arg1);
//	protected native void cloneX11Data( QPaintDeviceInterface arg1);
//	protected native void setX11Data( QPaintDeviceInterface arg1);
//	protected native QPaintDeviceInterface getX11Data( boolean def);
//	protected native QPaintDeviceInterface getX11Data();
//	protected native boolean cmd( int arg1, QPainter arg2, QPDevCmdParam arg3);
	protected native int metric( int arg1);
	protected native int fontMet( QFont arg1, int arg2, String arg3, int arg4);
	protected native int fontMet( QFont arg1, int arg2);
	protected native int fontInf( QFont arg1, int arg2);
//	protected native CGContextRef macCGContext();
//	protected native void unclippedScaledBitBlt( QPaintDeviceInterface arg1, int arg2, int arg3, int arg4, int arg5, QPaintDeviceInterface arg6, int arg7, int arg8, int arg9, int arg10, int arg11, boolean arg12);
	
	public native static void bitBlt(QPaintDeviceInterface arg1, int arg2, int arg3, QPaintDeviceInterface arg4, int arg5, int arg6, int arg7, int arg8, int arg9, boolean arg10);
	public static void bitBlt(QPaintDeviceInterface arg1, int arg2, int arg3, QPaintDeviceInterface arg4, int arg5, int arg6, int arg7, int arg8, int arg9) {
		bitBlt(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, false);
	}
	public static void bitBlt(QPaintDeviceInterface arg1, int arg2, int arg3, QPaintDeviceInterface arg4, int arg5, int arg6, int arg7, int arg8) {
		bitBlt(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, Qt.CopyROP, false);
	}
	public static void bitBlt(QPaintDeviceInterface arg1, int arg2, int arg3, QPaintDeviceInterface arg4, int arg5, int arg6, int arg7) {
		bitBlt(arg1, arg2, arg3, arg4, arg5, arg6, arg7, -1, Qt.CopyROP, false);
	}
	public static void bitBlt(QPaintDeviceInterface arg1, int arg2, int arg3, QPaintDeviceInterface arg4, int arg5, int arg6) {
		bitBlt(arg1, arg2, arg3, arg4, arg5, arg6, -1, -1, Qt.CopyROP, false);
	}
	public static void bitBlt(QPaintDeviceInterface arg1, int arg2, int arg3, QPaintDeviceInterface arg4, int arg5) {
		bitBlt(arg1, arg2, arg3, arg4, arg5, 0, -1, -1, Qt.CopyROP, false);
	}
	public static void bitBlt(QPaintDeviceInterface arg1, int arg2, int arg3, QPaintDeviceInterface arg4) {
		bitBlt(arg1, arg2, arg3, arg4, 0, 0, -1, -1, Qt.CopyROP, false);
	}
//	protected native void qt_init_internal( int[] arg1, String arg2, Display* arg3, int arg4, int arg5);
	
	/** Internal method */
	protected native long paintDevice();
	
	public static final int PdcNOP = 0;
	public static final int PdcDrawPoint = 1;
	public static final int PdcDrawFirst = PdcDrawPoint;
	public static final int PdcMoveTo = 2;
	public static final int PdcLineTo = 3;
	public static final int PdcDrawLine = 4;
	public static final int PdcDrawRect = 5;
	public static final int PdcDrawRoundRect = 6;
	public static final int PdcDrawEllipse = 7;
	public static final int PdcDrawArc = 8;
	public static final int PdcDrawPie = 9;
	public static final int PdcDrawChord = 10;
	public static final int PdcDrawLineSegments = 11;
	public static final int PdcDrawPolyline = 12;
	public static final int PdcDrawPolygon = 13;
	public static final int PdcDrawCubicBezier = 14;
	public static final int PdcDrawText = 15;
	public static final int PdcDrawTextFormatted = 16;
	public static final int PdcDrawPixmap = 17;
	public static final int PdcDrawImage = 18;
	public static final int PdcDrawText2 = 19;
	public static final int PdcDrawText2Formatted = 20;
	public static final int PdcDrawLast = PdcDrawText2Formatted;
	public static final int PdcBegin = 30;
	public static final int PdcEnd = 31;
	public static final int PdcSave = 32;
	public static final int PdcRestore = 33;
	public static final int PdcSetdev = 34;
	public static final int PdcSetBkColor = 40;
	public static final int PdcSetBkMode = 41;
	public static final int PdcSetROP = 42;
	public static final int PdcSetBrushOrigin = 43;
	public static final int PdcSetFont = 45;
	public static final int PdcSetPen = 46;
	public static final int PdcSetBrush = 47;
	public static final int PdcSetTabStops = 48;
	public static final int PdcSetTabArray = 49;
	public static final int PdcSetUnit = 50;
	public static final int PdcSetVXform = 51;
	public static final int PdcSetWindow = 52;
	public static final int PdcSetViewport = 53;
	public static final int PdcSetWXform = 54;
	public static final int PdcSetWMatrix = 55;
	public static final int PdcSaveWMatrix = 56;
	public static final int PdcRestoreWMatrix = 57;
	public static final int PdcSetClip = 60;
	public static final int PdcSetClipRegion = 61;
	public static final int PdcReservedStart = 0;
	public static final int PdcReservedStop = 199;
}
