diff --git a/examples/blurredbox/BlurredBox.cpp b/examples/blurredbox/BlurredBox.cpp index a02b84be..3e2360f4 100644 --- a/examples/blurredbox/BlurredBox.cpp +++ b/examples/blurredbox/BlurredBox.cpp @@ -18,17 +18,6 @@ BlurredBox::BlurredBox( QQuickItem* parentItem ) BlurredBox::~BlurredBox() = default; -void BlurredBox::setShape( const QskBoxShapeMetrics& shape ) -{ - m_shape = shape; - update(); -} - -const QskBoxShapeMetrics& BlurredBox::shape() const -{ - return m_shape; -} - QRectF BlurredBox::rectOnScreen() const { return mapRectToScene( contentsRect() ); diff --git a/examples/blurredbox/BlurredBox.h b/examples/blurredbox/BlurredBox.h index f16277bc..5ca9bce3 100644 --- a/examples/blurredbox/BlurredBox.h +++ b/examples/blurredbox/BlurredBox.h @@ -23,9 +23,6 @@ class BlurredBox : public QskBox QRectF layoutRectForSize( const QSizeF& size ) const override; - void setShape( const QskBoxShapeMetrics& ); - const QskBoxShapeMetrics& shape() const; - QRectF rectOnScreen() const; QRectF rectOfScreen() const; diff --git a/examples/blurredbox/BlurredBoxSkinlet.cpp b/examples/blurredbox/BlurredBoxSkinlet.cpp index 8b4d67bf..7de2ac94 100644 --- a/examples/blurredbox/BlurredBoxSkinlet.cpp +++ b/examples/blurredbox/BlurredBoxSkinlet.cpp @@ -29,10 +29,11 @@ QSGNode* BlurredBoxSkinlet::updateSubNode( switch ( nodeRole ) { case PanelRole: - auto blurred = QskSGNode::ensureNode< BlurredBoxNode >( node ); - auto rectOfScreen = box->rectOfScreen(); - auto rectOnScreen = box->rectOnScreen(); - blurred->setBlurData( r, box->shape(), rectOfScreen, rectOnScreen, + auto* const blurred = QskSGNode::ensureNode< BlurredBoxNode >( node ); + const auto rectOfScreen = box->rectOfScreen(); + const auto rectOnScreen = box->rectOnScreen(); + const auto boxShapeHint = box->boxShapeHint(BlurredBox::Panel); + blurred->setBlurData( r, boxShapeHint, rectOfScreen, rectOnScreen, static_cast< float >( box->opacity() ), box->blurDirections(), box->blurQuality(), box->blurSize() ); return blurred; diff --git a/examples/blurredbox/MainWindow.cpp b/examples/blurredbox/MainWindow.cpp index 75519895..14e26637 100644 --- a/examples/blurredbox/MainWindow.cpp +++ b/examples/blurredbox/MainWindow.cpp @@ -28,7 +28,8 @@ MainWindow::MainWindow() auto* const stack = new QskStackBox( layout ); stack->setAutoLayoutChildren( true ); auto* const blurred = new BlurredBox( stack ); - blurred->setShape( { 40, 40, 40, 40 } ); + blurred->setBlurSize( 16.0 ); + blurred->setBoxShapeHint(BlurredBox::Panel, { 40, 40, 40, 40 }); auto* const l = new QskLinearBox( Qt::Vertical, layout ); stack->addItem( l ); @@ -147,7 +148,7 @@ void MainWindow::createBlurCornerRadiiControls( BlurredBox* blurred, QskLinearBo slider->setMinimum( 0.0 ); slider->setMaximum( 80.0 ); connect( slider, &QskSlider::valueChanged, [ blurred, bar, label ]( qreal value ) { - auto shape = blurred->shape(); + auto shape = blurred->boxShapeHint(BlurredBox::Panel); const auto format = tr( "Corner Radius" ) + " ( %1 )"; switch ( bar->currentIndex() ) @@ -167,11 +168,11 @@ void MainWindow::createBlurCornerRadiiControls( BlurredBox* blurred, QskLinearBo } label->setText( format.arg( value ) ); - blurred->setShape( shape ); + blurred->setBoxShapeHint(BlurredBox::Panel, shape ); blurred->update(); } ); connect( bar, &QskSegmentedBar::currentIndexChanged, [ blurred, slider ]( int index ) { - const auto shape = blurred->shape(); + const auto shape = blurred->boxShapeHint(BlurredBox::Panel); switch ( index ) { @@ -189,7 +190,7 @@ void MainWindow::createBlurCornerRadiiControls( BlurredBox* blurred, QskLinearBo break; } } ); - slider->setValue( blurred->shape().topLeft().width() ); + slider->setValue( blurred->boxShapeHint(BlurredBox::Panel).topLeft().width() ); bar->setSelectedIndex( TL ); bar->setCurrentIndex( TL ); }