<table><tr><td style="">kossebau created this revision.<br />kossebau added a reviewer: Plasma.<br />Herald added a project: Plasma.<br />Herald added a subscriber: plasma-devel.<br />kossebau requested review of this revision.
</td><a style="text-decoration: none; padding: 4px 8px; margin: 0 8px 8px; float: right; color: #464C5C; font-weight: bold; border-radius: 3px; background-color: #F7F7F9; background-image: linear-gradient(to bottom,#fff,#f1f0f1); display: inline-block; border: 1px solid rgba(71,87,120,.2);" href="https://phabricator.kde.org/D20204">View Revision</a></tr></table><br /><div><strong>REVISION SUMMARY</strong><div><p>Plasma themes might define non-full-rect shapes for panels (e.g. round<br />
borders for panels not filling the whole width/height).<br />
The old code tells the window manager to blur the full rect of a panel<br />
window, resulting in unwanted artifacts around the panel shape for<br />
non-full-rect themed panels.<br />
With the Panel.qml item of the desktop packages exposing some optional<br />
"panelMask" property now, we can query for the shape and only use the<br />
painted area when telling the window manager where to blur behind or<br />
changing the background contrast.<br />
This also follows the logic as already applied for dialogs or other window<br />
elements like tooltips which are rendered using a Plasma theme.</p></div></div><br /><div><strong>TEST PLAN</strong><div><p>The Oxygen Plasma theme no longer has blurry corners on panel edges.<br />
Also still works as before when using non-composing window manager.</p></div></div><br /><div><strong>REPOSITORY</strong><div><div>R120 Plasma Workspace</div></div></div><br /><div><strong>BRANCH</strong><div><div>getpanelmaskfrompanel</div></div></div><br /><div><strong>REVISION DETAIL</strong><div><a href="https://phabricator.kde.org/D20204">https://phabricator.kde.org/D20204</a></div></div><br /><div><strong>AFFECTED FILES</strong><div><div>shell/panelview.cpp</div></div></div><br /><div><strong>To: </strong>kossebau, Plasma<br /><strong>Cc: </strong>plasma-devel, jraleigh, GB_2, ragreen, Pitel, ZrenBot, lesliezhai, ali-mohamed, jensreuterberg, abetts, sebas, apol, mart<br /></div>