/***************************************************************************
                            QPainter.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 QPAINTER_H
#define QPAINTER_H

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

/**

* $Id: QPainter.h,v 1.2 2001/11/21 23:39:02 rdale Exp $
*
* Definition of the QTextEdit class
*
* Created : 990101
*
* Copyright (C) 1992-2000 Trolltech AS.  All rights reserved.
*
* This file is part of the widgets 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/qtextedit.
*/
@class QPen;
@class QWMatrix;
@class QPointArray;
@class QImage;
@class QPicture;
@class QPaintDevice;
@class QRegion;
@class QFontMetrics;
@class QFontInfo;
@class QFont;
@class QPoint;
@class QPixmap;

@class QBrush; 
@class QRect; 

@interface QPainter : Qt 
- init;
- initWithPaintDevice: (QPaintDevice *)arg1 unclipped: (BOOL)unclipped;
- initWithPaintDevice: (QPaintDevice *)arg1 ;
- initWithPaintDevice: (QPaintDevice *)arg1 widget: (QWidget *)arg2 unclipped: (BOOL)unclipped;
- initWithPaintDevice: (QPaintDevice *)arg1 widget: (QWidget *)arg2 ;
- (void) dealloc;
- (BOOL) begin: (QPaintDevice *)arg1 unclipped: (BOOL)unclipped;
- (BOOL) begin: (QPaintDevice *)arg1 ;
- (BOOL) begin: (QPaintDevice *)arg1 widget: (QWidget *)arg2 unclipped: (BOOL)unclipped;
- (BOOL) begin: (QPaintDevice *)arg1 widget: (QWidget *)arg2 ;
- (BOOL) end;
- (QPaintDevice*) device;
//- (QGfx*) internalGfx;
- (BOOL) isActive;
- flush: (QRegion *)region cm: (int)cm;
- flush: (QRegion *)region ;
- flush;
- save;
- restore;
- (QFontMetrics*) fontMetrics;
- (QFontInfo*) fontInfo;
- (QFont*) font;
- setFont: (QFont *)arg1;
- (QPen*) pen;
- setPenWithPen: (QPen *)arg1;
- setPenWithInt: (int)arg1;
- setPenColor: (QColor *)arg1;
- (QBrush*) brush;
- setBrushWithBrush: (QBrush *)arg1;
- setBrushWithInt: (int)arg1;
- setBrushColor: (QColor *)arg1;
- (QPoint*) pos;
- (QColor*) backgroundColor;
- setBackgroundColor: (QColor *)arg1;
- (int) backgroundMode;
- setBackgroundMode: (int)arg1;
- (int) rasterOp;
- setRasterOp: (int)arg1;
- (QPoint*) brushOrigin;
- setBrushOrigin: (int)x y: (int)y;
- setBrushOrigin: (QPoint*)arg1;
- (BOOL) hasViewXForm;
- (BOOL) hasWorldXForm;
- setViewXForm: (BOOL)arg1;
- (QRect*) window;
- setWindow: (QRect*)arg1;
- setWindow: (int)x y: (int)y w: (int)w h: (int)h;
- (QRect*) viewport;
- setViewport: (QRect*)arg1;
- setViewport: (int)x y: (int)y w: (int)w h: (int)h;
- setWorldXForm: (BOOL)arg1;
- (QWMatrix*) worldMatrix;
- setWorldMatrix: (QWMatrix *)arg1 combine: (BOOL)combine;
- setWorldMatrix: (QWMatrix *)arg1 ;
- saveWorldMatrix;
- restoreWorldMatrix;
- scale: (double)sx sy: (double)sy;
- shear: (double)sh sv: (double)sv;
- rotate: (double)a;
- translate: (double)dx dy: (double)dy;
- resetXForm;
- (double) translationX;
- (double) translationY;
- (QPoint*) xFormFromPoint: (QPoint*)arg1;
- (QRect*) xFormFromRect: (QRect*)arg1;
- (QPointArray*) xFormFromPointArray: (QPointArray*)arg1;
- (QPointArray*) xFormFromPointArray: (QPointArray*)arg1 index: (int)index npoints: (int)npoints;
- (QPoint*) xFormDevFromPoint: (QPoint*)arg1;
- (QRect*) xFormDevFromRect: (QRect*)arg1;
- (QPointArray*) xFormDevFromPointArray: (QPointArray*)arg1;
- (QPointArray*) xFormDevFromPointArray: (QPointArray*)arg1 index: (int)index npoints: (int)npoints;
- setClipping: (BOOL)arg1;
- (BOOL) hasClipping;
- (QRegion*) clipRegion: (int)arg1;
- (QRegion*) clipRegion;
- setClipRect: (QRect*)arg1 int: (int)arg2;
- setClipRect: (QRect*)arg1 ;
- setClipRect: (int)x y: (int)y w: (int)w h: (int)h int: (int)arg1;
- setClipRect: (int)x y: (int)y w: (int)w h: (int)h ;
- setClipRegion: (QRegion *)arg1 int: (int)arg2;
- setClipRegion: (QRegion *)arg1 ;
- drawPoint: (int)x y: (int)y;
- drawPoint: (QPoint*)arg1;
- drawPoints: (QPointArray*)a index: (int)index npoints: (int)npoints;
- drawPoints: (QPointArray*)a ;
- moveTo: (int)x y: (int)y;
- moveTo: (QPoint*)arg1;
- lineTo: (int)x y: (int)y;
- lineTo: (QPoint*)arg1;
- drawLine: (int)x1 y1: (int)y1 x2: (int)x2 y2: (int)y2;
- drawLine: (QPoint*)arg1 point: (QPoint*)arg2;
- drawRect: (int)x y: (int)y w: (int)w h: (int)h;
- drawRect: (QRect*)arg1;
- drawWinFocusRect: (int)x y: (int)y w: (int)w h: (int)h;
- drawWinFocusRect: (int)x y: (int)y w: (int)w h: (int)h bgColor: (QColor *)bgColor;
- drawWinFocusRect: (QRect*)arg1;
- drawWinFocusRect: (QRect*)arg1 bgColor: (QColor *)bgColor;
- drawRoundRect: (int)x y: (int)y w: (int)w h: (int)h int: (int)arg1 int: (int)arg2;
- drawRoundRect: (int)x y: (int)y w: (int)w h: (int)h ;
- drawRoundRect: (QRect*)arg1 int: (int)arg2 int: (int)arg3;
- drawRoundRect: (QRect*)arg1 ;
- drawEllipse: (int)x y: (int)y w: (int)w h: (int)h;
- drawEllipse: (QRect*)arg1;
- drawArc: (int)x y: (int)y w: (int)w h: (int)h a: (int)a alen: (int)alen;
- drawArc: (QRect*)arg1 a: (int)a alen: (int)alen;
- drawPie: (int)x y: (int)y w: (int)w h: (int)h a: (int)a alen: (int)alen;
- drawPie: (QRect*)arg1 a: (int)a alen: (int)alen;
- drawChord: (int)x y: (int)y w: (int)w h: (int)h a: (int)a alen: (int)alen;
- drawChord: (QRect*)arg1 a: (int)a alen: (int)alen;
- drawLineSegments: (QPointArray*)arg1 index: (int)index nlines: (int)nlines;
- drawLineSegments: (QPointArray*)arg1 ;
- drawPolyline: (QPointArray*)arg1 index: (int)index npoints: (int)npoints;
- drawPolyline: (QPointArray*)arg1 ;
- drawPolygon: (QPointArray*)arg1 winding: (BOOL)winding index: (int)index npoints: (int)npoints;
- drawPolygon: (QPointArray*)arg1 ;
- drawConvexPolygon: (QPointArray*)arg1 index: (int)index npoints: (int)npoints;
- drawConvexPolygon: (QPointArray*)arg1 ;
- drawCubicBezier: (QPointArray*)arg1 index: (int)index;
- drawCubicBezier: (QPointArray*)arg1 ;
- drawPixmap: (int)x y: (int)y pixmap: (QPixmap *)arg1 sx: (int)sx sy: (int)sy sw: (int)sw sh: (int)sh;
- drawPixmap: (int)x y: (int)y pixmap: (QPixmap *)arg1 ;
- drawPixmapAtPoint: (QPoint*)arg1 pixmap: (QPixmap *)arg2 sr: (QRect*)sr;
- drawPixmapAtPoint: (QPoint*)arg1 pixmap: (QPixmap *)arg2;
- drawPixmapAtRect: (QRect*)arg1 pixmap: (QPixmap *)arg2;
- drawImage: (int)x y: (int)y image: (QImage *)arg1 sx: (int)sx sy: (int)sy sw: (int)sw sh: (int)sh conversionFlags: (int)conversionFlags;
- drawImage: (int)x y: (int)y image: (QImage *)arg1 ;
- drawImageAtPoint: (QPoint*)arg1 image: (QImage *)arg2 sr: (QRect*)sr conversionFlags: (int)conversionFlags;
- drawImageAtPoint: (QPoint*)arg1 image: (QImage *)arg2 sr: (QRect*)sr ;
- drawImageAtPoint: (QPoint*)arg1 image: (QImage *)arg2 conversion_flags: (int)conversion_flags;
- drawImageAtPoint: (QPoint*)arg1 image: (QImage *)arg2 ;
- drawImageAtRect: (QRect*)arg1 image: (QImage *)arg2;
- drawTiledPixmap: (int)x y: (int)y w: (int)w h: (int)h pixmap: (QPixmap *)arg1 sx: (int)sx sy: (int)sy;
- drawTiledPixmap: (int)x y: (int)y w: (int)w h: (int)h pixmap: (QPixmap *)arg1 ;
- drawTiledPixmapAtRect: (QRect*)arg1 pixmap: (QPixmap *)arg2 point: (QPoint*)arg3;
- drawTiledPixmapAtRect: (QRect*)arg1 pixmap: (QPixmap *)arg2;
- drawPicture: (QPicture *)arg1;
- drawPicture: (int)x y: (int)y picture: (QPicture *)arg1;
- drawPicture: (QPoint*)arg1 picture: (QPicture *)arg2;
- fillRect: (int)x y: (int)y w: (int)w h: (int)h brush: (QBrush *)arg1;
- fillRect: (QRect*)arg1 brush: (QBrush *)arg2;
- eraseRect: (int)x y: (int)y w: (int)w h: (int)h;
- eraseRect: (QRect*)arg1;
- drawText: (int)x y: (int)y string: (NSString *)arg1 len: (int)len dir: (int)dir;
- drawText: (int)x y: (int)y string: (NSString *)arg1 ;
- drawText: (QPoint*)arg1 string: (NSString *)arg2 len: (int)len dir: (int)dir;
- drawText: (QPoint*)arg1 string: (NSString *)arg2 ;
- drawText: (int)x y: (int)y string: (NSString *)arg1 pos: (int)pos len: (int)len dir: (int)dir;
- drawText: (int)x y: (int)y string: (NSString *)arg1 pos: (int)pos len: (int)len ;
- drawText: (QPoint*)p string: (NSString *)arg1 pos: (int)pos len: (int)len dir: (int)dir;
- drawText: (QPoint*)p string: (NSString *)arg1 pos: (int)pos len: (int)len ;
//- drawText: (int)x y: (int)y w: (int)w h: (int)h flags: (int)flags string: (NSString *)arg1 len: (int)len br: (QRect*)br intern: (QTextParag**)intern;
//- drawText: (int)x y: (int)y w: (int)w h: (int)h flags: (int)flags string: (NSString *)arg1 ;
//- drawText: (QRect*)arg1 flags: (int)flags string: (NSString *)arg2 len: (int)len br: (QRect*)br intern: (QTextParag**)intern;
//- drawText: (QRect*)arg1 flags: (int)flags string: (NSString *)arg2 ;
//- (QRect*) boundingRect: (int)x y: (int)y w: (int)w h: (int)h flags: (int)flags string: (NSString *)arg1 len: (int)len intern: (QTextParag**)intern;
//- (QRect*) boundingRect: (int)x y: (int)y w: (int)w h: (int)h flags: (int)flags string: (NSString *)arg1 ;
//- (QRect*) boundingRect: (QRect*)arg1 flags: (int)flags string: (NSString *)arg2 len: (int)len intern: (QTextParag**)intern;
//- (QRect*) boundingRect: (QRect*)arg1 flags: (int)flags string: (NSString *)arg2 ;
- (int) tabStops;
- setTabStops: (int)arg1;
- (int*) tabArray;
- setTabArray: (int*)arg1;
//- (void*) handle;
//- (unsigned int) handle;
+ redirect: (QPaintDevice *)pdev replacement: (QPaintDevice *)replacement;
+ initialize;
+ cleanup;
//- initPaintDevice: (BOOL)force;
//- initPaintDevice;
//- qt_format_text: (QFont *)arg1 r: (QRect*)r tf: (int)tf str: (NSString *)str len: (int)len brect: (QRect*)brect tabstops: (int)tabstops tabarray: (int*)tabarray tabarraylen: (int)tabarraylen internal: (QTextParag**)internal painter: (QPainter *)painter;
+ (int) CoordDevice;
+ (int) CoordPainter;
+ (int) Auto;
+ (int) RTL;
+ (int) LTR;
@end

#endif
