src/gui/painting/qpainter.h
branchGCC_SURGE
changeset 31 5daf16870df6
parent 30 5dc02b23752f
equal deleted inserted replaced
27:93b982ccede2 31:5daf16870df6
    76 class QPen;
    76 class QPen;
    77 class QPolygon;
    77 class QPolygon;
    78 class QTextItem;
    78 class QTextItem;
    79 class QMatrix;
    79 class QMatrix;
    80 class QTransform;
    80 class QTransform;
       
    81 class QStaticText;
    81 
    82 
    82 class QPainterPrivateDeleter;
    83 class QPainterPrivateDeleter;
    83 
    84 
    84 class Q_GUI_EXPORT QPainter
    85 class Q_GUI_EXPORT QPainter
    85 {
    86 {
    95         HighQualityAntialiasing = 0x08,
    96         HighQualityAntialiasing = 0x08,
    96         NonCosmeticDefaultPen = 0x10
    97         NonCosmeticDefaultPen = 0x10
    97     };
    98     };
    98 
    99 
    99     Q_DECLARE_FLAGS(RenderHints, RenderHint)
   100     Q_DECLARE_FLAGS(RenderHints, RenderHint)
       
   101 
       
   102     class PixmapFragment {
       
   103     public:
       
   104         qreal x;
       
   105         qreal y;
       
   106         qreal sourceLeft;
       
   107         qreal sourceTop;
       
   108         qreal width;
       
   109         qreal height;
       
   110         qreal scaleX;
       
   111         qreal scaleY;
       
   112         qreal rotation;
       
   113         qreal opacity;
       
   114         static PixmapFragment Q_GUI_EXPORT create(const QPointF &pos, const QRectF &sourceRect,
       
   115                                             qreal scaleX = 1, qreal scaleY = 1,
       
   116                                             qreal rotation = 0, qreal opacity = 1);
       
   117     };
       
   118 
       
   119     enum PixmapFragmentHint {
       
   120         OpaqueHint = 0x01
       
   121     };
       
   122 
       
   123     Q_DECLARE_FLAGS(PixmapFragmentHints, PixmapFragmentHint)
   100 
   124 
   101     QPainter();
   125     QPainter();
   102     explicit QPainter(QPaintDevice *);
   126     explicit QPainter(QPaintDevice *);
   103     ~QPainter();
   127     ~QPainter();
   104 
   128 
   348     void drawPixmap(const QPointF &p, const QPixmap &pm);
   372     void drawPixmap(const QPointF &p, const QPixmap &pm);
   349     inline void drawPixmap(const QPoint &p, const QPixmap &pm);
   373     inline void drawPixmap(const QPoint &p, const QPixmap &pm);
   350     inline void drawPixmap(int x, int y, const QPixmap &pm);
   374     inline void drawPixmap(int x, int y, const QPixmap &pm);
   351     inline void drawPixmap(const QRect &r, const QPixmap &pm);
   375     inline void drawPixmap(const QRect &r, const QPixmap &pm);
   352     inline void drawPixmap(int x, int y, int w, int h, const QPixmap &pm);
   376     inline void drawPixmap(int x, int y, int w, int h, const QPixmap &pm);
       
   377 
       
   378     void drawPixmapFragments(const PixmapFragment *fragments, int fragmentCount,
       
   379                              const QPixmap &pixmap, PixmapFragmentHints hints = 0);
   353 
   380 
   354     void drawImage(const QRectF &targetRect, const QImage &image, const QRectF &sourceRect,
   381     void drawImage(const QRectF &targetRect, const QImage &image, const QRectF &sourceRect,
   355                    Qt::ImageConversionFlags flags = Qt::AutoColor);
   382                    Qt::ImageConversionFlags flags = Qt::AutoColor);
   356     inline void drawImage(const QRect &targetRect, const QImage &image, const QRect &sourceRect,
   383     inline void drawImage(const QRect &targetRect, const QImage &image, const QRect &sourceRect,
   357                           Qt::ImageConversionFlags flags = Qt::AutoColor);
   384                           Qt::ImageConversionFlags flags = Qt::AutoColor);
   366     inline void drawImage(int x, int y, const QImage &image, int sx = 0, int sy = 0,
   393     inline void drawImage(int x, int y, const QImage &image, int sx = 0, int sy = 0,
   367                           int sw = -1, int sh = -1, Qt::ImageConversionFlags flags = Qt::AutoColor);
   394                           int sw = -1, int sh = -1, Qt::ImageConversionFlags flags = Qt::AutoColor);
   368 
   395 
   369     void setLayoutDirection(Qt::LayoutDirection direction);
   396     void setLayoutDirection(Qt::LayoutDirection direction);
   370     Qt::LayoutDirection layoutDirection() const;
   397     Qt::LayoutDirection layoutDirection() const;
       
   398 
       
   399     void drawStaticText(const QPointF &topLeftPosition, const QStaticText &staticText);
       
   400     inline void drawStaticText(const QPoint &topLeftPosition, const QStaticText &staticText);
       
   401     inline void drawStaticText(int left, int top, const QStaticText &staticText);
   371 
   402 
   372     void drawText(const QPointF &p, const QString &s);
   403     void drawText(const QPointF &p, const QString &s);
   373     inline void drawText(const QPoint &p, const QString &s);
   404     inline void drawText(const QPoint &p, const QString &s);
   374     inline void drawText(int x, int y, const QString &s);
   405     inline void drawText(int x, int y, const QString &s);
   375 
   406 
   894         drawImage(QPointF(x, y), image);
   925         drawImage(QPointF(x, y), image);
   895     else
   926     else
   896         drawImage(QRectF(x, y, -1, -1), image, QRectF(sx, sy, sw, sh), flags);
   927         drawImage(QRectF(x, y, -1, -1), image, QRectF(sx, sy, sw, sh), flags);
   897 }
   928 }
   898 
   929 
       
   930 inline void QPainter::drawStaticText(const QPoint &p, const QStaticText &staticText)
       
   931 {
       
   932     drawStaticText(QPointF(p), staticText);
       
   933 }
       
   934 
       
   935 inline void QPainter::drawStaticText(int x, int y, const QStaticText &staticText)
       
   936 {
       
   937     drawStaticText(QPointF(x, y), staticText);
       
   938 }
       
   939 
   899 inline void QPainter::drawTextItem(const QPoint &p, const QTextItem &ti)
   940 inline void QPainter::drawTextItem(const QPoint &p, const QTextItem &ti)
   900 {
   941 {
   901     drawTextItem(QPointF(p), ti);
   942     drawTextItem(QPointF(p), ti);
   902 }
   943 }
   903 
   944