QRegion BlurHelper::blurRegion(QWidget *widget) const { if (!widget->isVisible()) return QRegion(); // get main region QRegion region = widget->mask().isEmpty() ? widget->rect() : widget->mask(); // trim blur region to remove unnecessary areas trimBlurRegion(widget, widget, region); return region; }
//___________________________________________________________ QRegion BlurHelper::blurRegion( QWidget* widget ) const { if( !widget->isVisible() ) return QRegion(); // get main region QRegion region; if( qobject_cast<const QDockWidget*>( widget ) || qobject_cast<const QMenu*>( widget ) || qobject_cast<const QToolBar*>( widget ) || widget->inherits( "QComboBoxPrivateContainer" ) ) { region = _helper.roundedMask( widget->rect() ); } else region = widget->mask().isEmpty() ? widget->rect():widget->mask(); // trim blur region to remove unnecessary areas trimBlurRegion( widget, widget, region ); return region; }