/** * \brief Calls the on_animation_finished() method of a Lua sprite. * * Does nothing if the method is not defined. * * \param sprite A sprite whose animation has just finished. * \param animation Name of the animation finished. */ void LuaContext::sprite_on_animation_finished(Sprite& sprite, const std::string& animation) { if (!userdata_has_field(sprite, "on_animation_finished")) { return; } push_sprite(l, sprite); on_animation_finished(animation); lua_pop(l, 1); }
NCoverWidgetPopup::NCoverWidgetPopup(QWidget *parent) : QWidget(parent) { m_pixmapLabel = new QLabel; m_pixmapLabel->setStyleSheet("border: 1px solid white;"); QHBoxLayout *hLayout = new QHBoxLayout; hLayout->addItem(new QSpacerItem(1, 1, QSizePolicy::Expanding, QSizePolicy::Expanding)); hLayout->addWidget(m_pixmapLabel); hLayout->addItem(new QSpacerItem(1, 1, QSizePolicy::Expanding, QSizePolicy::Expanding)); QVBoxLayout *vLayout = new QVBoxLayout; vLayout->setContentsMargins(MARGIN, MARGIN, MARGIN, MARGIN); vLayout->addItem(new QSpacerItem(1, 1, QSizePolicy::Expanding, QSizePolicy::Expanding)); vLayout->addLayout(hLayout); vLayout->addItem(new QSpacerItem(1, 1, QSizePolicy::Expanding, QSizePolicy::Expanding)); QWidget *container = new QWidget(); QVBoxLayout *cLayout = new QVBoxLayout; cLayout->addWidget(container); cLayout->setContentsMargins(0, 0, 0, 0); container->setLayout(vLayout); container->setStyleSheet("background-color: rgba(0, 0, 0, 150);"); this->setLayout(cLayout); m_effect = new QGraphicsOpacityEffect(this); m_effect->setOpacity(1.0); setGraphicsEffect(m_effect); m_animation = new QPropertyAnimation(m_effect, "opacity", this); connect(m_animation, SIGNAL(finished()), this, SLOT(on_animation_finished())); m_animation->setDuration(150); m_animation->setEasingCurve(QEasingCurve::OutQuad); m_animation->setStartValue(0.0); m_animation->setEndValue(1.0); QWidget::window()->installEventFilter(this); }