mirror of
https://github.com/linuxdeepin/dde-dock.git
synced 2025-06-04 17:33:05 +00:00
fix startup animation fist frame position error
Change-Id: I05d40e552141e7ccd3ba14ee645e4b0884d40c3c
This commit is contained in:
parent
b860927629
commit
73e8e56c1a
Notes:
Deepin Code Review
2017-05-02 14:44:17 +08:00
Verified+1: Anonymous Coward #1000004 Code-Review+2: 石博文 <sbw@sbw.so> Submitted-by: 石博文 <sbw@sbw.so> Submitted-at: Tue, 02 May 2017 14:44:10 +0800 Reviewed-on: https://cr.deepin.io/22729 Project: dde/dde-dock Branch: refs/heads/master
@ -260,9 +260,10 @@ void AppItem::mouseReleaseEvent(QMouseEvent *e)
|
||||
return;
|
||||
|
||||
// start launching effects
|
||||
const QPixmap icon = DockDisplayMode == Efficient ? m_smallIcon : m_largeIcon;
|
||||
const QRect r = rect();
|
||||
QGraphicsPixmapItem *item = m_itemScene->addPixmap(m_largeIcon);
|
||||
item->setPos(r.center() + QPoint(0, 18));
|
||||
QGraphicsPixmapItem *item = m_itemScene->addPixmap(icon);
|
||||
item->setPos(r.center() - QPoint(18, 18));
|
||||
item->setTransformationMode(Qt::SmoothTransformation);
|
||||
m_itemView->setSceneRect(r);
|
||||
|
||||
@ -278,10 +279,12 @@ void AppItem::mouseReleaseEvent(QMouseEvent *e)
|
||||
ani->setItem(item);
|
||||
ani->setTimeLine(tl);
|
||||
|
||||
const int px = -m_largeIcon.rect().center().x();
|
||||
const int py = -m_largeIcon.rect().center().y() - 18;
|
||||
const int px = -icon.rect().center().x();
|
||||
const int py = -icon.rect().center().y() - 18;
|
||||
const QPoint pos = r.center() + QPoint(0, 18);
|
||||
for (int i(0); i != 60; ++i)
|
||||
{
|
||||
ani->setPosAt(i / 60.0, pos);
|
||||
ani->setTranslationAt(i / 60.0, px, py);
|
||||
ani->setRotationAt(i / 60.0, Frames[i]);
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user