/***************************************************************************
                            QPaintDevice.h -  description
                             -------------------
    begin                : Wed Nov 21 12:08:37 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 12:08:37 2001, using kalyptus 0.9.
 ***************************************************************************/

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

#ifndef QPAINTDEVICE_H
#define QPAINTDEVICE_H

#include <Foundation/NSObject.h>
#include <Foundation/NSString.h>
#include <qtobjc/QtSupport.h>

/**

* $Id: QPaintDevice.h,v 1.2 2001/11/21 23:39:02 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.
*/

@class QIODevice;
@class QFont;
@class QString;
@class QPainter;
@class QPaintDevice;

@protocol QPaintDeviceInterface
//- (void) dealloc;
- (int) devType;
- (BOOL) isExtDev;
- (BOOL) paintingActive;
//- setResolution: (int)arg1;
//- (int) resolution;
//- (void*) handle;
//- (int) handle;
//- (int) x11RenderHandle;
//- (int) handle;
//- (int) handle;
//- (Display*) x11Display;
//- (int) x11Screen;
//- (int) x11Depth;
//- (int) x11Cells;
//- (int) x11Colormap;
//- (BOOL) x11DefaultColormap;
//- (void*) x11Visual;
//- (BOOL) x11DefaultVisual;
//- (unsigned char*) scanLine: (int)arg1;
//- (int) bytesPerLine;
//- (QGfx*) graphicsContext: (BOOL)clip_children;
//- (QGfx*) graphicsContext;
//+ (Display*) x11AppDisplay;
//+ (int) x11AppScreen;
//+ (int) x11AppDepth;
//+ (int) x11AppCells;
//+ (int) x11AppDpiX;
//+ (int) x11AppDpiY;
//+ (int) x11AppColormap;
//+ (BOOL) x11AppDefaultColormap;
//+ (void*) x11AppVisual;
//+ (BOOL) x11AppDefaultVisual;
//+ x11SetAppDpiX: (int)arg1;
//+ x11SetAppDpiY: (int)arg1;
//+ (QWSDisplay*) qwsDisplay;
//- initWithUnsigned: (unsigned int)devflags;
//- copyX11Data: (QPaintDevice *)arg1;
//- cloneX11Data: (QPaintDevice *)arg1;
//- setX11Data: (QPaintDeviceX11Data*)arg1;
//- (QPaintDeviceX11Data*) getX11Data: (BOOL)def;
//- (QPaintDeviceX11Data*) getX11Data;
//- (BOOL) cmd: (int)arg1 painter: (QPainter *)arg2 pdevcmdparam: (QPDevCmdParam*)arg3;
- (int) metric: (int)arg1;
- (int) fontMet: (QFont *)arg1 int: (int)arg2 string: (NSString *)arg3 int: (int)arg4;
- (int) fontMet: (QFont *)arg1 int: (int)arg2 ;
- (int) fontInf: (QFont *)arg1 int: (int)arg2;
//- (CGContextRef) macCGContext;
//- unclippedScaledBitBlt: (QPaintDevice *)arg1 int: (int)arg2 int: (int)arg3 int: (int)arg4 int: (int)arg5 paintdevice: (QPaintDevice *)arg6 int: (int)arg7 int: (int)arg8 int: (int)arg9 int: (int)arg10 int: (int)arg11 bool: (BOOL)arg12;
//- bitBlt: (QPaintDevice *)arg1 int: (int)arg2 int: (int)arg3 paintdevice: (QPaintDevice *)arg4 int: (int)arg5 int: (int)arg6 int: (int)arg7 int: (int)arg8 int: (int)arg9 bool: (BOOL)arg10;
- (void *) paintDevice;
//- qt_init_internal: (int*)arg1 string: (NSString *)arg2 display: (Display*)arg3 int: (int)arg4 int: (int)arg5;
@end

@interface QPaintDevice : NSObject <QtSupport,QPaintDeviceInterface>
{
@private
	void * _qt;
	BOOL  _allocatedInObjcWorld;
}
- initWithUnsigned: (unsigned int)devflags;
- (void) dealloc;
+ bitBlt: (QPaintDevice *)arg1 dx: (int)arg2 dy: (int)arg3 source: (QPaintDevice *)arg4 int: (int)arg5 int: (int)arg6 int: (int)arg7 int: (int)arg8 int: (int)arg9 bool: (BOOL)arg10;
+ bitBlt: (QPaintDevice *) arg1 dx: (int)arg2 dy: (int)arg3 source: (QPaintDevice *)arg4;

+ (int) PdcNOP;
+ (int) PdcDrawPoint;
+ (int) PdcDrawFirst;
+ (int) PdcMoveTo;
+ (int) PdcLineTo;
+ (int) PdcDrawLine;
+ (int) PdcDrawRect;
+ (int) PdcDrawRoundRect;
+ (int) PdcDrawEllipse;
+ (int) PdcDrawArc;
+ (int) PdcDrawPie;
+ (int) PdcDrawChord;
+ (int) PdcDrawLineSegments;
+ (int) PdcDrawPolyline;
+ (int) PdcDrawPolygon;
+ (int) PdcDrawCubicBezier;
+ (int) PdcDrawText;
+ (int) PdcDrawTextFormatted;
+ (int) PdcDrawPixmap;
+ (int) PdcDrawImage;
+ (int) PdcDrawText2;
+ (int) PdcDrawText2Formatted;
+ (int) PdcDrawLast;
+ (int) PdcBegin;
+ (int) PdcEnd;
+ (int) PdcSave;
+ (int) PdcRestore;
+ (int) PdcSetdev;
+ (int) PdcSetBkColor;
+ (int) PdcSetBkMode;
+ (int) PdcSetROP;
+ (int) PdcSetBrushOrigin;
+ (int) PdcSetFont;
+ (int) PdcSetPen;
+ (int) PdcSetBrush;
+ (int) PdcSetTabStops;
+ (int) PdcSetTabArray;
+ (int) PdcSetUnit;
+ (int) PdcSetVXform;
+ (int) PdcSetWindow;
+ (int) PdcSetViewport;
+ (int) PdcSetWXform;
+ (int) PdcSetWMatrix;
+ (int) PdcSaveWMatrix;
+ (int) PdcRestoreWMatrix;
+ (int) PdcSetClip;
+ (int) PdcSetClipRegion;
+ (int) PdcReservedStart;
+ (int) PdcReservedStop;
@end

#endif
