File indexing completed on 2024-04-21 04:02:05
0001 /****************************************************************************** 0002 * KBlocks, a falling blocks game by KDE * 0003 * SPDX-FileCopyrightText: 2009-2021 Mauricio Piacentini <mauricio@tabuleiro.com> * 0004 * Zhongjie Cai <squall.leonhart.cai@gmail.com> * 0005 * Julian Helfferich <julian.helfferich@mailbox.org> * 0006 * * 0007 * SPDX-License-Identifier: GPL-2.0-or-later 0008 ******************************************************************************/ 0009 #include "KBlocksAnimFade.h" 0010 0011 #include "SvgItemInterface.h" 0012 0013 KBlocksAnimFade::KBlocksAnimFade(const QList<SvgItemInterface *> &items, int duration, QTimeLine::Direction direction) 0014 { 0015 mItemList = items; 0016 0017 mpTimeLine = new QTimeLine(duration); 0018 mpTimeLine->setFrameRange(0, 30); 0019 mpTimeLine->setDirection(direction); 0020 0021 connect(mpTimeLine, &QTimeLine::valueChanged, this, &KBlocksAnimFade::valueChanged); 0022 connect(mpTimeLine, &QTimeLine::finished, this, &KBlocksAnimFade::endAnimation); 0023 0024 mpTimeLine->start(); 0025 } 0026 0027 KBlocksAnimFade::~KBlocksAnimFade() 0028 { 0029 delete mpTimeLine; 0030 } 0031 0032 void KBlocksAnimFade::valueChanged(qreal value) 0033 { 0034 for (SvgItemInterface *pItem : std::as_const(mItemList)) { 0035 pItem->setOpacity(value); 0036 } 0037 } 0038 0039 void KBlocksAnimFade::endAnimation() 0040 { 0041 Q_EMIT animationFinished(); 0042 } 0043 0044 #include "moc_KBlocksAnimFade.cpp"