diff options
author | Laszlo Agocs <[email protected]> | 2024-01-09 12:19:39 +0100 |
---|---|---|
committer | Laszlo Agocs <[email protected]> | 2024-01-18 12:48:03 +0100 |
commit | acebb97b58807d1d5910c79209664b21e741a9c5 (patch) | |
tree | a5be5d34e4fba40da59a22824397c4e1e4cc807a | |
parent | 0e8086887a2c931dc687b3c344ab5004749fa3eb (diff) |
Update QRhiWidget API based on review comments
Spell out some API names in enum.
Some functions are now protected.
Remove property for autoRenderTarget.
textureFormat -> colorBufferFormat.
Used "fixed" instead of "explicit" and follow
the above naming, so that explicitSize becomes
fixedColorBufferSize.
Pick-to: 6.7
Change-Id: I2fd6ad46033313a3febbb8846146021d5dd11010
Reviewed-by: Volker Hilsheimer <[email protected]>
-rw-r--r-- | examples/widgets/rhi/cuberhiwidget/main.cpp | 54 | ||||
-rw-r--r-- | src/widgets/kernel/qrhiwidget.cpp | 88 | ||||
-rw-r--r-- | src/widgets/kernel/qrhiwidget.h | 40 | ||||
-rw-r--r-- | src/widgets/kernel/qrhiwidget_p.h | 2 | ||||
-rw-r--r-- | tests/auto/widgets/widgets/qrhiwidget/tst_qrhiwidget.cpp | 30 |
5 files changed, 111 insertions, 103 deletions
diff --git a/examples/widgets/rhi/cuberhiwidget/main.cpp b/examples/widgets/rhi/cuberhiwidget/main.cpp index b65342bc96b..95a29feee59 100644 --- a/examples/widgets/rhi/cuberhiwidget/main.cpp +++ b/examples/widgets/rhi/cuberhiwidget/main.cpp @@ -24,8 +24,8 @@ int main(int argc, char **argv) ExampleRhiWidget *rhiWidget = new ExampleRhiWidget; QLabel *overlayLabel = new QLabel(rhiWidget); - overlayLabel->setText(QLatin1String("This is a\nsemi-transparent\n overlay widget\n" - "placed on top of\nthe QRhiWidget.")); + overlayLabel->setText(QObject::tr("This is a\nsemi-transparent\n overlay widget\n" + "placed on top of\nthe QRhiWidget.")); overlayLabel->setAlignment(Qt::AlignHCenter | Qt::AlignVCenter); overlayLabel->setAutoFillBackground(true); QPalette semiTransparent(QColor(255, 0, 0, 64)); @@ -44,9 +44,9 @@ int main(int argc, char **argv) overlayLabel->setGeometry(rhiWidget->width() / 2 - w / 2, rhiWidget->height() / 2 - h / 2, w, h); }); - QTextEdit *edit = new QTextEdit(QLatin1String("QRhiWidget!<br><br>" - "The cube is textured with QPainter-generated content.<br><br>" - "Regular, non-native widgets on top work just fine.")); + QTextEdit *edit = new QTextEdit(QObject::tr("QRhiWidget!<br><br>" + "The cube is textured with QPainter-generated content.<br><br>" + "Regular, non-native widgets on top work just fine.")); QObject::connect(edit, &QTextEdit::textChanged, edit, [edit, rhiWidget] { rhiWidget->setCubeTextureText(edit->toPlainText()); }); @@ -61,7 +61,7 @@ int main(int argc, char **argv) }); QHBoxLayout *sliderLayout = new QHBoxLayout; - sliderLayout->addWidget(new QLabel(QLatin1String("Cube rotation"))); + sliderLayout->addWidget(new QLabel(QObject::tr("Cube rotation"))); sliderLayout->addWidget(slider); layout->addLayout(sliderLayout); @@ -70,25 +70,25 @@ int main(int argc, char **argv) QLabel *apiLabel = new QLabel; btnLayout->addWidget(apiLabel); QObject::connect(rhiWidget, &ExampleRhiWidget::rhiChanged, rhiWidget, [apiLabel](const QString &apiName) { - apiLabel->setText(QLatin1String("Using QRhi on ") + apiName); + apiLabel->setText(QObject::tr("Using QRhi on ") + apiName); }); - QPushButton *btnMakeWindow = new QPushButton(QLatin1String("Make top-level window")); + QPushButton *btnMakeWindow = new QPushButton(QObject::tr("Make top-level window")); QObject::connect(btnMakeWindow, &QPushButton::clicked, btnMakeWindow, [rhiWidget, btnMakeWindow, layout] { if (rhiWidget->parentWidget()) { rhiWidget->setParent(nullptr); rhiWidget->setAttribute(Qt::WA_DeleteOnClose, true); rhiWidget->show(); - btnMakeWindow->setText(QLatin1String("Make child widget")); + btnMakeWindow->setText(QObject::tr("Make child widget")); } else { rhiWidget->setAttribute(Qt::WA_DeleteOnClose, false); layout->addWidget(rhiWidget); - btnMakeWindow->setText(QLatin1String("Make top-level window")); + btnMakeWindow->setText(QObject::tr("Make top-level window")); } }); btnLayout->addWidget(btnMakeWindow); - QPushButton *btn = new QPushButton(QLatin1String("Grab to image")); + QPushButton *btn = new QPushButton(QObject::tr("Grab to image")); QObject::connect(btn, &QPushButton::clicked, btn, [rhiWidget] { QImage image = rhiWidget->grabFramebuffer(); qDebug() << "Got image" << image; @@ -103,7 +103,7 @@ int main(int argc, char **argv) }); btnLayout->addWidget(btn); - QCheckBox *cbMsaa = new QCheckBox(QLatin1String("Use 4x MSAA")); + QCheckBox *cbMsaa = new QCheckBox(QObject::tr("Use 4x MSAA")); QObject::connect(cbMsaa, &QCheckBox::stateChanged, cbMsaa, [cbMsaa, rhiWidget] { if (cbMsaa->isChecked()) rhiWidget->setSampleCount(4); @@ -112,7 +112,7 @@ int main(int argc, char **argv) }); btnLayout->addWidget(cbMsaa); - QCheckBox *cbOvberlay = new QCheckBox(QLatin1String("Show overlay widget")); + QCheckBox *cbOvberlay = new QCheckBox(QObject::tr("Show overlay widget")); QObject::connect(cbOvberlay, &QCheckBox::stateChanged, cbOvberlay, [cbOvberlay, overlayLabel] { if (cbOvberlay->isChecked()) overlayLabel->setVisible(true); @@ -121,28 +121,28 @@ int main(int argc, char **argv) }); btnLayout->addWidget(cbOvberlay); - QCheckBox *cbFlip = new QCheckBox(QLatin1String("Flip")); + QCheckBox *cbFlip = new QCheckBox(QObject::tr("Flip")); QObject::connect(cbFlip, &QCheckBox::stateChanged, cbOvberlay, [cbFlip, rhiWidget] { rhiWidget->setMirrorVertically(cbFlip->isChecked()); }); btnLayout->addWidget(cbFlip); - QCheckBox *cbExplicitSize = new QCheckBox(QLatin1String("Use explicit size")); - btnLayout->addWidget(cbExplicitSize); - QSlider *explicitSizeSlider = new QSlider(Qt::Horizontal); - explicitSizeSlider->setMinimum(16); - explicitSizeSlider->setMaximum(512); - btnLayout->addWidget(explicitSizeSlider); + QCheckBox *cbFixedSize = new QCheckBox(QObject::tr("Use fixed color buffer size")); + btnLayout->addWidget(cbFixedSize); + QSlider *fixedSizeSlider = new QSlider(Qt::Horizontal); + fixedSizeSlider->setMinimum(16); + fixedSizeSlider->setMaximum(512); + btnLayout->addWidget(fixedSizeSlider); - QObject::connect(cbExplicitSize, &QCheckBox::stateChanged, cbExplicitSize, [cbExplicitSize, explicitSizeSlider, rhiWidget] { - if (cbExplicitSize->isChecked()) - rhiWidget->setExplicitSize(QSize(explicitSizeSlider->value(), explicitSizeSlider->value())); + QObject::connect(cbFixedSize, &QCheckBox::stateChanged, cbFixedSize, [cbFixedSize, fixedSizeSlider, rhiWidget] { + if (cbFixedSize->isChecked()) + rhiWidget->setFixedColorBufferSize(QSize(fixedSizeSlider->value(), fixedSizeSlider->value())); else - rhiWidget->setExplicitSize(QSize()); + rhiWidget->setFixedColorBufferSize(QSize()); }); - QObject::connect(explicitSizeSlider, &QSlider::valueChanged, explicitSizeSlider, [explicitSizeSlider, cbExplicitSize, rhiWidget] { - if (cbExplicitSize->isChecked()) - rhiWidget->setExplicitSize(QSize(explicitSizeSlider->value(), explicitSizeSlider->value())); + QObject::connect(fixedSizeSlider, &QSlider::valueChanged, fixedSizeSlider, [fixedSizeSlider, cbFixedSize, rhiWidget] { + if (cbFixedSize->isChecked()) + rhiWidget->setFixedColorBufferSize(QSize(fixedSizeSlider->value(), fixedSizeSlider->value())); }); // Exit when the detached window is closed; there is not much we can do diff --git a/src/widgets/kernel/qrhiwidget.cpp b/src/widgets/kernel/qrhiwidget.cpp index 08d4af63e99..dbb1cec5520 100644 --- a/src/widgets/kernel/qrhiwidget.cpp +++ b/src/widgets/kernel/qrhiwidget.cpp @@ -32,8 +32,8 @@ QT_BEGIN_NAMESPACE reimplement the virtual functions initialize() and render(). The size of the texture will by default adapt to the size of the widget. If - a fixed size is preferred, set an explicit size specified in pixels by - calling setExplicitSize(). + a fixed size is preferred, set a fixed size specified in pixels by calling + setFixedColorBufferSize(). In addition to the texture serving as the color buffer, a depth/stencil buffer and a render target binding these together is maintained implicitly @@ -148,8 +148,8 @@ QT_BEGIN_NAMESPACE \value OpenGL \value Metal \value Vulkan - \value D3D11 - \value D3D12 + \value Direct3D11 + \value Direct3D12 \value Null \sa QRhi @@ -528,7 +528,7 @@ void QRhiWidgetPrivate::ensureTexture(bool *changed) { Q_Q(QRhiWidget); - QSize newSize = explicitSize; + QSize newSize = fixedSize; if (newSize.isEmpty()) newSize = q->size() * q->devicePixelRatio(); @@ -702,12 +702,13 @@ QRhiWidget::Api QRhiWidget::api() const case QPlatformBackingStoreRhiConfig::Vulkan: return Api::Vulkan; case QPlatformBackingStoreRhiConfig::D3D11: - return Api::D3D11; + return Api::Direct3D11; case QPlatformBackingStoreRhiConfig::D3D12: - return Api::D3D12; - default: + return Api::Direct3D12; + case QPlatformBackingStoreRhiConfig::Null: return Api::Null; } + Q_UNREACHABLE_RETURN(Api::Null); } /*! @@ -726,7 +727,7 @@ QRhiWidget::Api QRhiWidget::api() const backend to render. Attempting to set another value, or to add another QRhiWidget with a different \a api will not function as expected. - \sa setTextureFormat(), setDebugLayer(), api() + \sa setColorBufferFormat(), setDebugLayer(), api() */ void QRhiWidget::setApi(Api api) { @@ -741,10 +742,10 @@ void QRhiWidget::setApi(Api api) case Api::Vulkan: d->config.setApi(QPlatformBackingStoreRhiConfig::Vulkan); break; - case Api::D3D11: + case Api::Direct3D11: d->config.setApi(QPlatformBackingStoreRhiConfig::D3D11); break; - case Api::D3D12: + case Api::Direct3D12: d->config.setApi(QPlatformBackingStoreRhiConfig::D3D12); break; case Api::Null: @@ -787,13 +788,13 @@ void QRhiWidget::setDebugLayer(bool enable) } /*! - \property QRhiWidget::textureFormat + \property QRhiWidget::colorBufferFormat - This property controls the texture format for the texture used as the color - buffer. The default value is TextureFormat::RGBA8. QRhiWidget supports - rendering to a subset of the formats supported by \l QRhiTexture. Only - formats that are reported as supported from - \l QRhi::isTextureFormatSupported() should be specified, rendering will not be + This property controls the texture format of the texture (or renderbuffer) + used as the color buffer. The default value is TextureFormat::RGBA8. + QRhiWidget supports rendering to a subset of the formats supported by \l + QRhiTexture. Only formats that are reported as supported from \l + QRhi::isTextureFormatSupported() should be specified, rendering will not be functional otherwise. \note Setting a new format when the widget is already initialized and has @@ -805,13 +806,13 @@ void QRhiWidget::setDebugLayer(bool enable) creating new ones. */ -QRhiWidget::TextureFormat QRhiWidget::textureFormat() const +QRhiWidget::TextureFormat QRhiWidget::colorBufferFormat() const { Q_D(const QRhiWidget); return d->widgetTextureFormat; } -void QRhiWidget::setTextureFormat(TextureFormat format) +void QRhiWidget::setColorBufferFormat(TextureFormat format) { Q_D(QRhiWidget); if (d->widgetTextureFormat != format) { @@ -830,7 +831,7 @@ void QRhiWidget::setTextureFormat(TextureFormat format) d->rhiTextureFormat = QRhiTexture::RGB10A2; break; } - emit textureFormatChanged(format); + emit colorBufferFormatChanged(format); update(); } } @@ -884,7 +885,7 @@ void QRhiWidget::setSampleCount(int samples) } /*! - \property QRhiWidget::explicitSize + \property QRhiWidget::fixedColorBufferSize The fixed size, in pixels, of the QRhiWidget's associated texture. Relevant when a fixed texture size is desired that does not depend on the widget's @@ -902,18 +903,18 @@ void QRhiWidget::setSampleCount(int samples) size} * \c{device pixel ratio}). */ -QSize QRhiWidget::explicitSize() const +QSize QRhiWidget::fixedColorBufferSize() const { Q_D(const QRhiWidget); - return d->explicitSize; + return d->fixedSize; } -void QRhiWidget::setExplicitSize(const QSize &pixelSize) +void QRhiWidget::setFixedColorBufferSize(QSize pixelSize) { Q_D(QRhiWidget); - if (d->explicitSize != pixelSize) { - d->explicitSize = pixelSize; - emit explicitSizeChanged(pixelSize); + if (d->fixedSize != pixelSize) { + d->fixedSize = pixelSize; + emit fixedColorBufferSizeChanged(pixelSize); update(); } } @@ -945,31 +946,38 @@ void QRhiWidget::setMirrorVertically(bool enabled) } /*! - \property QRhiWidget::autoRenderTarget + \return the current setting for automatic depth-stencil buffer and render + target maintenance. - This property controls if a depth-stencil QRhiRenderBuffer and a - QRhiTextureRenderTarget is created and maintained automatically by the - widget. The default value is \c true. + By default the value is \c true. - In automatic mode, the size and sample count of the depth-stencil buffer - follows the color buffer texture's settings. In non-automatic mode, - renderTarget() and depthStencilBuffer() always return \nullptr and it is - then up to the application's implementation of initialize() to take care of - setting up and managing these objects. + \sa setAutoRenderTarget() */ - bool QRhiWidget::isAutoRenderTargetEnabled() const { Q_D(const QRhiWidget); return d->autoRenderTarget; } +/*! + Controls if a depth-stencil QRhiRenderBuffer and a QRhiTextureRenderTarget + is created and maintained automatically by the widget. The default value is + \c true. + + In automatic mode, the size and sample count of the depth-stencil buffer + follows the color buffer texture's settings. In non-automatic mode, + renderTarget() and depthStencilBuffer() always return \nullptr and it is + then up to the application's implementation of initialize() to take care of + setting up and managing these objects. + + Call this function with \a enabled set to \c false early on, for example in + the derived class' constructor, to disable the automatic mode. + */ void QRhiWidget::setAutoRenderTarget(bool enabled) { Q_D(QRhiWidget); if (d->autoRenderTarget != enabled) { d->autoRenderTarget = enabled; - emit autoRenderTargetChanged(enabled); update(); } } @@ -982,7 +990,7 @@ void QRhiWidget::setAutoRenderTarget(bool enabled) The returned QImage will have a format of QImage::Format_RGBA8888, QImage::Format_RGBA16FPx4, QImage::Format_RGBA32FPx4, or - QImage::Format_BGR30 depending on textureFormat(). + QImage::Format_BGR30, depending on colorBufferFormat(). QRhiWidget does not know the renderer's approach to blending and composition, and therefore cannot know if the output has alpha @@ -1004,7 +1012,7 @@ void QRhiWidget::setAutoRenderTarget(bool enabled) go through the rest of QWidget infrastructure but can right away trigger rendering a new frame and then do the readback. - \sa setTextureFormat() + \sa setColorBufferFormat() */ QImage QRhiWidget::grabFramebuffer() const { diff --git a/src/widgets/kernel/qrhiwidget.h b/src/widgets/kernel/qrhiwidget.h index 6d32020c144..de2e8d2b1e0 100644 --- a/src/widgets/kernel/qrhiwidget.h +++ b/src/widgets/kernel/qrhiwidget.h @@ -20,9 +20,8 @@ class Q_WIDGETS_EXPORT QRhiWidget : public QWidget Q_OBJECT Q_DECLARE_PRIVATE(QRhiWidget) Q_PROPERTY(int sampleCount READ sampleCount WRITE setSampleCount NOTIFY sampleCountChanged) - Q_PROPERTY(TextureFormat textureFormat READ textureFormat WRITE setTextureFormat NOTIFY textureFormatChanged) - Q_PROPERTY(bool autoRenderTarget READ isAutoRenderTargetEnabled WRITE setAutoRenderTarget NOTIFY autoRenderTargetChanged) - Q_PROPERTY(QSize explicitSize READ explicitSize WRITE setExplicitSize NOTIFY explicitSizeChanged) + Q_PROPERTY(TextureFormat colorBufferFormat READ colorBufferFormat WRITE setColorBufferFormat NOTIFY colorBufferFormatChanged) + Q_PROPERTY(QSize fixedColorBufferSize READ fixedColorBufferSize WRITE setFixedColorBufferSize NOTIFY fixedColorBufferSizeChanged) Q_PROPERTY(bool mirrorVertically READ isMirrorVerticallyEnabled WRITE setMirrorVertically NOTIFY mirrorVerticallyChanged) public: @@ -33,8 +32,8 @@ public: OpenGL, Metal, Vulkan, - D3D11, - D3D12, + Direct3D11, + Direct3D12, Null }; Q_ENUM(Api) @@ -56,21 +55,22 @@ public: int sampleCount() const; void setSampleCount(int samples); - TextureFormat textureFormat() const; - void setTextureFormat(TextureFormat format); + TextureFormat colorBufferFormat() const; + void setColorBufferFormat(TextureFormat format); - QSize explicitSize() const; - void setExplicitSize(const QSize &pixelSize); - void setExplicitSize(int w, int h) { setExplicitSize(QSize(w, h)); } - - bool isAutoRenderTargetEnabled() const; - void setAutoRenderTarget(bool enabled); + QSize fixedColorBufferSize() const; + void setFixedColorBufferSize(QSize pixelSize); + void setFixedColorBufferSize(int w, int h) { setFixedColorBufferSize(QSize(w, h)); } bool isMirrorVerticallyEnabled() const; void setMirrorVertically(bool enabled); QImage grabFramebuffer() const; +protected: + bool isAutoRenderTargetEnabled() const; + void setAutoRenderTarget(bool enabled); + virtual void initialize(QRhiCommandBuffer *cb); virtual void render(QRhiCommandBuffer *cb); virtual void releaseResources(); @@ -82,19 +82,17 @@ public: QRhiRenderBuffer *depthStencilBuffer() const; QRhiRenderTarget *renderTarget() const; + void resizeEvent(QResizeEvent *e) override; + void paintEvent(QPaintEvent *e) override; + bool event(QEvent *e) override; + Q_SIGNALS: void frameSubmitted(); void renderFailed(); void sampleCountChanged(int samples); - void textureFormatChanged(TextureFormat format); - void autoRenderTargetChanged(bool enabled); - void explicitSizeChanged(const QSize &pixelSize); + void colorBufferFormatChanged(TextureFormat format); + void fixedColorBufferSizeChanged(const QSize &pixelSize); void mirrorVerticallyChanged(bool enabled); - -protected: - void resizeEvent(QResizeEvent *e) override; - void paintEvent(QPaintEvent *e) override; - bool event(QEvent *e) override; }; QT_END_NAMESPACE diff --git a/src/widgets/kernel/qrhiwidget_p.h b/src/widgets/kernel/qrhiwidget_p.h index 57793f69794..cf62b135063 100644 --- a/src/widgets/kernel/qrhiwidget_p.h +++ b/src/widgets/kernel/qrhiwidget_p.h @@ -45,7 +45,7 @@ public: QRhiWidget::TextureFormat widgetTextureFormat = QRhiWidget::TextureFormat::RGBA8; QRhiTexture::Format rhiTextureFormat = QRhiTexture::RGBA8; int samples = 1; - QSize explicitSize; + QSize fixedSize; bool autoRenderTarget = true; bool mirrorVertically = false; QBackingStoreRhiSupport offscreenRenderer; diff --git a/tests/auto/widgets/widgets/qrhiwidget/tst_qrhiwidget.cpp b/tests/auto/widgets/widgets/qrhiwidget/tst_qrhiwidget.cpp index 7236e807773..aeb97e49032 100644 --- a/tests/auto/widgets/widgets/qrhiwidget/tst_qrhiwidget.cpp +++ b/tests/auto/widgets/widgets/qrhiwidget/tst_qrhiwidget.cpp @@ -31,8 +31,8 @@ private slots: void simple(); void msaa_data(); void msaa(); - void explicitSize_data(); - void explicitSize(); + void fixedSize_data(); + void fixedSize(); void autoRt_data(); void autoRt(); void reparent_data(); @@ -91,12 +91,12 @@ void tst_QRhiWidget::testData() #endif #ifdef Q_OS_WIN - QTest::newRow("D3D11") << QRhiWidget::Api::D3D11; + QTest::newRow("D3D11") << QRhiWidget::Api::Direct3D11; // D3D12 needs to be probed too due to being disabled if the SDK headers // are too old (clang, mingw). QRhiD3D12InitParams d3d12InitParams; if (QRhi::probe(QRhi::D3D12, &d3d12InitParams)) - QTest::newRow("D3D12") << QRhiWidget::Api::D3D12; + QTest::newRow("D3D12") << QRhiWidget::Api::Direct3D12; #endif } @@ -225,6 +225,8 @@ public: std::unique_ptr<QRhiGraphicsPipeline> m_pipeline; QRhiTextureRenderTarget *m_rt = nullptr; // used when autoRenderTarget is off QRhiRenderPassDescriptor *m_rp = nullptr; // used when autoRenderTarget is off + + friend class tst_QRhiWidget; }; void SimpleRhiWidget::initialize(QRhiCommandBuffer *cb) @@ -347,7 +349,7 @@ void tst_QRhiWidget::simple() QCOMPARE(errorSpy.count(), 0); QCOMPARE(rhiWidget->sampleCount(), 1); - QCOMPARE(rhiWidget->textureFormat(), QRhiWidget::TextureFormat::RGBA8); + QCOMPARE(rhiWidget->colorBufferFormat(), QRhiWidget::TextureFormat::RGBA8); QVERIFY(rhiWidget->isAutoRenderTargetEnabled()); // Pull out the QRhiTexture (we know colorTexture() and rhi() and friends @@ -372,10 +374,10 @@ void tst_QRhiWidget::simple() case QRhiWidget::Api::Vulkan: QCOMPARE(rhi->backend(), QRhi::Vulkan); break; - case QRhiWidget::Api::D3D11: + case QRhiWidget::Api::Direct3D11: QCOMPARE(rhi->backend(), QRhi::D3D11); break; - case QRhiWidget::Api::D3D12: + case QRhiWidget::Api::Direct3D12: QCOMPARE(rhi->backend(), QRhi::D3D12); break; case QRhiWidget::Api::Null: @@ -462,7 +464,7 @@ void tst_QRhiWidget::msaa() QCOMPARE(errorSpy.count(), 0); QCOMPARE(rhiWidget->sampleCount(), 4); - QCOMPARE(rhiWidget->textureFormat(), QRhiWidget::TextureFormat::RGBA8); + QCOMPARE(rhiWidget->colorBufferFormat(), QRhiWidget::TextureFormat::RGBA8); QVERIFY(!rhiWidget->colorTexture()); QVERIFY(rhiWidget->msaaColorBuffer()); QVERIFY(rhiWidget->depthStencilBuffer()); @@ -515,12 +517,12 @@ void tst_QRhiWidget::msaa() QVERIFY(rhiWidget->msaaColorBuffer()); } -void tst_QRhiWidget::explicitSize_data() +void tst_QRhiWidget::fixedSize_data() { testData(); } -void tst_QRhiWidget::explicitSize() +void tst_QRhiWidget::fixedSize() { QFETCH(QRhiWidget::Api, api); @@ -532,7 +534,7 @@ void tst_QRhiWidget::explicitSize() QVBoxLayout *layout = new QVBoxLayout; layout->addWidget(rhiWidget); - rhiWidget->setExplicitSize(QSize(320, 200)); + rhiWidget->setFixedColorBufferSize(QSize(320, 200)); QWidget w; w.setLayout(layout); @@ -552,7 +554,7 @@ void tst_QRhiWidget::explicitSize() QVERIFY(!rhiWidget->resolveTexture()); frameSpy.clear(); - rhiWidget->setExplicitSize(640, 480); // should also trigger update() + rhiWidget->setFixedColorBufferSize(640, 480); // should also trigger update() QTRY_VERIFY(frameSpy.count() > 0); QVERIFY(rhiWidget->colorTexture()); @@ -561,7 +563,7 @@ void tst_QRhiWidget::explicitSize() QCOMPARE(rhiWidget->depthStencilBuffer()->pixelSize(), QSize(640, 480)); frameSpy.clear(); - rhiWidget->setExplicitSize(QSize()); + rhiWidget->setFixedColorBufferSize(QSize()); QTRY_VERIFY(frameSpy.count() > 0); QVERIFY(rhiWidget->colorTexture()); @@ -611,7 +613,7 @@ void tst_QRhiWidget::autoRt() frameSpy.clear(); // do something that triggers creating a new backing texture - rhiWidget->setExplicitSize(QSize(320, 200)); + rhiWidget->setFixedColorBufferSize(QSize(320, 200)); QTRY_VERIFY(frameSpy.count() > 0); QVERIFY(rhiWidget->colorTexture()); |