Fix always full rect blur mask for panels ignoring shape from Plasma themes

Authored by kossebau on Mar 29 2019, 11:05 AM.

Description

Fix always full rect blur mask for panels ignoring shape from Plasma themes

Summary:
Plasma themes might define non-full-rect shapes for panels (e.g. round
borders for panels not filling the whole width/height).
The old code tells the window manager to blur the full rect of a panel
window, resulting in unwanted artifacts around the panel shape for
non-full-rect themed panels.
With the Panel.qml item of the desktop packages exposing some optional
"panelMask" property now, we can query for the shape and only use the
painted area when telling the window manager where to blur behind or
changing the background contrast.
This also follows the logic as already applied for dialogs or other window
elements like tooltips which are rendered using a Plasma theme.

Test Plan:
The Oxygen Plasma theme no longer has blurry corners on panel edges.
Also still works as before when using non-composing window manager.

Reviewers: Plasma, mart

Reviewed By: Plasma, mart

Subscribers: plasma-devel

Tags: Plasma

Differential Revision: https://phabricator.kde.org/D20204

Details

Committed
kossebauApr 8 2019, 3:28 PM
Reviewer
Plasma
Differential Revision
D20204: Fix always full rect blur mask for panels ignoring shape from Plasma themes
Parents
R120:c69acc0973a5: Update link to Kdelibs_Coding_Style
Branches
Unknown
Tags
Unknown