summaryrefslogtreecommitdiffstats
path: root/src/kernel/qpainter.h
diff options
context:
space:
mode:
authorTimothy Pearson <[email protected]>2011-07-10 15:24:15 -0500
committerTimothy Pearson <[email protected]>2011-07-10 15:24:15 -0500
commitbd0f3345a938b35ce6a12f6150373b0955b8dd12 (patch)
tree7a520322212d48ebcb9fbe1087e7fca28b76185c /src/kernel/qpainter.h
downloadqt3-bd0f3345a938b35ce6a12f6150373b0955b8dd12.tar.gz
qt3-bd0f3345a938b35ce6a12f6150373b0955b8dd12.zip
Add Qt3 development HEAD version
Diffstat (limited to 'src/kernel/qpainter.h')
-rw-r--r--src/kernel/qpainter.h721
1 files changed, 721 insertions, 0 deletions
diff --git a/src/kernel/qpainter.h b/src/kernel/qpainter.h
new file mode 100644
index 0000000..454a380
--- /dev/null
+++ b/src/kernel/qpainter.h
@@ -0,0 +1,721 @@
+/****************************************************************************
+**
+** Definition of QPainter class
+**
+** Created : 940112
+**
+** Copyright (C) 1992-2008 Trolltech ASA. All rights reserved.
+**
+** This file is part of the kernel module of the Qt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General
+** Public License versions 2.0 or 3.0 as published by the Free
+** Software Foundation and appearing in the files LICENSE.GPL2
+** and LICENSE.GPL3 included in the packaging of this file.
+** Alternatively you may (at your option) use any later version
+** of the GNU General Public License if such license has been
+** publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free Qt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at [email protected].
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.QPL
+** included in the packaging of this file. Licensees holding valid Qt
+** Commercial 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 WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+#ifndef QPAINTER_H
+#define QPAINTER_H
+
+
+#ifndef QT_H
+#include "qcolor.h"
+#include "qfontmetrics.h"
+#include "qfontinfo.h"
+#include "qregion.h"
+#include "qpen.h"
+#include "qbrush.h"
+#include "qpointarray.h"
+#include "qwmatrix.h"
+#endif // QT_H
+
+class QGfx;
+class QTextCodec;
+class QTextParag;
+class QPaintDevice;
+class QTextItem;
+#if defined( Q_WS_MAC )
+class QMacSavedPortInfo;
+#endif
+class QPainterPrivate;
+
+#if defined(Q_WS_QWS)
+class QScreen;
+#endif
+
+class Q_EXPORT QPainter : public Qt
+{
+public:
+ enum CoordinateMode { CoordDevice, CoordPainter };
+
+ QPainter();
+ QPainter( const QPaintDevice *, bool unclipped = FALSE );
+ QPainter( const QPaintDevice *, const QWidget *, bool unclipped = FALSE );
+ ~QPainter();
+
+ bool begin( const QPaintDevice *, bool unclipped = FALSE );
+ bool begin( const QPaintDevice *, const QWidget *, bool unclipped = FALSE );
+ bool end();
+ QPaintDevice *device() const;
+
+#ifdef Q_WS_QWS
+ QGfx * internalGfx();
+#ifdef QT_QWS_EXPERIMENTAL_SCREENPAINTER
+ bool begin(QScreen *screen);
+#endif
+#endif
+
+ static void redirect( QPaintDevice *pdev, QPaintDevice *replacement );
+ static QPaintDevice *redirect( QPaintDevice *pdev );
+
+ bool isActive() const;
+
+ void flush( const QRegion &region, CoordinateMode cm = CoordDevice );
+ void flush();
+ void save();
+ void restore();
+
+ // Drawing tools
+
+ QFontMetrics fontMetrics() const;
+ QFontInfo fontInfo() const;
+
+ const QFont &font() const;
+ void setFont( const QFont & );
+ const QPen &pen() const;
+ void setPen( const QPen & );
+ void setPen( PenStyle );
+ void setPen( const QColor & );
+ const QBrush &brush() const;
+ void setBrush( const QBrush & );
+ void setBrush( BrushStyle );
+ void setBrush( const QColor & );
+ QPoint pos() const;
+
+ // Drawing attributes/modes
+
+ const QColor &backgroundColor() const;
+ void setBackgroundColor( const QColor & );
+ BGMode backgroundMode() const;
+ void setBackgroundMode( BGMode );
+ RasterOp rasterOp() const;
+ void setRasterOp( RasterOp );
+ const QPoint &brushOrigin() const;
+ void setBrushOrigin( int x, int y );
+ void setBrushOrigin( const QPoint & );
+
+ // Scaling and transformations
+
+// PaintUnit unit() const; // get set painter unit
+// void setUnit( PaintUnit ); // NOT IMPLEMENTED!!!
+
+ bool hasViewXForm() const;
+ bool hasWorldXForm() const;
+
+#ifndef QT_NO_TRANSFORMATIONS
+ void setViewXForm( bool ); // set xform on/off
+ QRect window() const; // get window
+ void setWindow( const QRect & ); // set window
+ void setWindow( int x, int y, int w, int h );
+ QRect viewport() const; // get viewport
+ void setViewport( const QRect & ); // set viewport
+ void setViewport( int x, int y, int w, int h );
+
+ void setWorldXForm( bool ); // set world xform on/off
+ const QWMatrix &worldMatrix() const; // get/set world xform matrix
+ void setWorldMatrix( const QWMatrix &, bool combine=FALSE );
+
+ void saveWorldMatrix();
+ void restoreWorldMatrix();
+
+ void scale( double sx, double sy );
+ void shear( double sh, double sv );
+ void rotate( double a );
+#endif
+ void translate( double dx, double dy );
+ void resetXForm();
+ double translationX() const;
+ double translationY() const;
+
+ QPoint xForm( const QPoint & ) const; // map virtual -> device
+ QRect xForm( const QRect & ) const;
+ QPointArray xForm( const QPointArray & ) const;
+ QPointArray xForm( const QPointArray &, int index, int npoints ) const;
+ QPoint xFormDev( const QPoint & ) const; // map device -> virtual
+ QRect xFormDev( const QRect & ) const;
+ QPointArray xFormDev( const QPointArray & ) const;
+ QPointArray xFormDev( const QPointArray &, int index, int npoints ) const;
+
+ // Clipping
+
+ void setClipping( bool ); // set clipping on/off
+ bool hasClipping() const;
+ QRegion clipRegion( CoordinateMode = CoordDevice ) const;
+ void setClipRect( const QRect &, CoordinateMode = CoordDevice ); // set clip rectangle
+ void setClipRect( int x, int y, int w, int h, CoordinateMode = CoordDevice );
+ void setClipRegion( const QRegion &, CoordinateMode = CoordDevice );// set clip region
+
+ // Graphics drawing functions
+
+ void drawPoint( int x, int y );
+ void drawPoint( const QPoint & );
+ void drawPoints( const QPointArray& a,
+ int index=0, int npoints=-1 );
+ void moveTo( int x, int y );
+ void moveTo( const QPoint & );
+ void lineTo( int x, int y );
+ void lineTo( const QPoint & );
+ void drawLine( int x1, int y1, int x2, int y2 );
+ void drawLine( const QPoint &, const QPoint & );
+ void drawRect( int x, int y, int w, int h );
+ void drawRect( const QRect & );
+ void drawWinFocusRect( int x, int y, int w, int h );
+ void drawWinFocusRect( int x, int y, int w, int h,
+ const QColor &bgColor );
+ void drawWinFocusRect( const QRect & );
+ void drawWinFocusRect( const QRect &,
+ const QColor &bgColor );
+ void drawRoundRect( int x, int y, int w, int h, int = 25, int = 25 );
+ void drawRoundRect( const QRect &, int = 25, int = 25 );
+ void drawEllipse( int x, int y, int w, int h );
+ void drawEllipse( const QRect & );
+ void drawArc( int x, int y, int w, int h, int a, int alen );
+ void drawArc( const QRect &, int a, int alen );
+ void drawPie( int x, int y, int w, int h, int a, int alen );
+ void drawPie( const QRect &, int a, int alen );
+ void drawChord( int x, int y, int w, int h, int a, int alen );
+ void drawChord( const QRect &, int a, int alen );
+ void drawLineSegments( const QPointArray &,
+ int index=0, int nlines=-1 );
+ void drawPolyline( const QPointArray &,
+ int index=0, int npoints=-1 );
+ void drawPolygon( const QPointArray &, bool winding=FALSE,
+ int index=0, int npoints=-1 );
+ void drawConvexPolygon( const QPointArray &,
+ int index=0, int npoints=-1 );
+#ifndef QT_NO_BEZIER
+ void drawCubicBezier( const QPointArray &, int index=0 );
+#endif
+ void drawPixmap( int x, int y, const QPixmap &,
+ int sx=0, int sy=0, int sw=-1, int sh=-1 );
+ void drawPixmap( const QPoint &, const QPixmap &,
+ const QRect &sr );
+ void drawPixmap( const QPoint &, const QPixmap & );
+ void drawPixmap( const QRect &, const QPixmap & );
+ void drawImage( int x, int y, const QImage &,
+ int sx = 0, int sy = 0, int sw = -1, int sh = -1,
+ int conversionFlags = 0 );
+ void drawImage( const QPoint &, const QImage &,
+ const QRect &sr, int conversionFlags = 0 );
+ void drawImage( const QPoint &, const QImage &,
+ int conversion_flags = 0 );
+ void drawImage( const QRect &, const QImage & );
+ void drawTiledPixmap( int x, int y, int w, int h, const QPixmap &,
+ int sx=0, int sy=0 );
+ void drawTiledPixmap( const QRect &, const QPixmap &,
+ const QPoint & );
+ void drawTiledPixmap( const QRect &, const QPixmap & );
+#ifndef QT_NO_PICTURE
+ void drawPicture( const QPicture & );
+ void drawPicture( int x, int y, const QPicture & );
+ void drawPicture( const QPoint &, const QPicture & );
+#endif
+
+ void fillRect( int x, int y, int w, int h, const QBrush & );
+ void fillRect( const QRect &, const QBrush & );
+ void eraseRect( int x, int y, int w, int h );
+ void eraseRect( const QRect & );
+
+ // Text drawing functions
+
+ enum TextDirection {
+ Auto,
+ RTL,
+ LTR
+ };
+
+ void drawText( int x, int y, const QString &, int len = -1, TextDirection dir = Auto );
+ void drawText( const QPoint &, const QString &, int len = -1, TextDirection dir = Auto );
+
+ void drawText( int x, int y, const QString &, int pos, int len, TextDirection dir = Auto );
+ void drawText( const QPoint &p, const QString &, int pos, int len, TextDirection dir = Auto );
+
+ void drawText( int x, int y, int w, int h, int flags,
+ const QString&, int len = -1, QRect *br=0,
+ QTextParag **intern=0 );
+ void drawText( const QRect &, int flags,
+ const QString&, int len = -1, QRect *br=0,
+ QTextParag **intern=0 );
+
+ void drawTextItem( int x, int y, const QTextItem &ti, int textflags = 0 );
+ void drawTextItem( const QPoint& p, const QTextItem &ti, int textflags = 0 );
+
+ QRect boundingRect( int x, int y, int w, int h, int flags,
+ const QString&, int len = -1, QTextParag **intern=0 );
+ QRect boundingRect( const QRect &, int flags,
+ const QString&, int len = -1, QTextParag **intern=0 );
+
+ int tabStops() const;
+ void setTabStops( int );
+ int *tabArray() const;
+ void setTabArray( int * );
+
+ // Other functions
+
+#if defined(Q_WS_WIN)
+ HDC handle() const;
+#elif defined(Q_WS_X11) || defined(Q_WS_MAC)
+ HANDLE handle() const;
+#endif
+
+
+ static void initialize();
+ static void cleanup();
+
+private:
+ void init();
+ void destroy();
+ void updateFont();
+ void updatePen();
+ void updateBrush();
+#ifndef QT_NO_TRANSFORMATIONS
+ void updateXForm();
+ void updateInvXForm();
+#endif
+ void map( int, int, int *rx, int *ry ) const;
+ void map( int, int, int, int, int *, int *, int *, int * ) const;
+ void mapInv( int, int, int *, int * ) const;
+ void mapInv( int, int, int, int, int *, int *, int *, int * ) const;
+ void drawPolyInternal( const QPointArray &, bool close=TRUE );
+ void drawWinFocusRect( int x, int y, int w, int h, bool xorPaint,
+ const QColor &penColor );
+
+ enum { IsActive=0x01, ExtDev=0x02, IsStartingUp=0x04, NoCache=0x08,
+ VxF=0x10, WxF=0x20, ClipOn=0x40, SafePolygon=0x80, MonoDev=0x100,
+ DirtyFont=0x200, DirtyPen=0x400, DirtyBrush=0x800,
+ RGBColor=0x1000, FontMet=0x2000, FontInf=0x4000, CtorBegin=0x8000,
+ UsePrivateCx = 0x10000, VolatileDC = 0x20000, Qt2Compat = 0x40000 };
+ uint flags;
+ bool testf( uint b ) const { return (flags&b)!=0; }
+ void setf( uint b ) { flags |= b; }
+ void setf( uint b, bool v );
+ void clearf( uint b ) { flags &= (uint)(~b); }
+ void fix_neg_rect( int *x, int *y, int *w, int *h );
+
+ QPainterPrivate *d;
+ QPaintDevice *pdev;
+ QColor bg_col;
+ uchar bg_mode;
+ uchar rop;
+ uchar pu;
+ QPoint bro;
+ QFont cfont;
+ QFont *pfont; // font used for metrics (might be different for printers)
+ QPen cpen;
+ QBrush cbrush;
+ QRegion crgn;
+ int tabstops;
+ int *tabarray;
+ int tabarraylen;
+ bool block_ext; // for temporary blocking of external devices
+
+ // Transformations
+#ifndef QT_NO_TRANSFORMATIONS
+ QCOORD wx, wy, ww, wh;
+ QCOORD vx, vy, vw, vh;
+ QWMatrix wxmat;
+
+ // Cached composition (and inverse) of transformations
+ QWMatrix xmat;
+ QWMatrix ixmat;
+
+
+
+ double m11() const { return xmat.m11(); }
+ double m12() const { return xmat.m12(); }
+ double m21() const { return xmat.m21(); }
+ double m22() const { return xmat.m22(); }
+ double dx() const { return xmat.dx(); }
+ double dy() const { return xmat.dy(); }
+ double im11() const { return ixmat.m11(); }
+ double im12() const { return ixmat.m12(); }
+ double im21() const { return ixmat.m21(); }
+ double im22() const { return ixmat.m22(); }
+ double idx() const { return ixmat.dx(); }
+ double idy() const { return ixmat.dy(); }
+
+ int txop;
+ bool txinv;
+
+#else
+ // even without transformations we still have translations
+ int xlatex;
+ int xlatey;
+#endif
+
+ void *penRef; // pen cache ref
+ void *brushRef; // brush cache ref
+ void *ps_stack;
+ void *wm_stack;
+ void killPStack();
+
+protected:
+#ifdef Q_OS_TEMP
+ QPoint internalCurrentPos;
+ uint old_pix; // ### All win platforms in 4.0
+#endif
+#if defined(Q_WS_WIN)
+ friend class QFontEngineWin;
+ friend class QFontEngineBox;
+ QT_WIN_PAINTER_MEMBERS
+#elif defined(Q_WS_X11)
+ friend class QFontEngineXLFD;
+ friend class QFontEngineXft;
+ friend class QFontEngineBox;
+ Display *dpy; // current display
+ int scrn; // current screen
+ Qt::HANDLE hd; // handle to drawable
+ Qt::HANDLE rendhd; // handle to Xft draw
+ GC gc; // graphics context (standard)
+ GC gc_brush; // graphics contect for brush
+ QPoint curPt; // current point
+ uint clip_serial; // clipping serial number
+#elif defined(Q_WS_MAC)
+ Qt::HANDLE hd; // handle to drawable
+ void initPaintDevice(bool force=FALSE, QPoint *off=NULL, QRegion *rgn=NULL);
+ friend const QRegion &qt_mac_update_painter(QPainter *, bool);
+ friend class QFontEngineMac;
+ friend class QMacPainter;
+#elif defined(Q_WS_QWS)
+ friend class QFontEngine;
+ QGfx * gfx;
+ friend void qwsUpdateActivePainters();
+#endif
+ friend class QFontMetrics;
+ friend class QFontInfo;
+ friend class QTextLayout;
+ friend void qt_format_text( const QFont &, const QRect &r,
+ int tf, const QString& str, int len, QRect *brect,
+ int tabstops, int* tabarray, int tabarraylen,
+ QTextParag **internal, QPainter* painter );
+ friend void qt_draw_background( QPainter *p, int x, int y, int w, int h );
+ friend void qt_draw_transformed_rect( QPainter *p, int x, int y, int w, int h, bool fill );
+ friend class QPrinter;
+
+private: // Disabled copy constructor and operator=
+#if defined(Q_DISABLE_COPY)
+ QPainter( const QPainter & );
+ QPainter &operator=( const QPainter & );
+#endif
+
+ enum TransformationCodes {
+ TxNone = 0, // transformation codes
+ TxTranslate = 1, // copy in qpainter_*.cpp
+ TxScale = 2,
+ TxRotShear = 3
+ };
+};
+
+
+/*****************************************************************************
+ QPainter member functions
+ *****************************************************************************/
+
+inline QPaintDevice *QPainter::device() const
+{
+ return pdev;
+}
+
+inline bool QPainter::isActive() const
+{
+ return testf(IsActive);
+}
+
+inline const QFont &QPainter::font() const
+{
+ return cfont;
+}
+
+inline const QPen &QPainter::pen() const
+{
+ return cpen;
+}
+
+inline const QBrush &QPainter::brush() const
+{
+ return cbrush;
+}
+
+/*
+inline PaintUnit QPainter::unit() const
+{
+ return (PaintUnit)pu;
+}
+*/
+
+inline const QColor &QPainter::backgroundColor() const
+{
+ return bg_col;
+}
+
+inline Qt::BGMode QPainter::backgroundMode() const
+{
+ return (BGMode)bg_mode;
+}
+
+inline Qt::RasterOp QPainter::rasterOp() const
+{
+ return (RasterOp)rop;
+}
+
+inline const QPoint &QPainter::brushOrigin() const
+{
+ return bro;
+}
+
+inline bool QPainter::hasViewXForm() const
+{
+#ifndef QT_NO_TRANSFORMATIONS
+ return testf(VxF);
+#else
+ return xlatex || xlatey;
+#endif
+}
+
+inline bool QPainter::hasWorldXForm() const
+{
+#ifndef QT_NO_TRANSFORMATIONS
+ return testf(WxF);
+#else
+ return xlatex || xlatey;
+#endif
+}
+
+inline double QPainter::translationX() const
+{
+#ifndef QT_NO_TRANSFORMATIONS
+ return worldMatrix().dx();
+#else
+ return xlatex;
+#endif
+}
+
+inline double QPainter::translationY() const
+{
+#ifndef QT_NO_TRANSFORMATIONS
+ return worldMatrix().dy();
+#else
+ return xlatey;
+#endif
+}
+
+
+inline bool QPainter::hasClipping() const
+{
+ return testf(ClipOn);
+}
+
+inline int QPainter::tabStops() const
+{
+ return tabstops;
+}
+
+inline int *QPainter::tabArray() const
+{
+ return tabarray;
+}
+
+#if defined(Q_WS_WIN)
+inline HDC QPainter::handle() const
+{
+ return hdc;
+}
+#elif defined(Q_WS_X11) || defined(Q_WS_MAC)
+inline Qt::HANDLE QPainter::handle() const
+{
+ return hd;
+}
+#endif
+
+inline void QPainter::setBrushOrigin( const QPoint &p )
+{
+ setBrushOrigin( p.x(), p.y() );
+}
+
+#ifndef QT_NO_TRANSFORMATIONS
+inline void QPainter::setWindow( const QRect &r )
+{
+ setWindow( r.x(), r.y(), r.width(), r.height() );
+}
+
+inline void QPainter::setViewport( const QRect &r )
+{
+ setViewport( r.x(), r.y(), r.width(), r.height() );
+}
+#endif
+
+inline void QPainter::setClipRect( int x, int y, int w, int h, CoordinateMode m )
+{
+ setClipRect( QRect(x,y,w,h), m );
+}
+
+inline void QPainter::drawPoint( const QPoint &p )
+{
+ drawPoint( p.x(), p.y() );
+}
+
+inline void QPainter::moveTo( const QPoint &p )
+{
+ moveTo( p.x(), p.y() );
+}
+
+inline void QPainter::lineTo( const QPoint &p )
+{
+ lineTo( p.x(), p.y() );
+}
+
+inline void QPainter::drawLine( const QPoint &p1, const QPoint &p2 )
+{
+ drawLine( p1.x(), p1.y(), p2.x(), p2.y() );
+}
+
+inline void QPainter::drawRect( const QRect &r )
+{
+ drawRect( r.x(), r.y(), r.width(), r.height() );
+}
+
+inline void QPainter::drawWinFocusRect( const QRect &r )
+{
+ drawWinFocusRect( r.x(), r.y(), r.width(), r.height() );
+}
+
+inline void QPainter::drawWinFocusRect( const QRect &r,const QColor &penColor )
+{
+ drawWinFocusRect( r.x(), r.y(), r.width(), r.height(), penColor );
+}
+
+inline void QPainter::drawRoundRect( const QRect &r, int xRnd, int yRnd )
+{
+ drawRoundRect( r.x(), r.y(), r.width(), r.height(), xRnd, yRnd );
+}
+
+inline void QPainter::drawEllipse( const QRect &r )
+{
+ drawEllipse( r.x(), r.y(), r.width(), r.height() );
+}
+
+inline void QPainter::drawArc( const QRect &r, int a, int alen )
+{
+ drawArc( r.x(), r.y(), r.width(), r.height(), a, alen );
+}
+
+inline void QPainter::drawPie( const QRect &r, int a, int alen )
+{
+ drawPie( r.x(), r.y(), r.width(), r.height(), a, alen );
+}
+
+inline void QPainter::drawChord( const QRect &r, int a, int alen )
+{
+ drawChord( r.x(), r.y(), r.width(), r.height(), a, alen );
+}
+
+inline void QPainter::drawPixmap( const QPoint &p, const QPixmap &pm,
+ const QRect &sr )
+{
+ drawPixmap( p.x(), p.y(), pm, sr.x(), sr.y(), sr.width(), sr.height() );
+}
+
+inline void QPainter::drawImage( const QPoint &p, const QImage &pm,
+ const QRect &sr, int conversionFlags )
+{
+ drawImage( p.x(), p.y(), pm,
+ sr.x(), sr.y(), sr.width(), sr.height(), conversionFlags );
+}
+
+inline void QPainter::drawTiledPixmap( const QRect &r, const QPixmap &pm,
+ const QPoint &sp )
+{
+ drawTiledPixmap( r.x(), r.y(), r.width(), r.height(), pm, sp.x(), sp.y() );
+}
+
+inline void QPainter::drawTiledPixmap( const QRect &r, const QPixmap &pm )
+{
+ drawTiledPixmap( r.x(), r.y(), r.width(), r.height(), pm, 0, 0 );
+}
+
+inline void QPainter::fillRect( const QRect &r, const QBrush &brush )
+{
+ fillRect( r.x(), r.y(), r.width(), r.height(), brush );
+}
+
+inline void QPainter::eraseRect( int x, int y, int w, int h )
+{
+ fillRect( x, y, w, h, backgroundColor() );
+}
+
+inline void QPainter::eraseRect( const QRect &r )
+{
+ fillRect( r.x(), r.y(), r.width(), r.height(), backgroundColor() );
+}
+
+inline void QPainter::drawText( const QPoint &p, const QString &s, int len, TextDirection dir )
+{
+ drawText( p.x(), p.y(), s, 0, len, dir );
+}
+
+inline void QPainter::drawText( const QPoint &p, const QString &s, int pos, int len, TextDirection dir )
+{
+ drawText( p.x(), p.y(), s, pos, len, dir );
+}
+
+inline void QPainter::drawText( int x, int y, int w, int h, int tf,
+ const QString& str, int len, QRect *br, QTextParag **i )
+{
+ QRect r(x, y, w, h);
+ drawText( r, tf, str, len, br, i );
+}
+
+inline void QPainter::drawTextItem( const QPoint& p, const QTextItem &ti, int textflags )
+{
+ drawTextItem( p.x(), p.y(), ti, textflags );
+}
+
+inline QRect QPainter::boundingRect( int x, int y, int w, int h, int tf,
+ const QString& str, int len, QTextParag **i )
+{
+ QRect r(x, y, w, h);
+ return boundingRect( r, tf, str, len, i );
+}
+
+#if defined(Q_WS_QWS)
+inline QGfx * QPainter::internalGfx()
+{
+ return gfx;
+}
+#endif
+
+#endif // QPAINTER_H