summaryrefslogtreecommitdiffstats
path: root/src/gui/painting/qpainter.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/gui/painting/qpainter.h')
-rw-r--r--src/gui/painting/qpainter.h156
1 files changed, 34 insertions, 122 deletions
diff --git a/src/gui/painting/qpainter.h b/src/gui/painting/qpainter.h
index 3394da63c7..7bcacb4bca 100644
--- a/src/gui/painting/qpainter.h
+++ b/src/gui/painting/qpainter.h
@@ -1,41 +1,5 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtGui module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
+// Copyright (C) 2016 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
#ifndef QPAINTER_H
#define QPAINTER_H
@@ -48,12 +12,12 @@
#include <QtGui/qpixmap.h>
#include <QtGui/qimage.h>
#include <QtGui/qtextoption.h>
+#include <memory>
#ifndef QT_INCLUDE_COMPAT
#include <QtGui/qpolygon.h>
#include <QtGui/qpen.h>
#include <QtGui/qbrush.h>
-#include <QtGui/qmatrix.h>
#include <QtGui/qtransform.h>
#include <QtGui/qfontinfo.h>
#include <QtGui/qfontmetrics.h>
@@ -72,7 +36,6 @@ class QPen;
class QPolygon;
class QTextItem;
class QTextEngine;
-class QMatrix;
class QTransform;
class QStaticText;
class QGlyphRun;
@@ -89,14 +52,11 @@ public:
Antialiasing = 0x01,
TextAntialiasing = 0x02,
SmoothPixmapTransform = 0x04,
-#if QT_DEPRECATED_SINCE(5, 14)
- HighQualityAntialiasing Q_DECL_ENUMERATOR_DEPRECATED_X("Use Antialiasing instead") = 0x08,
- NonCosmeticDefaultPen Q_DECL_ENUMERATOR_DEPRECATED_X("Default pen is non-cosmetic now") = 0x10,
-#endif
- Qt4CompatiblePainting = 0x20,
+ VerticalSubpixelPositioning = 0x08,
LosslessImageRendering = 0x40,
+ NonCosmeticBrushPatterns = 0x80
};
- Q_FLAG(RenderHint)
+ Q_ENUM(RenderHint)
Q_DECLARE_FLAGS(RenderHints, RenderHint)
Q_FLAG(RenderHints)
@@ -134,11 +94,6 @@ public:
bool end();
bool isActive() const;
-#if QT_DEPRECATED_SINCE(5, 13)
- QT_DEPRECATED_X("Use begin(QPaintDevice*) instead")
- void initFrom(const QPaintDevice *device);
-#endif
-
enum CompositionMode {
CompositionMode_SourceOver,
CompositionMode_DestinationOver,
@@ -237,35 +192,11 @@ public:
void restore();
// XForm functions
-#if QT_DEPRECATED_SINCE(5, 13)
- QT_DEPRECATED_X("Use setTransform() instead")
- void setMatrix(const QMatrix &matrix, bool combine = false);
- QT_DEPRECATED_X("Use transform() instead")
- const QMatrix &matrix() const;
- QT_DEPRECATED_X("Use deviceTransform() instead")
- const QMatrix &deviceMatrix() const;
- QT_DEPRECATED_X("Use resetTransform() instead")
- void resetMatrix();
-#endif
-
void setTransform(const QTransform &transform, bool combine = false);
const QTransform &transform() const;
const QTransform &deviceTransform() const;
void resetTransform();
-#if QT_DEPRECATED_SINCE(5, 13)
- QT_DEPRECATED_X("Use setWorldTransform() instead")
- void setWorldMatrix(const QMatrix &matrix, bool combine = false);
- QT_DEPRECATED_X("Use worldTransform() instead")
- const QMatrix &worldMatrix() const;
- QT_DEPRECATED_X("Use combinedTransform() instead")
- QMatrix combinedMatrix() const;
- QT_DEPRECATED_X("Use setWorldMatrixEnabled() instead")
- void setMatrixEnabled(bool enabled);
- QT_DEPRECATED_X("Use worldMatrixEnabled() instead")
- bool matrixEnabled() const;
-#endif
-
void setWorldTransform(const QTransform &matrix, bool combine = false);
const QTransform &worldTransform() const;
@@ -314,22 +245,22 @@ public:
inline void drawLine(const QPointF &p1, const QPointF &p2);
void drawLines(const QLineF *lines, int lineCount);
- inline void drawLines(const QVector<QLineF> &lines);
+ inline void drawLines(const QList<QLineF> &lines);
void drawLines(const QPointF *pointPairs, int lineCount);
- inline void drawLines(const QVector<QPointF> &pointPairs);
+ inline void drawLines(const QList<QPointF> &pointPairs);
void drawLines(const QLine *lines, int lineCount);
- inline void drawLines(const QVector<QLine> &lines);
+ inline void drawLines(const QList<QLine> &lines);
void drawLines(const QPoint *pointPairs, int lineCount);
- inline void drawLines(const QVector<QPoint> &pointPairs);
+ inline void drawLines(const QList<QPoint> &pointPairs);
inline void drawRect(const QRectF &rect);
inline void drawRect(int x1, int y1, int w, int h);
inline void drawRect(const QRect &rect);
void drawRects(const QRectF *rects, int rectCount);
- inline void drawRects(const QVector<QRectF> &rectangles);
+ inline void drawRects(const QList<QRectF> &rectangles);
void drawRects(const QRect *rects, int rectCount);
- inline void drawRects(const QVector<QRect> &rectangles);
+ inline void drawRects(const QList<QRect> &rectangles);
void drawEllipse(const QRectF &r);
void drawEllipse(const QRect &r);
@@ -372,15 +303,6 @@ public:
inline void drawRoundedRect(const QRect &rect, qreal xRadius, qreal yRadius,
Qt::SizeMode mode = Qt::AbsoluteSize);
-#if QT_DEPRECATED_SINCE(5, 13)
- QT_DEPRECATED_X("Use drawRoundedRect(..., Qt::RelativeSize) instead")
- void drawRoundRect(const QRectF &r, int xround = 25, int yround = 25);
- QT_DEPRECATED_X("Use drawRoundedRect(..., Qt::RelativeSize) instead")
- void drawRoundRect(int x, int y, int w, int h, int = 25, int = 25);
- QT_DEPRECATED_X("Use drawRoundedRect(..., Qt::RelativeSize) instead")
- void drawRoundRect(const QRect &r, int xround = 25, int yround = 25);
-#endif
-
void drawTiledPixmap(const QRectF &rect, const QPixmap &pm, const QPointF &offset = QPointF());
inline void drawTiledPixmap(int x, int y, int w, int h, const QPixmap &, int sx=0, int sy=0);
inline void drawTiledPixmap(const QRect &, const QPixmap &, const QPoint & = QPoint());
@@ -482,27 +404,17 @@ public:
void setRenderHint(RenderHint hint, bool on = true);
void setRenderHints(RenderHints hints, bool on = true);
RenderHints renderHints() const;
- inline bool testRenderHint(RenderHint hint) const { return renderHints() & hint; }
+ inline bool testRenderHint(RenderHint hint) const { return bool(renderHints() & hint); }
QPaintEngine *paintEngine() const;
-#if QT_DEPRECATED_SINCE(5, 13)
- QT_DEPRECATED_X("Use QWidget::render() instead")
- static void setRedirected(const QPaintDevice *device, QPaintDevice *replacement,
- const QPoint& offset = QPoint());
- QT_DEPRECATED_X("Use QWidget::render() instead")
- static QPaintDevice *redirected(const QPaintDevice *device, QPoint *offset = nullptr);
- QT_DEPRECATED_X("Use QWidget::render() instead")
- static void restoreRedirected(const QPaintDevice *device);
-#endif
-
void beginNativePainting();
void endNativePainting();
private:
Q_DISABLE_COPY(QPainter)
- QScopedPointer<QPainterPrivate> d_ptr;
+ std::unique_ptr<QPainterPrivate> d_ptr;
friend class QWidget;
friend class QFontEngine;
@@ -554,54 +466,54 @@ inline void QPainter::drawLine(const QPointF &p1, const QPointF &p2)
drawLine(QLineF(p1, p2));
}
-inline void QPainter::drawLines(const QVector<QLineF> &lines)
+inline void QPainter::drawLines(const QList<QLineF> &lines)
{
- drawLines(lines.constData(), lines.size());
+ drawLines(lines.constData(), int(lines.size()));
}
-inline void QPainter::drawLines(const QVector<QLine> &lines)
+inline void QPainter::drawLines(const QList<QLine> &lines)
{
- drawLines(lines.constData(), lines.size());
+ drawLines(lines.constData(), int(lines.size()));
}
-inline void QPainter::drawLines(const QVector<QPointF> &pointPairs)
+inline void QPainter::drawLines(const QList<QPointF> &pointPairs)
{
- drawLines(pointPairs.constData(), pointPairs.size() / 2);
+ drawLines(pointPairs.constData(), int(pointPairs.size() / 2));
}
-inline void QPainter::drawLines(const QVector<QPoint> &pointPairs)
+inline void QPainter::drawLines(const QList<QPoint> &pointPairs)
{
- drawLines(pointPairs.constData(), pointPairs.size() / 2);
+ drawLines(pointPairs.constData(), int(pointPairs.size() / 2));
}
inline void QPainter::drawPolyline(const QPolygonF &polyline)
{
- drawPolyline(polyline.constData(), polyline.size());
+ drawPolyline(polyline.constData(), int(polyline.size()));
}
inline void QPainter::drawPolyline(const QPolygon &polyline)
{
- drawPolyline(polyline.constData(), polyline.size());
+ drawPolyline(polyline.constData(), int(polyline.size()));
}
inline void QPainter::drawPolygon(const QPolygonF &polygon, Qt::FillRule fillRule)
{
- drawPolygon(polygon.constData(), polygon.size(), fillRule);
+ drawPolygon(polygon.constData(), int(polygon.size()), fillRule);
}
inline void QPainter::drawPolygon(const QPolygon &polygon, Qt::FillRule fillRule)
{
- drawPolygon(polygon.constData(), polygon.size(), fillRule);
+ drawPolygon(polygon.constData(), int(polygon.size()), fillRule);
}
inline void QPainter::drawConvexPolygon(const QPolygonF &poly)
{
- drawConvexPolygon(poly.constData(), poly.size());
+ drawConvexPolygon(poly.constData(), int(poly.size()));
}
inline void QPainter::drawConvexPolygon(const QPolygon &poly)
{
- drawConvexPolygon(poly.constData(), poly.size());
+ drawConvexPolygon(poly.constData(), int(poly.size()));
}
inline void QPainter::drawRect(const QRectF &rect)
@@ -620,14 +532,14 @@ inline void QPainter::drawRect(const QRect &r)
drawRects(&r, 1);
}
-inline void QPainter::drawRects(const QVector<QRectF> &rects)
+inline void QPainter::drawRects(const QList<QRectF> &rects)
{
- drawRects(rects.constData(), rects.size());
+ drawRects(rects.constData(), int(rects.size()));
}
-inline void QPainter::drawRects(const QVector<QRect> &rects)
+inline void QPainter::drawRects(const QList<QRect> &rects)
{
- drawRects(rects.constData(), rects.size());
+ drawRects(rects.constData(), int(rects.size()));
}
inline void QPainter::drawPoint(const QPointF &p)
@@ -648,12 +560,12 @@ inline void QPainter::drawPoint(const QPoint &p)
inline void QPainter::drawPoints(const QPolygonF &points)
{
- drawPoints(points.constData(), points.size());
+ drawPoints(points.constData(), int(points.size()));
}
inline void QPainter::drawPoints(const QPolygon &points)
{
- drawPoints(points.constData(), points.size());
+ drawPoints(points.constData(), int(points.size()));
}
inline void QPainter::drawRoundedRect(int x, int y, int w, int h, qreal xRadius, qreal yRadius,