mirror of
https://github.com/linuxdeepin/dde-dock.git
synced 2025-06-04 09:23:03 +00:00
Add shadow effects
Change-Id: I250d8e4ea11fb4636d54111505574466e847a0f8
This commit is contained in:
parent
81b874bf28
commit
9377aca219
Notes:
Deepin Code Review
2017-03-24 16:28:15 +08:00
Verified+1: Anonymous Coward #1000004 Code-Review+2: 石博文 <sbw@sbw.so> Submitted-by: 石博文 <sbw@sbw.so> Submitted-at: Fri, 24 Mar 2017 16:28:15 +0800 Reviewed-on: https://cr.deepin.io/21621 Project: dde/dde-dock Branch: refs/heads/master
@ -22,9 +22,9 @@ DockItem::DockItem(QWidget *parent)
|
||||
if (!PopupWindow.get())
|
||||
{
|
||||
DockPopupWindow *arrowRectangle = new DockPopupWindow(nullptr);
|
||||
arrowRectangle->setShadowBlurRadius(0);
|
||||
// arrowRectangle->setShadowBlurRadius(0);
|
||||
// arrowRectangle->setBorderWidth(0);
|
||||
arrowRectangle->setShadowDistance(0);
|
||||
// arrowRectangle->setShadowDistance(0);
|
||||
arrowRectangle->setShadowYOffset(0);
|
||||
arrowRectangle->setShadowXOffset(0);
|
||||
arrowRectangle->setArrowWidth(18);
|
||||
|
@ -5,6 +5,7 @@
|
||||
#include <QResizeEvent>
|
||||
#include <QScreen>
|
||||
#include <QGuiApplication>
|
||||
#include <DPlatformWindowHandle>
|
||||
|
||||
MainWindow::MainWindow(QWidget *parent)
|
||||
: QWidget(parent),
|
||||
@ -12,6 +13,9 @@ MainWindow::MainWindow(QWidget *parent)
|
||||
m_updatePanelVisible(true),
|
||||
|
||||
m_mainPanel(new MainPanel(this)),
|
||||
|
||||
// m_platformWindowHandle(this),
|
||||
|
||||
m_positionUpdateTimer(new QTimer(this)),
|
||||
m_expandDelayTimer(new QTimer(this)),
|
||||
m_sizeChangeAni(new QPropertyAnimation(this, "size")),
|
||||
@ -25,6 +29,11 @@ MainWindow::MainWindow(QWidget *parent)
|
||||
setWindowFlags(Qt::FramelessWindowHint | Qt::WindowDoesNotAcceptFocus);
|
||||
setAttribute(Qt::WA_TranslucentBackground);
|
||||
|
||||
// m_platformWindowHandle.setEnableBlurWindow(true);
|
||||
// m_platformWindowHandle.setTranslucentBackground(true);
|
||||
// m_platformWindowHandle.setWindowRadius(0);
|
||||
// m_platformWindowHandle.setBorderWidth(0);
|
||||
|
||||
m_settings = new DockSettings(this);
|
||||
m_xcbMisc->set_window_type(winId(), XcbMisc::Dock);
|
||||
|
||||
@ -35,6 +44,7 @@ MainWindow::MainWindow(QWidget *parent)
|
||||
|
||||
updatePanelVisible();
|
||||
connect(m_mainPanel, &MainPanel::geometryChanged, this, &MainWindow::panelGeometryChanged);
|
||||
// connect(&m_platformWindowHandle, &DPlatformWindowHandle::frameMarginsChanged, this, &MainWindow::adjustShadowMask);
|
||||
}
|
||||
|
||||
MainWindow::~MainWindow()
|
||||
@ -57,6 +67,8 @@ void MainWindow::moveEvent(QMoveEvent* e)
|
||||
void MainWindow::resizeEvent(QResizeEvent *e)
|
||||
{
|
||||
QWidget::resizeEvent(e);
|
||||
|
||||
adjustShadowMask();
|
||||
}
|
||||
|
||||
void MainWindow::mousePressEvent(QMouseEvent *e)
|
||||
@ -465,3 +477,15 @@ void MainWindow::updatePanelVisible()
|
||||
|
||||
return expand();
|
||||
}
|
||||
|
||||
void MainWindow::adjustShadowMask()
|
||||
{
|
||||
// qDebug() << m_platformWindowHandle.frameMargins();
|
||||
|
||||
// QRect r = rect();
|
||||
// r.moveTop(m_platformWindowHandle.frameMargins().top());
|
||||
// r.moveLeft(-60);
|
||||
// r.setHeight(r.height() + m_platformWindowHandle.frameMargins().bottom());
|
||||
// r.setWidth(r.width() + m_platformWindowHandle.frameMargins().right() + m_platformWindowHandle.frameMargins().left());
|
||||
// m_platformWindowHandle.setFrameMask(QRegion(r));
|
||||
}
|
||||
|
@ -3,12 +3,15 @@
|
||||
|
||||
#include "xcb/xcb_misc.h"
|
||||
#include "dbus/dbusdisplay.h"
|
||||
#include "dbus/dbusdockadaptors.h"
|
||||
#include "util/docksettings.h"
|
||||
|
||||
#include <QWidget>
|
||||
#include <QTimer>
|
||||
#include <QRect>
|
||||
#include "dbus/dbusdockadaptors.h"
|
||||
|
||||
#include <DPlatformWindowHandle>
|
||||
|
||||
class MainPanel;
|
||||
class DBusDockAdaptors;
|
||||
class MainWindow : public QWidget
|
||||
@ -48,10 +51,14 @@ private slots:
|
||||
void resetPanelEnvironment(const bool visible);
|
||||
void updatePanelVisible();
|
||||
|
||||
void adjustShadowMask();
|
||||
|
||||
private:
|
||||
bool m_updatePanelVisible;
|
||||
MainPanel *m_mainPanel;
|
||||
|
||||
// DPlatformWindowHandle m_platformWindowHandle;
|
||||
|
||||
QTimer *m_positionUpdateTimer;
|
||||
QTimer *m_expandDelayTimer;
|
||||
QPropertyAnimation *m_sizeChangeAni;
|
||||
|
Loading…
x
Reference in New Issue
Block a user