mirror of
https://github.com/linuxdeepin/dde-dock.git
synced 2025-06-04 17:33:05 +00:00
fix startup animation position at hidpi
Change-Id: I964101612e0b7e19ba9e016d96c6fc262134083d
This commit is contained in:
parent
4c5aaa2233
commit
7a821f2563
Notes:
Deepin Code Review
2017-09-15 15:16:11 +08:00
Verified+1: Anonymous Coward #1000004 Code-Review+2: 石博文 <sbw@sbw.so> Submitted-by: 石博文 <sbw@sbw.so> Submitted-at: Fri, 15 Sep 2017 15:16:11 +0800 Reviewed-on: https://cr.deepin.io/26308 Project: dde/dde-dock Branch: refs/heads/master
@ -281,12 +281,15 @@ void AppItem::mouseReleaseEvent(QMouseEvent *e)
|
||||
|
||||
// start launching effects
|
||||
m_itemScene->clear();
|
||||
const auto ratio = qApp->devicePixelRatio();
|
||||
const QRect r = rect();
|
||||
const QPixmap icon = DockDisplayMode == Efficient ? m_smallIcon : m_largeIcon;
|
||||
QGraphicsPixmapItem *item = m_itemScene->addPixmap(icon);
|
||||
item->setTransformationMode(Qt::SmoothTransformation);
|
||||
item->setPos((r.center() - icon.rect().center()));
|
||||
item->setPos(QPointF(r.center()) - QPointF(icon.rect().center()) / ratio);
|
||||
m_itemScene->setSceneRect(r);
|
||||
m_itemView->setSceneRect(r);
|
||||
m_itemView->setFixedSize(r.size());
|
||||
// m_itemView->setSceneRect((r.width() - icon.width()) / 2, (r.height() - icon.height()) / 2, r.width(), r.height());
|
||||
|
||||
QTimeLine *tl = new QTimeLine;
|
||||
@ -301,8 +304,8 @@ void AppItem::mouseReleaseEvent(QMouseEvent *e)
|
||||
ani->setItem(item);
|
||||
ani->setTimeLine(tl);
|
||||
|
||||
const int px = -icon.rect().center().x();
|
||||
const int py = -icon.rect().center().y() - 18;
|
||||
const int px = qreal(-icon.rect().center().x()) / ratio;
|
||||
const int py = qreal(-icon.rect().center().y()) / ratio - 18.;
|
||||
const QPoint pos = r.center() + QPoint(0, 18);
|
||||
for (int i(0); i != 60; ++i)
|
||||
{
|
||||
|
Loading…
x
Reference in New Issue
Block a user