<commit_before>%%
%% Qt4xHb - Bindings libraries for Harbour/xHarbour and Qt Framework 4
%%
%% Copyright (C) 2018 <NAME> <marcosgambeta AT outlook DOT com>
%%

$header

#include "hbclass.ch"

#ifndef QT4XHB_NO_REQUESTS
REQUEST QBRUSH
REQUEST QRECTF
REQUEST QRECT
REQUEST QPOINT
REQUEST QPAINTERPATH
REQUEST QREGION
REQUEST QTRANSFORM
REQUEST QPAINTDEVICE
REQUEST QFONT
REQUEST QFONTINFO
REQUEST QFONTMETRICS
REQUEST QPAINTENGINE
REQUEST QPEN
#endif

$beginClass

   METHOD new
   METHOD delete
   METHOD background
   METHOD backgroundMode
   METHOD begin
   METHOD beginNativePainting
   METHOD boundingRect
   METHOD brush
   METHOD brushOrigin
   METHOD clipPath
   METHOD clipRegion
   METHOD combinedTransform
   METHOD compositionMode
   METHOD device
   METHOD deviceTransform
   METHOD drawArc
   METHOD drawChord
   METHOD drawConvexPolygon
   METHOD drawEllipse
   METHOD drawImage
   METHOD drawLine
   METHOD drawLines5
   METHOD drawLines6
   METHOD drawLines7
   METHOD drawLines8
   METHOD drawLines
   METHOD drawPath
   METHOD drawPicture
   METHOD drawPie
   METHOD drawPixmap
   METHOD drawPoint
   METHOD drawPoints
   METHOD drawPolygon
   METHOD drawPolyline
   METHOD drawRect
   METHOD drawRects3
   METHOD drawRects4
   METHOD drawRects
   METHOD drawRoundedRect
   METHOD drawStaticText
   METHOD drawText
   METHOD drawTiledPixmap
   METHOD end
   METHOD endNativePainting
   METHOD eraseRect
   METHOD fillPath
   METHOD fillRect1
   METHOD fillRect2
   METHOD fillRect3
   METHOD fillRect4
   METHOD fillRect5
   METHOD fillRect6
   METHOD fillRect7
   METHOD fillRect8
   METHOD fillRect9
   METHOD fillRect10
   METHOD fillRect11
   METHOD fillRect12
   METHOD fillRect
   METHOD font
   METHOD fontInfo
   METHOD fontMetrics
   METHOD hasClipping
   METHOD initFrom
   METHOD isActive
   METHOD layoutDirection
   METHOD opacity
   METHOD paintEngine
   METHOD pen
   METHOD renderHints
   METHOD resetTransform
   METHOD restore
   METHOD rotate
   METHOD save
   METHOD scale
   METHOD setBackground
   METHOD setBackgroundMode
   METHOD setBrush
   METHOD setBrushOrigin
   METHOD setClipPath
   METHOD setClipRect
   METHOD setClipRegion
   METHOD setClipping
   METHOD setCompositionMode
   METHOD setFont
   METHOD setLayoutDirection
   METHOD setOpacity
   METHOD setPen
   METHOD setRenderHint
   METHOD setRenderHints
   METHOD setTransform
   METHOD setViewTransformEnabled
   METHOD setViewport
   METHOD setWindow
   METHOD setWorldMatrixEnabled
   METHOD setWorldTransform
   METHOD shear
   METHOD strokePath
   METHOD testRenderHint
   METHOD transform
   METHOD translate
   METHOD viewTransformEnabled
   METHOD viewport
   METHOD window
   METHOD worldMatrixEnabled
   METHOD worldTransform

$endClass

$destructor

#pragma BEGINDUMP

$includes

$prototype=QPainter ()
$internalConstructor=|new1|

$prototype=QPainter ( QPaintDevice * device )
$internalConstructor=|new2|QPaintDevice *

//[1]QPainter ()
//[2]QPainter ( QPaintDevice * device )

HB_FUNC_STATIC( QPAINTER_NEW )
{
  if( ISNUMPAR(0) )
  {
    QPainter_new1();
  }
  else if( ISNUMPAR(1) && ISOBJECT(1) )
  {
    QPainter_new2();
  }
  else
  {
    hb_errRT_BASE( EG_ARG, 3012, NULL, HB_ERR_FUNCNAME, HB_ERR_ARGS_BASEPARAMS );
  }
}

$deleteMethod

$prototype=const QBrush & background () const
$method=|const QBrush &|background|

$prototype=Qt::BGMode backgroundMode () const
$method=|Qt::BGMode|backgroundMode|

$prototype=bool begin ( QPaintDevice * device )
$method=|bool|begin|QPaintDevice *

$prototype=void beginNativePainting ()
$method=|void|beginNativePainting|

$prototype=QRectF boundingRect ( const QRectF & rectangle, int flags, const QString & text )
$internalMethod=|QRectF|boundingRect,boundingRect1|const QRectF &,int,const QString &

$prototype=QRect boundingRect ( const QRect & rectangle, int flags, const QString & text )
$internalMethod=|QRect|boundingRect,boundingRect2|const QRect &,int,const QString &

$prototype=QRect boundingRect ( int x, int y, int w, int h, int flags, const QString & text )
$internalMethod=|QRect|boundingRect,boundingRect3|int,int,int,int,int,const QString &

$prototype=QRectF boundingRect ( const QRectF & rectangle, const QString & text, const QTextOption & option = QTextOption() )
$internalMethod=|QRectF|boundingRect,boundingRect4|const QRectF &,const QString &,const QTextOption &=QTextOption()

//[1]QRectF boundingRect ( const QRectF & rectangle, int flags, const QString & text )
//[2]QRect boundingRect ( const QRect & rectangle, int flags, const QString & text )
//[3]QRect boundingRect ( int x, int y, int w, int h, int flags, const QString & text )
//[4]QRectF boundingRect ( const QRectF & rectangle, const QString & text, const QTextOption & option = QTextOption() )

HB_FUNC_STATIC( QPAINTER_BOUNDINGRECT )
{
  if( ISNUMPAR(3) && ISQRECTF(1) && ISNUM(2) && ISCHAR(3) )
  {
    QPainter_boundingRect1();
  }
  else if( ISNUMPAR(3) && ISQRECT(1) && ISNUM(2) && ISCHAR(3) )
  {
    QPainter_boundingRect2();
  }
  else if( ISNUMPAR(6) && ISNUM(1) && ISNUM(2) && ISNUM(3) && ISNUM(4) && ISNUM(5) && ISCHAR(6) )
  {
    QPainter_boundingRect3();
  }
  else if( ISBETWEEN(2,3) && ISQRECTF(1) && ISCHAR(2) && (ISQTEXTOPTION(3)||ISNIL(3)) )
  {
    QPainter_boundingRect4();
  }
  else
  {
    hb_errRT_BASE( EG_ARG, 3012, NULL, HB_ERR_FUNCNAME, HB_ERR_ARGS_BASEPARAMS );
  }
}

$prototype=const QBrush & brush () const
$method=|const QBrush &|brush|

$prototype=QPoint brushOrigin () const
$method=|QPoint|brushOrigin|

$prototype=QPainterPath clipPath () const
$method=|QPainterPath|clipPath|

$prototype=QRegion clipRegion () const
$method=|QRegion|clipRegion|

$prototype=QTransform combinedTransform () const
$method=|QTransform|combinedTransform|

$prototype=CompositionMode compositionMode () const
$method=|QPainter::CompositionMode|compositionMode|

$prototype=QPaintDevice * device () const
$method=|QPaintDevice *|device|

$prototype=const QTransform & deviceTransform () const
$method=|const QTransform &|deviceTransform|

$prototype=void drawArc ( const QRectF & rectangle, int startAngle, int spanAngle )
$internalMethod=|void|drawArc,drawArc1|const QRectF &,int,int

$prototype=void drawArc ( const QRect & rectangle, int startAngle, int spanAngle )
$internalMethod=|void|drawArc,drawArc2|const QRect &,int,int

$prototype=void drawArc ( int x, int y, int width, int height, int startAngle, int spanAngle )
$internalMethod=|void|drawArc,drawArc3|int,int,int,int,int,int

//[1]void drawArc ( const QRectF & rectangle, int startAngle, int spanAngle )
//[2]void drawArc ( const QRect & rectangle, int startAngle, int spanAngle )
//[3]void drawArc ( int x, int y, int width, int height, int startAngle, int spanAngle )

HB_FUNC_STATIC( QPAINTER_DRAWARC )
{
  if( ISNUMPAR(3) && ISQRECTF(1) && ISNUM(2) && ISNUM(3) )
  {
    QPainter_drawArc1();
  }
  else if( ISNUMPAR(3) && ISQRECT(1) && ISNUM(2) && ISNUM(3) )
  {
    QPainter_drawArc2();
  }
  else if( ISNUMPAR(6) && ISNUM(1) && ISNUM(2) && ISNUM(3) && ISNUM(4) && ISNUM(5) && ISNUM(6) )
  {
    QPainter_drawArc3();
  }
  else
  {
    hb_errRT_BASE( EG_ARG, 3012, NULL, HB_ERR_FUNCNAME, HB_ERR_ARGS_BASEPARAMS );
  }
}

$prototype=void drawChord ( const QRectF & rectangle, int startAngle, int spanAngle )
$internalMethod=|void|drawChord,drawChord1|const QRectF &,int,int

$prototype=void drawChord ( const QRect & rectangle, int startAngle, int spanAngle )
$internalMethod=|void|drawChord,drawChord2|const QRect &,int,int

$prototype=void drawChord ( int x, int y, int width, int height, int startAngle, int spanAngle )
$internalMethod=|void|drawChord,drawChord3|int,int,int,int,int,int

//[1]void drawChord ( const QRectF & rectangle, int startAngle, int spanAngle )
//[2]void drawChord ( const QRect & rectangle, int startAngle, int spanAngle )
//[3]void drawChord ( int x, int y, int width, int height, int startAngle, int spanAngle )

HB_FUNC_STATIC( QPAINTER_DRAWCHORD )
{
  if( ISNUMPAR(3) && ISQRECTF(1) && ISNUM(2) && ISNUM(3) )
  {
    QPainter_drawChord1();
  }
  else if( ISNUMPAR(3) && ISQRECT(1) && ISNUM(2) && ISNUM(3) )
  {
    QPainter_drawChord2();
  }
  else if( ISNUMPAR(6) && ISNUM(1) && ISNUM(2) && ISNUM(3) && ISNUM(4) && ISNUM(5) && ISNUM(6) )
  {
    QPainter_drawChord3();
  }
  else
  {
    hb_errRT_BASE( EG_ARG, 3012, NULL, HB_ERR_FUNCNAME, HB_ERR_ARGS_BASEPARAMS );
  }
}

$prototype=void drawConvexPolygon ( const QPointF * points, int pointCount )

$prototype=void drawConvexPolygon ( const QPoint * points, int pointCount )

$prototype=void drawConvexPolygon ( const QPolygonF & polygon )
$internalMethod=|void|drawConvexPolygon,drawConvexPolygon3|const QPolygonF &

$prototype=void drawConvexPolygon ( const QPolygon & polygon )
$internalMethod=|void|drawConvexPolygon,drawConvexPolygon4|const QPolygon &

//[1]void drawConvexPolygon ( const QPointF * points, int pointCount )
//[2]void drawConvexPolygon ( const QPoint * points, int pointCount )
//[3]void drawConvexPolygon ( const QPolygonF & polygon )
//[4]void drawConvexPolygon ( const QPolygon & polygon )

HB_FUNC_STATIC( QPAINTER_DRAWCONVEXPOLYGON )
{
  if( ISNUMPAR(1) && ISQPOLYGONF(1) )
  {
    QPainter_drawConvexPolygon3();
  }
  else if( ISNUMPAR(1) && ISQPOLYGON(1) )
  {
    QPainter_drawConvexPolygon4();
  }
  else
  {
    hb_errRT_BASE( EG_ARG, 3012, NULL, HB_ERR_FUNCNAME, HB_ERR_ARGS_BASEPARAMS );
  }
}

$prototype=void drawEllipse ( const QRectF & rectangle )
$internalMethod=|void|drawEllipse,drawEllipse1|const QRectF &

$prototype=void drawEllipse ( const QRect & rectangle )
$internalMethod=|void|drawEllipse,drawEllipse2|const QRect &

$prototype=void drawEllipse ( int x, int y, int width, int height )
$internalMethod=|void|drawEllipse,drawEllipse3|int,int,int,int

$prototype=void drawEllipse ( const QPointF & center, qreal rx, qreal ry )
$internalMethod=|void|drawEllipse,drawEllipse4|const QPointF &,qreal,qreal

$prototype=void drawEllipse ( const QPoint & center, int rx, int ry )
$internalMethod=|void|drawEllipse,drawEllipse5|const QPoint &,int,int

//[1]void drawEllipse ( const QRectF & rectangle )
//[2]void drawEllipse ( const QRect & rectangle )
//[3]void drawEllipse ( int x, int y, int width, int height )
//[4]void drawEllipse ( const QPointF & center, qreal rx, qreal ry )
//[5]void drawEllipse ( const QPoint & center, int rx, int ry )

HB_FUNC_STATIC( QPAINTER_DRAWELLIPSE )
{
  if( ISNUMPAR(1) && ISQRECTF(1) )
  {
    QPainter_drawEllipse1();
  }
  else if( ISNUMPAR(1) && ISQRECT(1) )
  {
    QPainter_drawEllipse2();
  }
  else if( ISNUMPAR(4) && ISNUM(1) && ISNUM(2) && ISNUM(3) && ISNUM(4) )
  {
    QPainter_drawEllipse3();
  }
  else if( ISNUMPAR(3) && ISQPOINTF(1) && ISNUM(2) && ISNUM(3) )
  {
    QPainter_drawEllipse4();
  }
  else if( ISNUMPAR(3) && ISQPOINT(1) && ISNUM(2) && ISNUM(3) )
  {
    QPainter_drawEllipse5();
  }
  else
  {
    hb_errRT_BASE( EG_ARG, 3012, NULL, HB_ERR_FUNCNAME, HB_ERR_ARGS_BASEPARAMS );
  }
}

$prototype=void drawImage ( const QRectF & target, const QImage & image, const QRectF & source, Qt::ImageConversionFlags flags = Qt::AutoColor )
$internalMethod=|void|drawImage,drawImage1|const QRectF &,const QImage &,const QRectF &,Qt::ImageConversionFlags=Qt::AutoColor

$prototype=void drawImage ( const QRect & target, const QImage & image, const QRect & source, Qt::ImageConversionFlags flags = Qt::AutoColor )
$internalMethod=|void|drawImage,drawImage2|const QRect &,const QImage &,const QRect &,Qt::ImageConversionFlags=Qt::AutoColor

$prototype=void drawImage ( const QPointF & point, const QImage & image )
$internalMethod=|void|drawImage,drawImage3|const QPointF &,const QImage &

$prototype=void drawImage ( const QPoint & point, const QImage & image )
$internalMethod=|void|drawImage,drawImage4|const QPoint &,const QImage &

$prototype=void drawImage ( const QPointF & point, const QImage & image, const QRectF & source, Qt::ImageConversionFlags flags = Qt::AutoColor )
$internalMethod=|void|drawImage,drawImage5|const QPointF &,const QImage &,const QRectF &,Qt::ImageConversionFlags=Qt::AutoColor

$prototype=void drawImage ( const QPoint & point, const QImage & image, const QRect & source, Qt::ImageConversionFlags flags = Qt::AutoColor )
$internalMethod=|void|drawImage,drawImage6|const QPoint &,const QImage &,const QRect &,Qt::ImageConversionFlags=Qt::AutoColor

$prototype=void drawImage ( const QRectF & rectangle, const QImage & image )
$internalMethod=|void|drawImage,drawImage7|const QRectF &,const QImage &

$prototype=void drawImage ( const QRect & rectangle, const QImage & image )
$internalMethod=|void|drawImage,drawImage8|const QRect &,const QImage &

$prototype=void drawImage ( int x, int y, const QImage & image, int sx = 0, int sy = 0, int sw = -1, int sh = -1, Qt::ImageConversionFlags flags = Qt::AutoColor )
$internalMethod=|void|drawImage,drawImage9|int,int,const QImage &,int=0,int=0,int=-1,int=-1,Qt::ImageConversionFlags=Qt::AutoColor

//[1]void drawImage ( const QRectF & target, const QImage & image, const QRectF & source, Qt::ImageConversionFlags flags = Qt::AutoColor )
//[2]void drawImage ( const QRect & target, const QImage & image, const QRect & source, Qt::ImageConversionFlags flags = Qt::AutoColor )
//[3]void drawImage ( const QPointF & point, const QImage & image )
//[4]void drawImage ( const QPoint & point, const QImage & image )
//[5]void drawImage ( const QPointF & point, const QImage & image, const QRectF & source, Qt::ImageConversionFlags flags = Qt::AutoColor )
//[6]void drawImage ( const QPoint & point, const QImage & image, const QRect & source, Qt::ImageConversionFlags flags = Qt::AutoColor )
//[7]void drawImage ( const QRectF & rectangle, const QImage & image )
//[8]void drawImage ( const QRect & rectangle, const QImage & image )
//[9]void drawImage ( int x, int y, const QImage & image, int sx = 0, int sy = 0, int sw = -1, int sh = -1, Qt::ImageConversionFlags flags = Qt::AutoColor )

HB_FUNC_STATIC( QPAINTER_DRAWIMAGE )
{
  if( ISBETWEEN(3,4) && ISQRECTF(1) && ISQIMAGE(2) && ISQRECTF(3) && (ISNUM(4)||ISNIL(4)) )
  {
    QPainter_drawImage1();
  }
  else if( ISBETWEEN(3,4) && ISQRECT(1) && ISQIMAGE(2) && ISQRECT(3) && (ISNUM(4)||ISNIL(4)) )
  {
    QPainter_drawImage2();
  }
  else if( ISNUMPAR(2) && ISQPOINTF(1) && ISQIMAGE(2) )
  {
    QPainter_drawImage3();
  }
  else if( ISNUMPAR(2) && ISQPOINT(1) && ISQIMAGE(2) )
  {
    QPainter_drawImage4();
  }
  else if( ISBETWEEN(3,4) && ISQPOINTF(1) && ISQIMAGE(2) && ISQRECTF(3) && (ISNUM(4)||ISNIL(4)) )
  {
    QPainter_drawImage5();
  }
  else if( ISBETWEEN(3,4) && ISQPOINT(1) && ISQIMAGE(2) && ISQRECT(3) && (ISNUM(4)||ISNIL(4)) )
  {
    QPainter_drawImage6();
  }
  else if( ISNUMPAR(2) && ISQRECTF(1) && ISQIMAGE(2) )
  {
    QPainter_drawImage7();
  }
  else if( ISNUMPAR(2) && ISQRECT(1) && ISQIMAGE(2) )
  {
    QPainter_drawImage8();
  }
  else if( ISBETWEEN(3,8) && ISNUM(1) && ISNUM(2) && ISQIMAGE(3) && (ISNUM(4)||ISNIL(4)) && (ISNUM(5)||ISNIL(5)) && (ISNUM(6)||ISNIL(6)) && (ISNUM(7)||ISNIL(7)) && (ISNUM(8)||ISNIL(8)) )
  {
    QPainter_drawImage9();
  }
  else
  {
    hb_errRT_BASE( EG_ARG, 3012, NULL, HB_ERR_FUNCNAME, HB_ERR_ARGS_BASEPARAMS );
  }
}

$prototype=void drawLine ( const QLineF & line )
$internalMethod=|void|drawLine,drawLine1|const QLineF &

$prototype=void drawLine ( const QLine & line )
$internalMethod=|void|drawLine,drawLine2|const QLine &

$prototype=void drawLine ( const QPoint & p1, const QPoint & p2 )
$internalMethod=|void|drawLine,drawLine3|const QPoint &,const QPoint &

$prototype=void drawLine ( const QPointF & p1, const QPointF & p2 )
$internalMethod=|void|drawLine,drawLine4|const QPointF &,const QPointF &

$prototype=void drawLine ( int x1, int y1, int x2, int y2 )
$internalMethod=|void|drawLine,drawLine5|int,int,int,int

//[1]void drawLine ( const QLineF & line )
//[2]void drawLine ( const QLine & line )
//[3]void drawLine ( const QPoint & p1, const QPoint & p2 )
//[4]void drawLine ( const QPointF & p1, const QPointF & p2 )
//[5]void drawLine ( int x1, int y1, int x2, int y2 )

HB_FUNC_STATIC( QPAINTER_DRAWLINE )
{
  if( ISNUMPAR(1) && ISQLINEF(1) )
  {
    QPainter_drawLine1();
  }
  else if( ISNUMPAR(1) && ISQLINE(1) )
  {
    QPainter_drawLine2();
  }
  else if( ISNUMPAR(2) && ISQPOINT(1) && ISQPOINT(2) )
  {
    QPainter_drawLine3();
  }
  else if( ISNUMPAR(2) && ISQPOINTF(1) && ISQPOINTF(2) )
  {
    QPainter_drawLine4();
  }
  else if( ISNUMPAR(4) && ISNUM(1) && ISNUM(2) && ISNUM(3) && ISNUM(4) )
  {
    QPainter_drawLine5();
  }
  else
  {
    hb_errRT_BASE( EG_ARG, 3012, NULL, HB_ERR_FUNCNAME, HB_ERR_ARGS_BASEPARAMS );
  }
}

$prototype=void drawLines ( const QLineF * lines, int lineCount )

$prototype=void drawLines ( const QLine * lines, int lineCount )

$prototype=void drawLines ( const QPointF * pointPairs, int lineCount )

$prototype=void drawLines ( const QPoint * pointPairs, int lineCount )

$prototype=void drawLines ( const QVector<QPointF> & pointPairs )
HB_FUNC_STATIC( QPAINTER_DRAWLINES5 )
{
  QPainter * obj = (QPainter *) hb_itemGetPtr( hb_objSendMsg( hb_stackSelfItem(), "POINTER", 0 ) );

  if( obj )
  {
    QVector<QPointF> par1;
    PHB_ITEM aList1 = hb_param(1, HB_IT_ARRAY);
    int i1;
    int nLen1 = hb_arrayLen(aList1);
    for (i1=0;i1<nLen1;i1++)
    {
      par1 << *(QPointF *) hb_itemGetPtr( hb_objSendMsg( hb_arrayGetItemPtr( aList1, i1+1 ), "POINTER", 0 ) );
    }
    obj->drawLines ( par1 );
  }

  hb_itemReturn( hb_stackSelfItem() );
}

$prototype=void drawLines ( const QVector<QPoint> & pointPairs )
HB_FUNC_STATIC( QPAINTER_DRAWLINES6 )
{
  QPainter * obj = (QPainter *) hb_itemGetPtr( hb_objSendMsg( hb_stackSelfItem(), "POINTER", 0 ) );

  if( obj )
  {
    QVector<QPoint> par1;
    PHB_ITEM aList1 = hb_param(1, HB_IT_ARRAY);
    int i1;
    int nLen1 = hb_arrayLen(aList1);
    for (i1=0;i1<nLen1;i1++)
    {
      par1 << *(QPoint *) hb_itemGetPtr( hb_objSendMsg( hb_arrayGetItemPtr( aList1, i1+1 ), "POINTER", 0 ) );
    }
    obj->drawLines ( par1 );
  }

  hb_itemReturn( hb_stackSelfItem() );
}

$prototype=void drawLines ( const QVector<QLineF> & lines )
HB_FUNC_STATIC( QPAINTER_DRAWLINES7 )
{
  QPainter * obj = (QPainter *) hb_itemGetPtr( hb_objSendMsg( hb_stackSelfItem(), "POINTER", 0 ) );

  if( obj )
  {
    QVector<QLineF> par1;
    PHB_ITEM aList1 = hb_param(1, HB_IT_ARRAY);
    int i1;
    int nLen1 = hb_arrayLen(aList1);
    for (i1=0;i1<nLen1;i1++)
    {
      par1 << *(QLineF *) hb_itemGetPtr( hb_objSendMsg( hb_arrayGetItemPtr( aList1, i1+1 ), "POINTER", 0 ) );
    }
    obj->drawLines ( par1 );
  }

  hb_itemReturn( hb_stackSelfItem() );
}

$prototype=void drawLines ( const QVector<QLine> & lines )
HB_FUNC_STATIC( QPAINTER_DRAWLINES8 )
{
  QPainter * obj = (QPainter *) hb_itemGetPtr( hb_objSendMsg( hb_stackSelfItem(), "POINTER", 0 ) );

  if( obj )
  {
    QVector<QLine> par1;
    PHB_ITEM aList1 = hb_param(1, HB_IT_ARRAY);
    int i1;
    int nLen1 = hb_arrayLen(aList1);
    for (i1=0;i1<nLen1;i1++)
    {
      par1 << *(QLine *) hb_itemGetPtr( hb_objSendMsg( hb_arrayGetItemPtr( aList1, i1+1 ), "POINTER", 0 ) );
    }
    obj->drawLines ( par1 );
  }

  hb_itemReturn( hb_stackSelfItem() );
}

//[1]void drawLines ( const QLineF * lines, int lineCount )
//[2]void drawLines ( const QLine * lines, int lineCount )
//[3]void drawLines ( const QPointF * pointPairs, int lineCount )
//[4]void drawLines ( const QPoint * pointPairs, int lineCount )
//[5]void drawLines ( const QVector<QPointF> & pointPairs )
//[6]void drawLines ( const QVector<QPoint> & pointPairs )
//[7]void drawLines ( const QVector<QLineF> & lines )
//[8]void drawLines ( const QVector<QLine> & lines )

%% TODO: implementar reconhecimento de parmetros

HB_FUNC_STATIC( QPAINTER_DRAWLINES )
{
}

$prototype=void drawPath ( const QPainterPath & path )
$method=|void|drawPath|const QPainterPath &

$prototype=void drawPicture ( const QPointF & point, const QPicture & picture )
$internalMethod=|void|drawPicture,drawPicture1|const QPointF &,const QPicture &

$prototype=void drawPicture ( const QPoint & point, const QPicture & picture )
$internalMethod=|void|drawPicture,drawPicture2|const QPoint &,const QPicture &

$prototype=void drawPicture ( int x, int y, const QPicture & picture )
$internalMethod=|void|drawPicture,drawPicture3|int,int,const QPicture &

//[1]void drawPicture ( const QPointF & point, const QPicture & picture )
//[2]void drawPicture ( const QPoint & point, const QPicture & picture )
//[3]void drawPicture ( int x, int y, const QPicture & picture )

HB_FUNC_STATIC( QPAINTER_DRAWPICTURE )
{
  if( ISNUMPAR(2) && ISQPOINTF(1) && ISQPICTURE(2) )
  {
    QPainter_drawPicture1();
  }
  else if( ISNUMPAR(2) && ISQPOINT(1) && ISQPICTURE(2) )
  {
    QPainter_drawPicture2();
  }
  else if( ISNUMPAR(3) && ISNUM(1) && ISNUM(2) && ISQPICTURE(3) )
  {
    QPainter_drawPicture3();
  }
  else
  {
    hb_errRT_BASE( EG_ARG, 3012, NULL, HB_ERR_FUNCNAME, HB_ERR_ARGS_BASEPARAMS );
  }
}

$prototype=void drawPie ( const QRectF & rectangle, int startAngle, int spanAngle )
$internalMethod=|void|drawPie,drawPie1|const QRectF &,int,int

$prototype=void drawPie ( const QRect & rectangle, int startAngle, int spanAngle )
$internalMethod=|void|drawPie,drawPie2|const QRect &,int,int

$prototype=void drawPie ( int x, int y, int width, int height, int startAngle, int spanAngle )
$internalMethod=|void|drawPie,drawPie3|int,int,int,int,int,int

//[1]void drawPie ( const QRectF & rectangle, int startAngle, int spanAngle )
//[2]void drawPie ( const QRect & rectangle, int startAngle, int spanAngle )
//[3]void drawPie ( int x, int y, int width, int height, int startAngle, int spanAngle )

HB_FUNC_STATIC( QPAINTER_DRAWPIE )
{
  if( ISNUMPAR(3) && ISQRECTF(1) && ISNUM(2) && ISNUM(3) )
  {
    QPainter_drawPie1();
  }
  else if( ISNUMPAR(3) && ISQRECT(1) && ISNUM(2) && ISNUM(3) )
  {
    QPainter_drawPie2();
  }
  else if( ISNUMPAR(6) && ISNUM(1) && ISNUM(2) && ISNUM(3) && ISNUM(4) && ISNUM(5) && ISNUM(6) )
  {
    QPainter_drawPie3();
  }
  else
  {
    hb_errRT_BASE( EG_ARG, 3012, NULL, HB_ERR_FUNCNAME, HB_ERR_ARGS_BASEPARAMS );
  }
}

$prototype=void drawPixmap ( const QRectF & target, const QPixmap & pixmap, const QRectF & source )
$internalMethod=|void|drawPixmap,drawPixmap1|const QRectF &,const QPixmap &,const QRectF &

$prototype=void drawPixmap ( const QRect & target, const QPixmap & pixmap, const QRect & source )
$internalMethod=|void|drawPixmap,drawPixmap2|const QRect &,const QPixmap &,const QRect &

$prototype=void drawPixmap ( const QPointF & point, const QPixmap & pixmap, const QRectF & source )
$internalMethod=|void|drawPixmap,drawPixmap3|const QPointF &,const QPixmap &,const QRectF &

$prototype=void drawPixmap ( const QPoint & point, const QPixmap & pixmap, const QRect & source )
$internalMethod=|void|drawPixmap,drawPixmap4|const QPoint &,const QPixmap &,const QRect &

$prototype=void drawPixmap ( const QPointF & point, const QPixmap & pixmap )
$internalMethod=|void|drawPixmap,drawPixmap5|const QPointF &,const QPixmap &

$prototype=void drawPixmap ( const QPoint & point, const QPixmap & pixmap )
$internalMethod=|void|drawPixmap,drawPixmap6|const QPoint &,const QPixmap &

$prototype=void drawPixmap ( int x, int y, const QPixmap & pixmap )
$internalMethod=|void|drawPixmap,drawPixmap7|int,int,const QPixmap &

$prototype=void drawPixmap ( const QRect & rectangle, const QPixmap & pixmap )
$internalMethod=|void|drawPixmap,drawPixmap8|const QRect &,const QPixmap &

$prototype=void drawPixmap ( int x, int y, int width, int height, const QPixmap & pixmap )
$internalMethod=|void|drawPixmap,drawPixmap9|int,int,int,int,const QPixmap &

$prototype=void drawPixmap ( int x, int y, int w, int h, const QPixmap & pixmap, int sx, int sy, int sw, int sh )
$internalMethod=|void|drawPixmap,drawPixmap10|int,int,int,int,const QPixmap &,int,int,int,int

$prototype=void drawPixmap ( int x, int y, const QPixmap & pixmap, int sx, int sy, int sw, int sh )
$internalMethod=|void|drawPixmap,drawPixmap11|int,int,const QPixmap &,int,int,int,int

//[01]void drawPixmap ( const QRectF & target, const QPixmap & pixmap, const QRectF & source )
//[02]void drawPixmap ( const QRect & target, const QPixmap & pixmap, const QRect & source )
//[03]void drawPixmap ( const QPointF & point, const QPixmap & pixmap, const QRectF & source )
//[04]void drawPixmap ( const QPoint & point, const QPixmap & pixmap, const QRect & source )
//[05]void drawPixmap ( const QPointF & point, const QPixmap & pixmap )
//[06]void drawPixmap ( const QPoint & point, const QPixmap & pixmap )
//[07]void drawPixmap ( int x, int y, const QPixmap & pixmap )
//[08]void drawPixmap ( const QRect & rectangle, const QPixmap & pixmap )
//[09]void drawPixmap ( int x, int y, int width, int height, const QPixmap & pixmap )
//[10]void drawPixmap ( int x, int y, int w, int h, const QPixmap & pixmap, int sx, int sy, int sw, int sh )
//[11]void drawPixmap ( int x, int y, const QPixmap & pixmap, int sx, int sy, int sw, int sh )

HB_FUNC_STATIC( QPAINTER_DRAWPIXMAP )
{
  if( ISNUMPAR(3) && ISQRECTF(1) && ISQPIXMAP(2) && ISQRECTF(3) )
  {
    QPainter_drawPixmap1();
  }
  else if( ISNUMPAR(3) && ISQRECT(1) && ISQPIXMAP(2) && ISQRECT(3) )
  {
    QPainter_drawPixmap2();
  }
  else if( ISNUMPAR(3) && ISQPOINTF(1) && ISQPIXMAP(2) && ISQRECTF(3) )
  {
    QPainter_drawPixmap3();
  }
  else if( ISNUMPAR(3) && ISQPOINT(1) && ISQPIXMAP(2) && ISQRECT(3) )
  {
    QPainter_drawPixmap4();
  }
  else if( ISNUMPAR(2) && ISQPOINTF(1) && ISQPIXMAP(2) )
  {
    QPainter_drawPixmap5();
  }
  else if( ISNUMPAR(2) && ISQPOINT(1) && ISQPIXMAP(2) )
  {
    QPainter_drawPixmap6();
  }
  else if( ISNUMPAR(3) && ISNUM(1) && ISNUM(2) && ISQPIXMAP(3) )
  {
    QPainter_drawPixmap7();
  }
  else if( ISNUMPAR(2) && ISQRECT(1) && ISQPIXMAP(2) )
  {
    QPainter_drawPixmap8();
  }
  else if( ISNUMPAR(5) && ISNUM(1) && ISNUM(2) && ISNUM(3) && ISNUM(4) && ISQPIXMAP(5) )
  {
    QPainter_drawPixmap9();
  }
  else if( ISNUMPAR(9) && ISNUM(1) && ISNUM(2) && ISNUM(3) && ISNUM(4) && ISQPIXMAP(5) && ISNUM(6) && ISNUM(7) && ISNUM(8) && ISNUM(9) )
  {
    QPainter_drawPixmap10();
  }
  else if( ISNUMPAR(7) && ISNUM(1) && ISNUM(2) && ISQPIXMAP(3) && ISNUM(4) && ISNUM(5) && ISNUM(6) && ISNUM(7) )
  {
    QPainter_drawPixmap11();
  }
  else
  {
    hb_errRT_BASE( EG_ARG, 3012, NULL, HB_ERR_FUNCNAME, HB_ERR_ARGS_BASEPARAMS );
  }
}

$prototype=void drawPoint ( const QPointF & position )
$internalMethod=|void|drawPoint,drawPoint1|const QPointF &

$prototype=void drawPoint ( const QPoint & position )
$internalMethod=|void|drawPoint,drawPoint2|const QPoint &

$prototype=void drawPoint ( int x, int y )
$internalMethod=|void|drawPoint,drawPoint3|int,int

//[1]void drawPoint ( const QPointF & position )
//[2]void drawPoint ( const QPoint & position )
//[3]void drawPoint ( int x, int y )

HB_FUNC_STATIC( QPAINTER_DRAWPOINT )
{
  if( ISNUMPAR(1) && ISQPOINTF(1) )
  {
    QPainter_drawPoint1();
  }
  else if( ISNUMPAR(1) && ISQPOINT(1) )
  {
    QPainter_drawPoint2();
  }
  else if( ISNUMPAR(2) && ISNUM(1) && ISNUM(2) )
  {
    QPainter_drawPoint3();
  }
  else
  {
    hb_errRT_BASE( EG_ARG, 3012, NULL, HB_ERR_FUNCNAME, HB_ERR_ARGS_BASEPARAMS );
  }
}

$prototype=void drawPoints ( const QPointF * points, int pointCount )

$prototype=void drawPoints ( const QPoint * points, int pointCount )

$prototype=void drawPoints ( const QPolygonF & points )
$internalMethod=|void|drawPoints,drawPoints3|const QPolygonF &

$prototype=void drawPoints ( const QPolygon & points )
$internalMethod=|void|drawPoints,drawPoints4|const QPolygon &

//[1]void drawPoints ( const QPointF * points, int pointCount )
//[2]void drawPoints ( const QPoint * points, int pointCount )
//[3]void drawPoints ( const QPolygonF & points )
//[4]void drawPoints ( const QPolygon & points )

HB_FUNC_STATIC( QPAINTER_DRAWPOINTS )
{
  if( ISNUMPAR(1) && ISQPOLYGONF(1) )
  {
    QPainter_drawPoints3();
  }
  else if( ISNUMPAR(1) && ISQPOLYGON(1) )
  {
    QPainter_drawPoints4();
  }
  else
  {
    hb_errRT_BASE( EG_ARG, 3012, NULL, HB_ERR_FUNCNAME, HB_ERR_ARGS_BASEPARAMS );
  }
}

$prototype=void drawPolygon ( const QPointF * points, int pointCount, Qt::FillRule fillRule = Qt::OddEvenFill )

$prototype=void drawPolygon ( const QPoint * points, int pointCount, Qt::FillRule fillRule = Qt::OddEvenFill )

$prototype=void drawPolygon ( const QPolygonF & points, Qt::FillRule fillRule = Qt::OddEvenFill )
$internalMethod=|void|drawPolygon,drawPolygon3|const QPolygonF &,Qt::FillRule=Qt::OddEvenFill

$prototype=void drawPolygon ( const QPolygon & points, Qt::FillRule fillRule = Qt::OddEvenFill )
$internalMethod=|void|drawPolygon,drawPolygon4|const QPolygon &,Qt::FillRule=Qt::OddEvenFill

//[1]void drawPolygon ( const QPointF * points, int pointCount, Qt::FillRule fillRule = Qt::OddEvenFill )
//[2]void drawPolygon ( const QPoint * points, int pointCount, Qt::FillRule fillRule = Qt::OddEvenFill )
//[3]void drawPolygon ( const QPolygonF & points, Qt::FillRule fillRule = Qt::OddEvenFill )
//[4]void drawPolygon ( const QPolygon & points, Qt::FillRule fillRule = Qt::OddEvenFill )

HB_FUNC_STATIC( QPAINTER_DRAWPOLYGON )
{
  if( ISBETWEEN(1,2) && ISQPOLYGONF(1) && (ISNUM(2)||ISNIL(2)) )
  {
    QPainter_drawPolygon3();
  }
  else if( ISBETWEEN(1,2) && ISQPOLYGON(1) && (ISNUM(2)||ISNIL(2)) )
  {
    QPainter_drawPolygon4();
  }
  else
  {
    hb_errRT_BASE( EG_ARG, 3012, NULL, HB_ERR_FUNCNAME, HB_ERR_ARGS_BASEPARAMS );
  }
}

$prototype=void drawPolyline ( const QPointF * points, int pointCount )

$prototype=void drawPolyline ( const QPoint * points, int pointCount )

$prototype=void drawPolyline ( const QPolygonF & points )
$internalMethod=|void|drawPolyline,drawPolyline3|const QPolygonF &

$prototype=void drawPolyline ( const QPolygon & points )
$internalMethod=|void|drawPolyline,drawPolyline4|const QPolygon &

//[1]void drawPolyline ( const QPointF * points, int pointCount )
//[2]void drawPolyline ( const QPoint * points, int pointCount )
//[3]void drawPolyline ( const QPolygonF & points )
//[4]void drawPolyline ( const QPolygon & points )

HB_FUNC_STATIC( QPAINTER_DRAWPOLYLINE )
{
  if( ISNUMPAR(1) && ISQPOLYGONF(1) )
  {
    QPainter_drawPolyline3();
  }
  else if( ISNUMPAR(1) && ISQPOLYGON(1) )
  {
    QPainter_drawPolyline4();
  }
  else
  {
    hb_errRT_BASE( EG_ARG, 3012, NULL, HB_ERR_FUNCNAME, HB_ERR_ARGS_BASEPARAMS );
  }
}

$prototype=void drawRect ( const QRectF & rectangle )
$internalMethod=|void|drawRect,drawRect1|const QRectF &

$prototype=void drawRect ( const QRect & rectangle )
$internalMethod=|void|drawRect,drawRect2|const QRect &

$prototype=void drawRect ( int x, int y, int width, int height )
$internalMethod=|void|drawRect,drawRect3|int,int,int,int

//[1]void drawRect ( const QRectF & rectangle )
//[2]void drawRect ( const QRect & rectangle )
//[3]void drawRect ( int x, int y, int width, int height )

HB_FUNC_STATIC( QPAINTER_DRAWRECT )
{
  if( ISNUMPAR(1) && ISQRECTF(1) )
  {
    QPainter_drawRect1();
  }
  else if( ISNUMPAR(1) && ISQRECT(1) )
  {
    QPainter_drawRect2();
  }
  else if( ISNUMPAR(4) && ISNUM(1) && ISNUM(2) && ISNUM(3) && ISNUM(4) )
  {
    QPainter_drawRect3();
  }
  else
  {
    hb_errRT_BASE( EG_ARG, 3012, NULL, HB_ERR_FUNCNAME, HB_ERR_ARGS_BASEPARAMS );
  }
}

$prototype=void drawRects ( const QRectF * rectangles, int rectCount )

$prototype=void drawRects ( const QRect * rectangles, int rectCount )

$prototype=void drawRects ( const QVector<QRectF> & rectangles )
HB_FUNC_STATIC( QPAINTER_DRAWRECTS3 )
{
  QPainter * obj = (QPainter *) hb_itemGetPtr( hb_objSendMsg( hb_stackSelfItem(), "POINTER", 0 ) );

  if( obj )
  {
    QVector<QRectF> par1;
    PHB_ITEM aList1 = hb_param(1, HB_IT_ARRAY);
    int i1;
    int nLen1 = hb_arrayLen(aList1);
    for (i1=0;i1<nLen1;i1++)
    {
      par1 << *(QRectF *) hb_itemGetPtr( hb_objSendMsg( hb_arrayGetItemPtr( aList1, i1+1 ), "POINTER", 0 ) );
    }
    obj->drawRects ( par1 );
  }

  hb_itemReturn( hb_stackSelfItem() );
}

$prototype=void drawRects ( const QVector<QRect> & rectangles )
HB_FUNC_STATIC( QPAINTER_DRAWRECTS4 )
{
  QPainter * obj = (QPainter *) hb_itemGetPtr( hb_objSendMsg( hb_stackSelfItem(), "POINTER", 0 ) );

  if( obj )
  {
    QVector<QRect> par1;
    PHB_ITEM aList1 = hb_param(1, HB_IT_ARRAY);
    int i1;
    int nLen1 = hb_arrayLen(aList1);
    for (i1=0;i1<nLen1;i1++)
    {
      par1 << *(QRect *) hb_itemGetPtr( hb_objSendMsg( hb_arrayGetItemPtr( aList1, i1+1 ), "POINTER", 0 ) );
    }
    obj->drawRects ( par1 );
  }

  hb_itemReturn( hb_stackSelfItem() );
}

//[1]void drawRects ( const QRectF * rectangles, int rectCount )
//[2]void drawRects ( const QRect * rectangles, int rectCount )
//[3]void drawRects ( const QVector<QRectF> & rectangles )
//[4]void drawRects ( const QVector<QRect> & rectangles )

%% TODO: implementar reconhecimento de parmetros

HB_FUNC_STATIC( QPAINTER_DRAWRECTS )
{
}

$prototype=void drawRoundedRect ( const QRectF & rect, qreal xRadius, qreal yRadius, Qt::SizeMode mode = Qt::AbsoluteSize )
$internalMethod=|void|drawRoundedRect,drawRoundedRect1|const QRectF &,qreal,qreal,Qt::SizeMode=Qt::AbsoluteSize

$prototype=void drawRoundedRect ( const QRect & rect, qreal xRadius, qreal yRadius, Qt::SizeMode mode = Qt::AbsoluteSize )
$internalMethod=|void|drawRoundedRect,drawRoundedRect2|const QRect &,qreal,qreal,Qt::SizeMode=Qt::AbsoluteSize

$prototype=void drawRoundedRect ( int x, int y, int w, int h, qreal xRadius, qreal yRadius, Qt::SizeMode mode = Qt::AbsoluteSize )<commit_msg>codegen/QtGui/QPainter.prg: updated<commit_after>%%
%% Qt4xHb - Bindings libraries for Harbour/xHarbour and Qt Framework 4
%%
%% Copyright (C) 2018 <NAME> <marcosgambeta AT outlook DOT com>
%%

$header

#include "hbclass.ch"

#ifndef QT4XHB_NO_REQUESTS
REQUEST QBRUSH
REQUEST QRECTF
REQUEST QRECT
REQUEST QPOINT
REQUEST QPAINTERPATH
REQUEST QREGION
REQUEST QTRANSFORM
REQUEST QPAINTDEVICE
REQUEST QFONT
REQUEST QFONTINFO
REQUEST QFONTMETRICS
REQUEST QPAINTENGINE
REQUEST QPEN
#endif

$beginClass

   METHOD new
   METHOD delete
   METHOD background
   METHOD backgroundMode
   METHOD begin
   METHOD beginNativePainting
   METHOD boundingRect
   METHOD brush
   METHOD brushOrigin
   METHOD clipPath
   METHOD clipRegion
   METHOD combinedTransform
   METHOD compositionMode
   METHOD device
   METHOD deviceTransform
   METHOD drawArc
   METHOD drawChord
   METHOD drawConvexPolygon
   METHOD drawEllipse
   METHOD drawImage
   METHOD drawLine
   METHOD drawLines5
   METHOD drawLines6
   METHOD drawLines7
   METHOD drawLines8
   METHOD drawLines
   METHOD drawPath
   METHOD drawPicture
   METHOD drawPie
   METHOD drawPixmap
   METHOD drawPoint
   METHOD drawPoints
   METHOD drawPolygon
   METHOD drawPolyline
   METHOD drawRect
   METHOD drawRects3
   METHOD drawRects4
   METHOD drawRects
   METHOD drawRoundedRect
   METHOD drawStaticText
   METHOD drawText
   METHOD drawTiledPixmap
   METHOD end
   METHOD endNativePainting
   METHOD eraseRect
   METHOD fillPath
   METHOD fillRect1
   METHOD fillRect2
   METHOD fillRect3
   METHOD fillRect4
   METHOD fillRect5
   METHOD fillRect6
   METHOD fillRect7
   METHOD fillRect8
   METHOD fillRect9
   METHOD fillRect10
   METHOD fillRect11
   METHOD fillRect12
   METHOD fillRect
   METHOD font
   METHOD fontInfo
   METHOD fontMetrics
   METHOD hasClipping
   METHOD initFrom
   METHOD isActive
   METHOD layoutDirection
   METHOD opacity
   METHOD paintEngine
   METHOD pen
   METHOD renderHints
   METHOD resetTransform
   METHOD restore
   METHOD rotate
   METHOD save
   METHOD scale
   METHOD setBackground
   METHOD setBackgroundMode
   METHOD setBrush
   METHOD setBrushOrigin
   METHOD setClipPath
   METHOD setClipRect
   METHOD setClipRegion
   METHOD setClipping
   METHOD setCompositionMode
   METHOD setFont
   METHOD setLayoutDirection
   METHOD setOpacity
   METHOD setPen
   METHOD setRenderHint
   METHOD setRenderHints
   METHOD setTransform
   METHOD setViewTransformEnabled
   METHOD setViewport
   METHOD setWindow
   METHOD setWorldMatrixEnabled
   METHOD setWorldTransform
   METHOD shear
   METHOD strokePath
   METHOD testRenderHint
   METHOD transform
   METHOD translate
   METHOD viewTransformEnabled
   METHOD viewport
   METHOD window
   METHOD worldMatrixEnabled
   METHOD worldTransform

$endClass

$destructor

#pragma BEGINDUMP

$includes

$prototype=QPainter ()
$internalConstructor=|new1|

$prototype=QPainter ( QPaintDevice * device )
$internalConstructor=|new2|QPaintDevice *

//[1]QPainter ()
//[2]QPainter ( QPaintDevice * device )

HB_FUNC_STATIC( QPAINTER_NEW )
{
  if( ISNUMPAR(0) )
  {
    QPainter_new1();
  }
  else if( ISNUMPAR(1) && ISOBJECT(1) )
  {
    QPainter_new2();
  }
  else
  {
    hb_errRT_BASE( EG_ARG, 3012, NULL, HB_ERR_FUNCNAME, HB_ERR_ARGS_BASEPARAMS );
  }
}

$deleteMethod

$prototype=const QBrush & background () const
$method=|const QBrush &|background|

$prototype=Qt::BGMode backgroundMode () const
$method=|Qt::BGMode|backgroundMode|

$prototype=bool begin ( QPaintDevice * device )
$method=|bool|begin|QPaintDevice *

$prototype=void beginNativePainting ()
$method=|void|beginNativePainting|

$prototype=QRectF boundingRect ( const QRectF & rectangle, int flags, const QString & text )
$internalMethod=|QRectF|boundingRect,boundingRect1|const QRectF &,int,const QString &

$prototype=QRect boundingRect ( const QRect & rectangle, int flags, const QString & text )
$internalMethod=|QRect|boundingRect,boundingRect2|const QRect &,int,const QString &

$prototype=QRect boundingRect ( int x, int y, int w, int h, int flags, const QString & text )
$internalMethod=|QRect|boundingRect,boundingRect3|int,int,int,int,int,const QString &

$prototype=QRectF boundingRect ( const QRectF & rectangle, const QString & text, const QTextOption & option = QTextOption() )
$internalMethod=|QRectF|boundingRect,boundingRect4|const QRectF &,const QString &,const QTextOption &=QTextOption()

//[1]QRectF boundingRect ( const QRectF & rectangle, int flags, const QString & text )
//[2]QRect boundingRect ( const QRect & rectangle, int flags, const QString & text )
//[3]QRect boundingRect ( int x, int y, int w, int h, int flags, const QString & text )
//[4]QRectF boundingRect ( const QRectF & rectangle, const QString & text, const QTextOption & option = QTextOption() )

HB_FUNC_STATIC( QPAINTER_BOUNDINGRECT )
{
  if( ISNUMPAR(3) && ISQRECTF(1) && ISNUM(2) && ISCHAR(3) )
  {
    QPainter_boundingRect1();
  }
  else if( ISNUMPAR(3) && ISQRECT(1) && ISNUM(2) && ISCHAR(3) )
  {
    QPainter_boundingRect2();
  }
  else if( ISNUMPAR(6) && ISNUM(1) && ISNUM(2) && ISNUM(3) && ISNUM(4) && ISNUM(5) && ISCHAR(6) )
  {
    QPainter_boundingRect3();
  }
  else if( ISBETWEEN(2,3) && ISQRECTF(1) && ISCHAR(2) && (ISQTEXTOPTION(3)||ISNIL(3)) )
  {
    QPainter_boundingRect4();
  }
  else
  {
    hb_errRT_BASE( EG_ARG, 3012, NULL, HB_ERR_FUNCNAME, HB_ERR_ARGS_BASEPARAMS );
  }
}

$prototype=const QBrush & brush () const
$method=|const QBrush &|brush|

$prototype=QPoint brushOrigin () const
$method=|QPoint|brushOrigin|

$prototype=QPainterPath clipPath () const
$method=|QPainterPath|clipPath|

$prototype=QRegion clipRegion () const
$method=|QRegion|clipRegion|

$prototype=QTransform combinedTransform () const
$method=|QTransform|combinedTransform|

$prototype=CompositionMode compositionMode () const
$method=|QPainter::CompositionMode|compositionMode|

$prototype=QPaintDevice * device () const
$method=|QPaintDevice *|device|

$prototype=const QTransform & deviceTransform () const
$method=|const QTransform &|deviceTransform|

$prototype=void drawArc ( const QRectF & rectangle, int startAngle, int spanAngle )
$internalMethod=|void|drawArc,drawArc1|const QRectF &,int,int

$prototype=void drawArc ( const QRect & rectangle, int startAngle, int spanAngle )
$internalMethod=|void|drawArc,drawArc2|const QRect &,int,int

$prototype=void drawArc ( int x, int y, int width, int height, int startAngle, int spanAngle )
$internalMethod=|void|drawArc,drawArc3|int,int,int,int,int,int

//[1]void drawArc ( const QRectF & rectangle, int startAngle, int spanAngle )
//[2]void drawArc ( const QRect & rectangle, int startAngle, int spanAngle )
//[3]void drawArc ( int x, int y, int width, int height, int startAngle, int spanAngle )

HB_FUNC_STATIC( QPAINTER_DRAWARC )
{
  if( ISNUMPAR(3) && ISQRECTF(1) && ISNUM(2) && ISNUM(3) )
  {
    QPainter_drawArc1();
  }
  else if( ISNUMPAR(3) && ISQRECT(1) && ISNUM(2) && ISNUM(3) )
  {
    QPainter_drawArc2();
  }
  else if( ISNUMPAR(6) && ISNUM(1) && ISNUM(2) && ISNUM(3) && ISNUM(4) && ISNUM(5) && ISNUM(6) )
  {
    QPainter_drawArc3();
  }
  else
  {
    hb_errRT_BASE( EG_ARG, 3012, NULL, HB_ERR_FUNCNAME, HB_ERR_ARGS_BASEPARAMS );
  }
}

$prototype=void drawChord ( const QRectF & rectangle, int startAngle, int spanAngle )
$internalMethod=|void|drawChord,drawChord1|const QRectF &,int,int

$prototype=void drawChord ( const QRect & rectangle, int startAngle, int spanAngle )
$internalMethod=|void|drawChord,drawChord2|const QRect &,int,int

$prototype=void drawChord ( int x, int y, int width, int height, int startAngle, int spanAngle )
$internalMethod=|void|drawChord,drawChord3|int,int,int,int,int,int

//[1]void drawChord ( const QRectF & rectangle, int startAngle, int spanAngle )
//[2]void drawChord ( const QRect & rectangle, int startAngle, int spanAngle )
//[3]void drawChord ( int x, int y, int width, int height, int startAngle, int spanAngle )

HB_FUNC_STATIC( QPAINTER_DRAWCHORD )
{
  if( ISNUMPAR(3) && ISQRECTF(1) && ISNUM(2) && ISNUM(3) )
  {
    QPainter_drawChord1();
  }
  else if( ISNUMPAR(3) && ISQRECT(1) && ISNUM(2) && ISNUM(3) )
  {
    QPainter_drawChord2();
  }
  else if( ISNUMPAR(6) && ISNUM(1) && ISNUM(2) && ISNUM(3) && ISNUM(4) && ISNUM(5) && ISNUM(6) )
  {
    QPainter_drawChord3();
  }
  else
  {
    hb_errRT_BASE( EG_ARG, 3012, NULL, HB_ERR_FUNCNAME, HB_ERR_ARGS_BASEPARAMS );
  }
}

$prototype=void drawConvexPolygon ( const QPointF * points, int pointCount )

$prototype=void drawConvexPolygon ( const QPoint * points, int pointCount )

$prototype=void drawConvexPolygon ( const QPolygonF & polygon )
$internalMethod=|void|drawConvexPolygon,drawConvexPolygon3|const QPolygonF &

$prototype=void drawConvexPolygon ( const QPolygon & polygon )
$internalMethod=|void|drawConvexPolygon,drawConvexPolygon4|const QPolygon &

//[1]void drawConvexPolygon ( const QPointF * points, int pointCount )
//[2]void drawConvexPolygon ( const QPoint * points, int pointCount )
//[3]void drawConvexPolygon ( const QPolygonF & polygon )
//[4]void drawConvexPolygon ( const QPolygon & polygon )

HB_FUNC_STATIC( QPAINTER_DRAWCONVEXPOLYGON )
{
  if( ISNUMPAR(1) && ISQPOLYGONF(1) )
  {
    QPainter_drawConvexPolygon3();
  }
  else if( ISNUMPAR(1) && ISQPOLYGON(1) )
  {
    QPainter_drawConvexPolygon4();
  }
  else
  {
    hb_errRT_BASE( EG_ARG, 3012, NULL, HB_ERR_FUNCNAME, HB_ERR_ARGS_BASEPARAMS );
  }
}

$prototype=void drawEllipse ( const QRectF & rectangle )
$internalMethod=|void|drawEllipse,drawEllipse1|const QRectF &

$prototype=void drawEllipse ( const QRect & rectangle )
$internalMethod=|void|drawEllipse,drawEllipse2|const QRect &

$prototype=void drawEllipse ( int x, int y, int width, int height )
$internalMethod=|void|drawEllipse,drawEllipse3|int,int,int,int

$prototype=void drawEllipse ( const QPointF & center, qreal rx, qreal ry )
$internalMethod=|void|drawEllipse,drawEllipse4|const QPointF &,qreal,qreal

$prototype=void drawEllipse ( const QPoint & center, int rx, int ry )
$internalMethod=|void|drawEllipse,drawEllipse5|const QPoint &,int,int

//[1]void drawEllipse ( const QRectF & rectangle )
//[2]void drawEllipse ( const QRect & rectangle )
//[3]void drawEllipse ( int x, int y, int width, int height )
//[4]void drawEllipse ( const QPointF & center, qreal rx, qreal ry )
//[5]void drawEllipse ( const QPoint & center, int rx, int ry )

HB_FUNC_STATIC( QPAINTER_DRAWELLIPSE )
{
  if( ISNUMPAR(1) && ISQRECTF(1) )
  {
    QPainter_drawEllipse1();
  }
  else if( ISNUMPAR(1) && ISQRECT(1) )
  {
    QPainter_drawEllipse2();
  }
  else if( ISNUMPAR(4) && ISNUM(1) && ISNUM(2) && ISNUM(3) && ISNUM(4) )
  {
    QPainter_drawEllipse3();
  }
  else if( ISNUMPAR(3) && ISQPOINTF(1) && ISNUM(2) && ISNUM(3) )
  {
    QPainter_drawEllipse4();
  }
  else if( ISNUMPAR(3) && ISQPOINT(1) && ISNUM(2) && ISNUM(3) )
  {
    QPainter_drawEllipse5();
  }
  else
  {
    hb_errRT_BASE( EG_ARG, 3012, NULL, HB_ERR_FUNCNAME, HB_ERR_ARGS_BASEPARAMS );
  }
}

$prototype=void drawImage ( const QRectF & target, const QImage & image, const QRectF & source, Qt::ImageConversionFlags flags = Qt::AutoColor )
$internalMethod=|void|drawImage,drawImage1|const QRectF &,const QImage &,const QRectF &,Qt::ImageConversionFlags=Qt::AutoColor

$prototype=void drawImage ( const QRect & target, const QImage & image, const QRect & source, Qt::ImageConversionFlags flags = Qt::AutoColor )
$internalMethod=|void|drawImage,drawImage2|const QRect &,const QImage &,const QRect &,Qt::ImageConversionFlags=Qt::AutoColor

$prototype=void drawImage ( const QPointF & point, const QImage & image )
$internalMethod=|void|drawImage,drawImage3|const QPointF &,const QImage &

$prototype=void drawImage ( const QPoint & point, const QImage & image )
$internalMethod=|void|drawImage,drawImage4|const QPoint &,const QImage &

$prototype=void drawImage ( const QPointF & point, const QImage & image, const QRectF & source, Qt::ImageConversionFlags flags = Qt::AutoColor )
$internalMethod=|void|drawImage,drawImage5|const QPointF &,const QImage &,const QRectF &,Qt::ImageConversionFlags=Qt::AutoColor

$prototype=void drawImage ( const QPoint & point, const QImage & image, const QRect & source, Qt::ImageConversionFlags flags = Qt::AutoColor )
$internalMethod=|void|drawImage,drawImage6|const QPoint &,const QImage &,const QRect &,Qt::ImageConversionFlags=Qt::AutoColor

$prototype=void drawImage ( const QRectF & rectangle, const QImage & image )
$internalMethod=|void|drawImage,drawImage7|const QRectF &,const QImage &

$prototype=void drawImage ( const QRect & rectangle, const QImage & image )
$internalMethod=|void|drawImage,drawImage8|const QRect &,const QImage &

$prototype=void drawImage ( int x, int y, const QImage & image, int sx = 0, int sy = 0, int sw = -1, int sh = -1, Qt::ImageConversionFlags flags = Qt::AutoColor )
$internalMethod=|void|drawImage,drawImage9|int,int,const QImage &,int=0,int=0,int=-1,int=-1,Qt::ImageConversionFlags=Qt::AutoColor

//[1]void drawImage ( const QRectF & target, const QImage & image, const QRectF & source, Qt::ImageConversionFlags flags = Qt::AutoColor )
//[2]void drawImage ( const QRect & target, const QImage & image, const QRect & source, Qt::ImageConversionFlags flags = Qt::AutoColor )
//[3]void drawImage ( const QPointF & point, const QImage & image )
//[4]void drawImage ( const QPoint & point, const QImage & image )
//[5]void drawImage ( const QPointF & point, const QImage & image, const QRectF & source, Qt::ImageConversionFlags flags = Qt::AutoColor )
//[6]void drawImage ( const QPoint & point, const QImage & image, const QRect & source, Qt::ImageConversionFlags flags = Qt::AutoColor )
//[7]void drawImage ( const QRectF & rectangle, const QImage & image )
//[8]void drawImage ( const QRect & rectangle, const QImage & image )
//[9]void drawImage ( int x, int y, const QImage & image, int sx = 0, int sy = 0, int sw = -1, int sh = -1, Qt::ImageConversionFlags flags = Qt::AutoColor )

HB_FUNC_STATIC( QPAINTER_DRAWIMAGE )
{
  if( ISBETWEEN(3,4) && ISQRECTF(1) && ISQIMAGE(2) && ISQRECTF(3) && (ISNUM(4)||ISNIL(4)) )
  {
    QPainter_drawImage1();
  }
  else if( ISBETWEEN(3,4) && ISQRECT(1) && ISQIMAGE(2) && ISQRECT(3) && (ISNUM(4)||ISNIL(4)) )
  {
    QPainter_drawImage2();
  }
  else if( ISNUMPAR(2) && ISQPOINTF(1) && ISQIMAGE(2) )
  {
    QPainter_drawImage3();
  }
  else if( ISNUMPAR(2) && ISQPOINT(1) && ISQIMAGE(2) )
  {
    QPainter_drawImage4();
  }
  else if( ISBETWEEN(3,4) && ISQPOINTF(1) && ISQIMAGE(2) && ISQRECTF(3) && (ISNUM(4)||ISNIL(4)) )
  {
    QPainter_drawImage5();
  }
  else if( ISBETWEEN(3,4) && ISQPOINT(1) && ISQIMAGE(2) && ISQRECT(3) && (ISNUM(4)||ISNIL(4)) )
  {
    QPainter_drawImage6();
  }
  else if( ISNUMPAR(2) && ISQRECTF(1) && ISQIMAGE(2) )
  {
    QPainter_drawImage7();
  }
  else if( ISNUMPAR(2) && ISQRECT(1) && ISQIMAGE(2) )
  {
    QPainter_drawImage8();
  }
  else if( ISBETWEEN(3,8) && ISNUM(1) && ISNUM(2) && ISQIMAGE(3) && (ISNUM(4)||ISNIL(4)) && (ISNUM(5)||ISNIL(5)) && (ISNUM(6)||ISNIL(6)) && (ISNUM(7)||ISNIL(7)) && (ISNUM(8)||ISNIL(8)) )
  {
    QPainter_drawImage9();
  }
  else
  {
    hb_errRT_BASE( EG_ARG, 3012, NULL, HB_ERR_FUNCNAME, HB_ERR_ARGS_BASEPARAMS );
  }
}

$prototype=void drawLine ( const QLineF & line )
$internalMethod=|void|drawLine,drawLine1|const QLineF &

$prototype=void drawLine ( const QLine & line )
$internalMethod=|void|drawLine,drawLine2|const QLine &

$prototype=void drawLine ( const QPoint & p1, const QPoint & p2 )
$internalMethod=|void|drawLine,drawLine3|const QPoint &,const QPoint &

$prototype=void drawLine ( const QPointF & p1, const QPointF & p2 )
$internalMethod=|void|drawLine,drawLine4|const QPointF &,const QPointF &

$prototype=void drawLine ( int x1, int y1, int x2, int y2 )
$internalMethod=|void|drawLine,drawLine5|int,int,int,int

//[1]void drawLine ( const QLineF & line )
//[2]void drawLine ( const QLine & line )
//[3]void drawLine ( const QPoint & p1, const QPoint & p2 )
//[4]void drawLine ( const QPointF & p1, const QPointF & p2 )
//[5]void drawLine ( int x1, int y1, int x2, int y2 )

HB_FUNC_STATIC( QPAINTER_DRAWLINE )
{
  if( ISNUMPAR(1) && ISQLINEF(1) )
  {
    QPainter_drawLine1();
  }
  else if( ISNUMPAR(1) && ISQLINE(1) )
  {
    QPainter_drawLine2();
  }
  else if( ISNUMPAR(2) && ISQPOINT(1) && ISQPOINT(2) )
  {
    QPainter_drawLine3();
  }
  else if( ISNUMPAR(2) && ISQPOINTF(1) && ISQPOINTF(2) )
  {
    QPainter_drawLine4();
  }
  else if( ISNUMPAR(4) && ISNUM(1) && ISNUM(2) && ISNUM(3) && ISNUM(4) )
  {
    QPainter_drawLine5();
  }
  else
  {
    hb_errRT_BASE( EG_ARG, 3012, NULL, HB_ERR_FUNCNAME, HB_ERR_ARGS_BASEPARAMS );
  }
}

$prototype=void drawLines ( const QLineF * lines, int lineCount )

$prototype=void drawLines ( const QLine * lines, int lineCount )

$prototype=void drawLines ( const QPointF * pointPairs, int lineCount )

$prototype=void drawLines ( const QPoint * pointPairs, int lineCount )

$prototype=void drawLines ( const QVector<QPointF> & pointPairs )
$method=|void|drawLines,drawLines5|const QVector<QPointF> &

$prototype=void drawLines ( const QVector<QPoint> & pointPairs )
$method=|void|drawLines,drawLines6|const QVector<QPoint> &

$prototype=void drawLines ( const QVector<QLineF> & lines )
$method=|void|drawLines,drawLines7|const QVector<QLineF> &

$prototype=void drawLines ( const QVector<QLine> & lines )
$method=|void|drawLines,drawLines8|const QVector<QLine> &

//[1]void drawLines ( const QLineF * lines, int lineCount )
//[2]void drawLines ( const QLine * lines, int lineCount )
//[3]void drawLines ( const QPointF * pointPairs, int lineCount )
//[4]void drawLines ( const QPoint * pointPairs, int lineCount )
//[5]void drawLines ( const QVector<QPointF> & pointPairs )
//[6]void drawLines ( const QVector<QPoint> & pointPairs )
//[7]void drawLines ( const QVector<QLineF> & lines )
//[8]void drawLines ( const QVector<QLine> & lines )

%% TODO: implementar reconhecimento de parmetros

HB_FUNC_STATIC( QPAINTER_DRAWLINES )
{
}

$prototype=void drawPath ( const QPainterPath & path )
$method=|void|drawPath|const QPainterPath &

$prototype=void drawPicture ( const QPointF & point, const QPicture & picture )
$internalMethod=|void|drawPicture,drawPicture1|const QPointF &,const QPicture &

$prototype=void drawPicture ( const QPoint & point, const QPicture & picture )
$internalMethod=|void|drawPicture,drawPicture2|const QPoint &,const QPicture &

$prototype=void drawPicture ( int x, int y, const QPicture & picture )
$internalMethod=|void|drawPicture,drawPicture3|int,int,const QPicture &

//[1]void drawPicture ( const QPointF & point, const QPicture & picture )
//[2]void drawPicture ( const QPoint & point, const QPicture & picture )
//[3]void drawPicture ( int x, int y, const QPicture & picture )

HB_FUNC_STATIC( QPAINTER_DRAWPICTURE )
{
  if( ISNUMPAR(2) && ISQPOINTF(1) && ISQPICTURE(2) )
  {
    QPainter_drawPicture1();
  }
  else if( ISNUMPAR(2) && ISQPOINT(1) && ISQPICTURE(2) )
  {
    QPainter_drawPicture2();
  }
  else if( ISNUMPAR(3) && ISNUM(1) && ISNUM(2) && ISQPICTURE(3) )
  {
    QPainter_drawPicture3();
  }
  else
  {
    hb_errRT_BASE( EG_ARG, 3012, NULL, HB_ERR_FUNCNAME, HB_ERR_ARGS_BASEPARAMS );
  }
}

$prototype=void drawPie ( const QRectF & rectangle, int startAngle, int spanAngle )
$internalMethod=|void|drawPie,drawPie1|const QRectF &,int,int

$prototype=void drawPie ( const QRect & rectangle, int startAngle, int spanAngle )
$internalMethod=|void|drawPie,drawPie2|const QRect &,int,int

$prototype=void drawPie ( int x, int y, int width, int height, int startAngle, int spanAngle )
$internalMethod=|void|drawPie,drawPie3|int,int,int,int,int,int

//[1]void drawPie ( const QRectF & rectangle, int startAngle, int spanAngle )
//[2]void drawPie ( const QRect & rectangle, int startAngle, int spanAngle )
//[3]void drawPie ( int x, int y, int width, int height, int startAngle, int spanAngle )

HB_FUNC_STATIC( QPAINTER_DRAWPIE )
{
  if( ISNUMPAR(3) && ISQRECTF(1) && ISNUM(2) && ISNUM(3) )
  {
    QPainter_drawPie1();
  }
  else if( ISNUMPAR(3) && ISQRECT(1) && ISNUM(2) && ISNUM(3) )
  {
    QPainter_drawPie2();
  }
  else if( ISNUMPAR(6) && ISNUM(1) && ISNUM(2) && ISNUM(3) && ISNUM(4) && ISNUM(5) && ISNUM(6) )
  {
    QPainter_drawPie3();
  }
  else
  {
    hb_errRT_BASE( EG_ARG, 3012, NULL, HB_ERR_FUNCNAME, HB_ERR_ARGS_BASEPARAMS );
  }
}

$prototype=void drawPixmap ( const QRectF & target, const QPixmap & pixmap, const QRectF & source )
$internalMethod=|void|drawPixmap,drawPixmap1|const QRectF &,const QPixmap &,const QRectF &

$prototype=void drawPixmap ( const QRect & target, const QPixmap & pixmap, const QRect & source )
$internalMethod=|void|drawPixmap,drawPixmap2|const QRect &,const QPixmap &,const QRect &

$prototype=void drawPixmap ( const QPointF & point, const QPixmap & pixmap, const QRectF & source )
$internalMethod=|void|drawPixmap,drawPixmap3|const QPointF &,const QPixmap &,const QRectF &

$prototype=void drawPixmap ( const QPoint & point, const QPixmap & pixmap, const QRect & source )
$internalMethod=|void|drawPixmap,drawPixmap4|const QPoint &,const QPixmap &,const QRect &

$prototype=void drawPixmap ( const QPointF & point, const QPixmap & pixmap )
$internalMethod=|void|drawPixmap,drawPixmap5|const QPointF &,const QPixmap &

$prototype=void drawPixmap ( const QPoint & point, const QPixmap & pixmap )
$internalMethod=|void|drawPixmap,drawPixmap6|const QPoint &,const QPixmap &

$prototype=void drawPixmap ( int x, int y, const QPixmap & pixmap )
$internalMethod=|void|drawPixmap,drawPixmap7|int,int,const QPixmap &

$prototype=void drawPixmap ( const QRect & rectangle, const QPixmap & pixmap )
$internalMethod=|void|drawPixmap,drawPixmap8|const QRect &,const QPixmap &

$prototype=void drawPixmap ( int x, int y, int width, int height, const QPixmap & pixmap )
$internalMethod=|void|drawPixmap,drawPixmap9|int,int,int,int,const QPixmap &

$prototype=void drawPixmap ( int x, int y, int w, int h, const QPixmap & pixmap, int sx, int sy, int sw, int sh )
$internalMethod=|void|drawPixmap,drawPixmap10|int,int,int,int,const QPixmap &,int,int,int,int

$prototype=void drawPixmap ( int x, int y, const QPixmap & pixmap, int sx, int sy, int sw, int sh )
$internalMethod=|void|drawPixmap,drawPixmap11|int,int,const QPixmap &,int,int,int,int

//[01]void drawPixmap ( const QRectF & target, const QPixmap & pixmap, const QRectF & source )
//[02]void drawPixmap ( const QRect & target, const QPixmap & pixmap, const QRect & source )
//[03]void drawPixmap ( const QPointF & point, const QPixmap & pixmap, const QRectF & source )
//[04]void drawPixmap ( const QPoint & point, const QPixmap & pixmap, const QRect & source )
//[05]void drawPixmap ( const QPointF & point, const QPixmap & pixmap )
//[06]void drawPixmap ( const QPoint & point, const QPixmap & pixmap )
//[07]void drawPixmap ( int x, int y, const QPixmap & pixmap )
//[08]void drawPixmap ( const QRect & rectangle, const QPixmap & pixmap )
//[09]void drawPixmap ( int x, int y, int width, int height, const QPixmap & pixmap )
//[10]void drawPixmap ( int x, int y, int w, int h, const QPixmap & pixmap, int sx, int sy, int sw, int sh )
//[11]void drawPixmap ( int x, int y, const QPixmap & pixmap, int sx, int sy, int sw, int sh )

HB_FUNC_STATIC( QPAINTER_DRAWPIXMAP )
{
  if( ISNUMPAR(3) && ISQRECTF(1) && ISQPIXMAP(2) && ISQRECTF(3) )
  {
    QPainter_drawPixmap1();
  }
  else if( ISNUMPAR(3) && ISQRECT(1) && ISQPIXMAP(2) && ISQRECT(3) )
  {
    QPainter_drawPixmap2();
  }
  else if( ISNUMPAR(3) && ISQPOINTF(1) && ISQPIXMAP(2) && ISQRECTF(3) )
  {
    QPainter_drawPixmap3();
  }
  else if( ISNUMPAR(3) && ISQPOINT(1) && ISQPIXMAP(2) && ISQRECT(3) )
  {
    QPainter_drawPixmap4();
  }
  else if( ISNUMPAR(2) && ISQPOINTF(1) && ISQPIXMAP(2) )
  {
    QPainter_drawPixmap5();
  }
  else if( ISNUMPAR(2) && ISQPOINT(1) && ISQPIXMAP(2) )
  {
    QPainter_drawPixmap6();
  }
  else if( ISNUMPAR(3) && ISNUM(1) && ISNUM(2) && ISQPIXMAP(3) )
  {
    QPainter_drawPixmap7();
  }
  else if( ISNUMPAR(2) && ISQRECT(1) && ISQPIXMAP(2) )
  {
    QPainter_drawPixmap8();
  }
  else if( ISNUMPAR(5) && ISNUM(1) && ISNUM(2) && ISNUM(3) && ISNUM(4) && ISQPIXMAP(5) )
  {
    QPainter_drawPixmap9();
  }
  else if( ISNUMPAR(9) && ISNUM(1) && ISNUM(2) && ISNUM(3) && ISNUM(4) && ISQPIXMAP(5) && ISNUM(6) && ISNUM(7) && ISNUM(8) && ISNUM(9) )
  {
    QPainter_drawPixmap10();
  }
  else if( ISNUMPAR(7) && ISNUM(1) && ISNUM(2) && ISQPIXMAP(3) && ISNUM(4) && ISNUM(5) && ISNUM(6) && ISNUM(7) )
  {
    QPainter_drawPixmap11();
  }
  else
  {
    hb_errRT_BASE( EG_ARG, 3012, NULL, HB_ERR_FUNCNAME, HB_ERR_ARGS_BASEPARAMS );
  }
}

$prototype=void drawPoint ( const QPointF & position )
$internalMethod=|void|drawPoint,drawPoint1|const QPointF &

$prototype=void drawPoint ( const QPoint & position )
$internalMethod=|void|drawPoint,drawPoint2|const QPoint &

$prototype=void drawPoint ( int x, int y )
$internalMethod=|void|drawPoint,drawPoint3|int,int

//[1]void drawPoint ( const QPointF & position )
//[2]void drawPoint ( const QPoint & position )
//[3]void drawPoint ( int x, int y )

HB_FUNC_STATIC( QPAINTER_DRAWPOINT )
{
  if( ISNUMPAR(1) && ISQPOINTF(1) )
  {
    QPainter_drawPoint1();
  }
  else if( ISNUMPAR(1) && ISQPOINT(1) )
  {
    QPainter_drawPoint2();
  }
  else if( ISNUMPAR(2) && ISNUM(1) && ISNUM(2) )
  {
    QPainter_drawPoint3();
  }
  else
  {
    hb_errRT_BASE( EG_ARG, 3012, NULL, HB_ERR_FUNCNAME, HB_ERR_ARGS_BASEPARAMS );
  }
}

$prototype=void drawPoints ( const QPointF * points, int pointCount )

$prototype=void drawPoints ( const QPoint * points, int pointCount )

$prototype=void drawPoints ( const QPolygonF & points )
$internalMethod=|void|drawPoints,drawPoints3|const QPolygonF &

$prototype=void drawPoints ( const QPolygon & points )
$internalMethod=|void|drawPoints,drawPoints4|const QPolygon &

//[1]void drawPoints ( const QPointF * points, int pointCount )
//[2]void drawPoints ( const QPoint * points, int pointCount )
//[3]void drawPoints ( const QPolygonF & points )
//[4]void drawPoints ( const QPolygon & points )

HB_FUNC_STATIC( QPAINTER_DRAWPOINTS )
{
  if( ISNUMPAR(1) && ISQPOLYGONF(1) )
  {
    QPainter_drawPoints3();
  }
  else if( ISNUMPAR(1) && ISQPOLYGON(1) )
  {
    QPainter_drawPoints4();
  }
  else
  {
    hb_errRT_BASE( EG_ARG, 3012, NULL, HB_ERR_FUNCNAME, HB_ERR_ARGS_BASEPARAMS );
  }
}

$prototype=void drawPolygon ( const QPointF * points, int pointCount, Qt::FillRule fillRule = Qt::OddEvenFill )

$prototype=void drawPolygon ( const QPoint * points, int pointCount, Qt::FillRule fillRule = Qt::OddEvenFill )

$prototype=void drawPolygon ( const QPolygonF & points, Qt::FillRule fillRule = Qt::OddEvenFill )
$internalMethod=|void|drawPolygon,drawPolygon3|const QPolygonF &,Qt::FillRule=Qt::OddEvenFill

$prototype=void drawPolygon ( const QPolygon & points, Qt::FillRule fillRule = Qt::OddEvenFill )
$internalMethod=|void|drawPolygon,drawPolygon4|const QPolygon &,Qt::FillRule=Qt::OddEvenFill

//[1]void drawPolygon ( const QPointF * points, int pointCount, Qt::FillRule fillRule = Qt::OddEvenFill )
//[2]void drawPolygon ( const QPoint * points, int pointCount, Qt::FillRule fillRule = Qt::OddEvenFill )
//[3]void drawPolygon ( const QPolygonF & points, Qt::FillRule fillRule = Qt::OddEvenFill )
//[4]void drawPolygon ( const QPolygon & points, Qt::FillRule fillRule = Qt::OddEvenFill )

HB_FUNC_STATIC( QPAINTER_DRAWPOLYGON )
{
  if( ISBETWEEN(1,2) && ISQPOLYGONF(1) && (ISNUM(2)||ISNIL(2)) )
  {
    QPainter_drawPolygon3();
  }
  else if( ISBETWEEN(1,2) && ISQPOLYGON(1) && (ISNUM(2)||ISNIL(2)) )
  {
    QPainter_drawPolygon4();
  }
  else
  {
    hb_errRT_BASE( EG_ARG, 3012, NULL, HB_ERR_FUNCNAME, HB_ERR_ARGS_BASEPARAMS );
  }
}

$prototype=void drawPolyline ( const QPointF * points, int pointCount )

$prototype=void drawPolyline ( const QPoint * points, int pointCount )

$prototype=void drawPolyline ( const QPolygonF & points )
$internalMethod=|void|drawPolyline,drawPolyline3|const QPolygonF &

$prototype=void drawPolyline ( const QPolygon & points )
$internalMethod=|void|drawPolyline,drawPolyline4|const QPolygon &

//[1]void drawPolyline ( const QPointF * points, int pointCount )
//[2]void drawPolyline ( const QPoint * points, int pointCount )
//[3]void drawPolyline ( const QPolygonF & points )
//[4]void drawPolyline ( const QPolygon & points )

HB_FUNC_STATIC( QPAINTER_DRAWPOLYLINE )
{
  if( ISNUMPAR(1) && ISQPOLYGONF(1) )
  {
    QPainter_drawPolyline3();
  }
  else if( ISNUMPAR(1) && ISQPOLYGON(1) )
  {
    QPainter_drawPolyline4();
  }
  else
  {
    hb_errRT_BASE( EG_ARG, 3012, NULL, HB_ERR_FUNCNAME, HB_ERR_ARGS_BASEPARAMS );
  }
}

$prototype=void drawRect ( const QRectF & rectangle )
$internalMethod=|void|drawRect,drawRect1|const QRectF &

$prototype=void drawRect ( const QRect & rectangle )
$internalMethod=|void|drawRect,drawRect2|const QRect &

$prototype=void drawRect ( int x, int y, int width, int height )
$internalMethod=|void|drawRect,drawRect3|int,int,int,int

//[1]void drawRect ( const QRectF & rectangle )
//[2]void drawRect ( const QRect & rectangle )
//[3]void drawRect ( int x, int y, int width, int height )

HB_FUNC_STATIC( QPAINTER_DRAWRECT )
{
  if( ISNUMPAR(1) && ISQRECTF(1) )
  {
    QPainter_drawRect1();
  }
  else if( ISNUMPAR(1) && ISQRECT(1) )
  {
    QPainter_drawRect2();
  }
  else if( ISNUMPAR(4) && ISNUM(1) && ISNUM(2) && ISNUM(3) && ISNUM(4) )
  {
    QPainter_drawRect3();
  }
  else
  {
    hb_errRT_BASE( EG_ARG, 3012, NULL, HB_ERR_FUNCNAME, HB_ERR_ARGS_BASEPARAMS );
  }
}

$prototype=void drawRects ( const QRectF * rectangles, int rectCount )

$prototype=void drawRects ( const QRect * rectangles, int rectCount )

$prototype=void drawRects ( const QVector<QRectF> & rectangles )
$method=|void|drawRects,drawRects3|const QVector<QRectF> &

$prototype=void drawRects ( const QVector<QRect> & rectangles )
$method=|void|drawRects,drawRects4|const QVector<QRect> &

//[1]void drawRects ( const QRectF * rectangles, int rectCount )
//[2]void drawRects ( const QRect * rectangles, int rectCount )
//[3]void drawRects ( const QVector<QRectF> & rectangles )
//[4]void drawRects ( const QVector<QRect> & rectangles )

%% TODO: implementar reconhecimento de parmetros

HB_FUNC_STATIC( QPAINTER_DRAWRECTS )
{
}

$prototype=void drawRoundedRect ( const QRectF & rect, qreal xRadius, qreal yRadius, Qt::SizeMode mode = Qt::AbsoluteSize )
$internalMethod=|void|drawRoundedRect,drawRoundedRect1|const QRectF &,qreal,qreal,Qt::SizeMode=Qt::AbsoluteSize

$prototype=void drawRoundedRect ( const QRect & rect, qreal xRadius, qreal yRadius, Qt::SizeMode mode = Qt::AbsoluteSize )
$internalMethod=|void|drawRoundedRect,drawRoundedRect2|const QRect &,qreal,qreal,Qt::SizeMode=Qt::AbsoluteSize

$prototype=void drawRoundedRect ( int x, int y, int w, int h, qreal xRadius, qreal yRadius, Qt::SizeMode mode = Qt::AbsoluteSize )
{'fraction_non_alphanumeric': 0.12744410687855418, 'fraction_numerical': 0.02056555269922879, 'mean_word_length': 4.928327329823589, 'pattern_counts': {'":': 0, '<': 61, '<?xml version=': 0, '>': 49, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '632917', 'n_tokens_mistral': 25449, 'n_tokens_neox': 24048, 'n_words': 5333}