diff options
author | Paul Wicking <paul.wicking@qt.io> | 2020-08-26 14:15:26 +0200 |
---|---|---|
committer | Paul Wicking <paul.wicking@qt.io> | 2020-08-28 12:32:22 +0200 |
commit | 4853cff109d51661b088269c4be3210846f396e4 (patch) | |
tree | 8c6562a66d68fe8e2eb7c3fe232cfbf5d6ae1d9e /src/gui/doc/snippets/code/src_gui_painting_qpainter.cpp | |
parent | 176e7d4d8c634972c201b2d01a87536e182c1793 (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.cpp | 133 |
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 |