summaryrefslogtreecommitdiffstats
path: root/src/gui/doc/snippets/code/src_gui_painting_qpainter.cpp
diff options
context:
space:
mode:
authorPaul Wicking <paul.wicking@qt.io>2020-08-26 14:15:26 +0200
committerPaul Wicking <paul.wicking@qt.io>2020-08-28 12:32:22 +0200
commit4853cff109d51661b088269c4be3210846f396e4 (patch)
tree8c6562a66d68fe8e2eb7c3fe232cfbf5d6ae1d9e /src/gui/doc/snippets/code/src_gui_painting_qpainter.cpp
parent176e7d4d8c634972c201b2d01a87536e182c1793 (diff)
Doc: Compile painting snippets
Fix minor issues (e.g. whitespace, missing semi-colon) in passing. Change-Id: I223cb257539d2ac4cb0a1ea209f0c3cebddb3d54 Done-with: Nico Vertriest <nico.vertriest@qt.io> Task-number: QTBUG-81486 Reviewed-by: Topi Reiniƶ <topi.reinio@qt.io>
Diffstat (limited to 'src/gui/doc/snippets/code/src_gui_painting_qpainter.cpp')
-rw-r--r--src/gui/doc/snippets/code/src_gui_painting_qpainter.cpp133
1 files changed, 129 insertions, 4 deletions
diff --git a/src/gui/doc/snippets/code/src_gui_painting_qpainter.cpp b/src/gui/doc/snippets/code/src_gui_painting_qpainter.cpp
index d1ee6bbdea..3a72c2aed8 100644
--- a/src/gui/doc/snippets/code/src_gui_painting_qpainter.cpp
+++ b/src/gui/doc/snippets/code/src_gui_painting_qpainter.cpp
@@ -47,6 +47,26 @@
** $QT_END_LICENSE$
**
****************************************************************************/
+#include <QOpenGLFunctions>
+#include <QPaintEvent>
+#include <QPainter>
+#include <QPainterPath>
+#include <QPicture>
+#include <QRectF>
+#include <QWidget>
+
+
+namespace src_gui_painting_qpainter {
+struct SimpleExampleWidget : public QPaintDevice {
+ void paintEvent(QPaintEvent *);
+ QRect rect();
+};
+struct MyWidget : public QWidget
+{
+ void paintEvent(QPaintEvent *);
+};
+QLine drawingCode;
+
//! [0]
void SimpleExampleWidget::paintEvent(QPaintEvent *)
@@ -64,21 +84,48 @@ void MyWidget::paintEvent(QPaintEvent *)
{
QPainter p;
p.begin(this);
- p.drawLine(...); // drawing code
+ p.drawLine(drawingCode); // drawing code
p.end();
}
//! [1]
+} // src_gui_painting_qpainter
+namespace src_gui_painting_qpainter2 {
+struct MyWidget : public QWidget
+{
+ void paintEvent(QPaintEvent *);
+ int background() { return 0; }
+ void wrapper1();
+ void wrapper2();
+ void wrapper3();
+ void wrapper4();
+ void wrapper5();
+ void wrapper6();
+ void wrapper7();
+ void wrapper8();
+ void wrapper9();
+ void wrapper10();
+ void wrapper11();
+ void wrapper12();
+ void wrapper13();
+ void wrapper14();
+ void wrapper15();
+};
+QLine drawingCode;
//! [2]
void MyWidget::paintEvent(QPaintEvent *)
{
QPainter p(this);
- p.drawLine(...); // drawing code
+ p.drawLine(drawingCode); // drawing code
}
//! [2]
+void wrapper0() {
+QPainter *painter = nullptr;
+QPainter *painter2 = nullptr;
+QPaintDevice *myWidget = nullptr;
//! [3]
painter->begin(0); // impossible - paint device cannot be 0
@@ -89,6 +136,13 @@ painter->begin(myWidget);
painter2->begin(myWidget); // impossible - only one painter at a time
//! [3]
+} // wrapper0
+
+namespace QPainterWrapper {
+struct QPainter {
+ void rotate(qreal angle);
+ void setWorldTransform(QTransform matrix, bool);
+};
//! [4]
void QPainter::rotate(qreal angle)
@@ -99,7 +153,9 @@ void QPainter::rotate(qreal angle)
}
//! [4]
+} // QPainterWrapper
+void MyWidget::wrapper1() {
//! [5]
QPainterPath path;
path.moveTo(20, 80);
@@ -117,8 +173,11 @@ QLineF line(10.0, 80.0, 90.0, 20.0);
QPainter(this);
painter.drawLine(line);
//! [6]
+} // MyWidget::wrapper1()
+void MyWidget::wrapper2() {
+
//! [7]
QRectF rectangle(10.0, 20.0, 80.0, 60.0);
@@ -126,6 +185,10 @@ QPainter painter(this);
painter.drawRect(rectangle);
//! [7]
+} // MyWidget::wrapper2
+
+
+void MyWidget::wrapper3() {
//! [8]
QRectF rectangle(10.0, 20.0, 80.0, 60.0);
@@ -134,6 +197,10 @@ QPainter painter(this);
painter.drawRoundedRect(rectangle, 20.0, 15.0);
//! [8]
+} // MyWidget::wrapper3
+
+
+void MyWidget::wrapper4() {
//! [9]
QRectF rectangle(10.0, 20.0, 80.0, 60.0);
@@ -142,6 +209,10 @@ QPainter painter(this);
painter.drawEllipse(rectangle);
//! [9]
+} // MyWidget::wrapper4
+
+
+void MyWidget::wrapper5() {
//! [10]
QRectF rectangle(10.0, 20.0, 80.0, 60.0);
@@ -152,6 +223,10 @@ QPainter painter(this);
painter.drawArc(rectangle, startAngle, spanAngle);
//! [10]
+} // MyWidget::wrapper5
+
+
+void MyWidget::wrapper6() {
//! [11]
QRectF rectangle(10.0, 20.0, 80.0, 60.0);
@@ -162,6 +237,11 @@ QPainter painter(this);
painter.drawPie(rectangle, startAngle, spanAngle);
//! [11]
+} // MyWidget::wrapper6
+
+
+void MyWidget::wrapper7() {
+QRect rect;
//! [12]
QRectF rectangle(10.0, 20.0, 80.0, 60.0);
@@ -171,8 +251,12 @@ int spanAngle = 120 * 16;
QPainter painter(this);
painter.drawChord(rect, startAngle, spanAngle);
//! [12]
+Q_UNUSED(rectangle);
+} // MyWidget::wrapper7
+void MyWidget::wrapper8() {
+
//! [13]
static const QPointF points[3] = {
QPointF(10.0, 80.0),
@@ -184,7 +268,10 @@ QPainter painter(this);
painter.drawPolyline(points, 3);
//! [13]
+} // MyWidget::wrapper8
+
+void MyWidget::wrapper9() {
//! [14]
static const QPointF points[4] = {
QPointF(10.0, 80.0),
@@ -197,6 +284,10 @@ QPainter painter(this);
painter.drawPolygon(points, 4);
//! [14]
+} // MyWidget::wrapper9
+
+
+void MyWidget::wrapper10() {
//! [15]
static const QPointF points[4] = {
@@ -220,27 +311,48 @@ QPainter(this);
painter.drawPixmap(target, pixmap, source);
//! [16]
+} // MyWidget::wrapper10
+
+
+void MyWidget::wrapper11() {
+QRect rect;
//! [17]
QPainter painter(this);
painter.drawText(rect, Qt::AlignCenter, tr("Qt\nProject"));
//! [17]
+} // MyWidget::wrapper11
+
+
+QRectF fillRect(QRect rect, int background) {
+ Q_UNUSED(rect);
+ Q_UNUSED(background);
+ return QRectF();
+};
+void MyWidget::wrapper12() {
+QRect rectangle;
//! [18]
QPicture picture;
-QPointF point(10.0, 20.0)
+QPointF point(10.0, 20.0);
picture.load("drawing.pic");
QPainter painter(this);
painter.drawPicture(0, 0, picture);
//! [18]
+Q_UNUSED(point);
+
//! [19]
-fillRect(rectangle, background()).
+fillRect(rectangle, background());
//! [19]
+} // MyWidget::wrapper12
+
+
+void MyWidget::wrapper13() {
//! [20]
QRectF target(10.0, 20.0, 80.0, 60.0);
@@ -251,6 +363,10 @@ QPainter painter(this);
painter.drawImage(target, image, source);
//! [20]
+} // MyWidget::wrapper13
+
+
+void MyWidget::wrapper14() {
//! [21]
QPainter painter(this);
@@ -268,6 +384,11 @@ glDisable(GL_SCISSOR_TEST);
painter.endNativePainting();
//! [21]
+} // MyWidget::wrapper14
+
+
+void MyWidget::wrapper15() {
+
//! [drawText]
QPainter painter(this);
QFont font = painter.font();
@@ -287,3 +408,7 @@ pen.setStyle(Qt::DashLine);
painter.setPen(pen);
painter.drawRect(rectangle.adjusted(0, 0, -pen.width(), -pen.width()));
//! [drawText]
+
+
+} // MyWidget::wrapper15
+} // src_gui_painting_qpainter2