Newer
Older
#include "ScreenOverlaying.h"
ScreenOverlaying::ScreenOverlaying(QMainWindow *a_parent)
:QWidget(a_parent),
blurRadius(0),
opacity(0)
{
setObjectName("ScreenBlureOpocityEffect");
m_blurParent = a_parent->centralWidget();
m_opacityParent = a_parent;
}
ScreenOverlaying::ScreenOverlaying(QWidget *blure_parent, QWidget *opacity_parent)
:QWidget(opacity_parent),
blurRadius(0),
opacity(0)
{
setObjectName("ScreenBlureOpocityEffect");
m_blurParent = blure_parent;
m_opacityParent = opacity_parent;
this->setVisible(false);
void ScreenOverlaying::showEvent(QShowEvent *event)
{
QGraphicsBlurEffect *blurEffect = new QGraphicsBlurEffect(m_blurParent);
blurEffect->setBlurRadius(blurRadius);
m_blurParent->setGraphicsEffect(blurEffect);
setGeometry(0,0,m_opacityParent->width(),m_opacityParent->height());
QGraphicsOpacityEffect *opacityEffect = new QGraphicsOpacityEffect(this);
opacityEffect->setOpacity(opacity);
setGraphicsEffect(opacityEffect);
QWidget::showEvent(event);
}
void ScreenOverlaying::hideEvent(QHideEvent *event)
{
delete m_blurParent->graphicsEffect();
delete graphicsEffect();
QWidget::hideEvent(event);
}
void ScreenOverlaying::setBlurRadius(int &a_blurRadius)
{
blurRadius = a_blurRadius;
void ScreenOverlaying::setOpacity(qreal &a_opacity)
{
opacity = a_opacity;