Vlad Zagorodniy
dce258bee3
FrameSvg: Recache maskFrame if enabledBorders has been changed
Summary: In some cases, when rendering frame svg background, measures & margins do not correspond to `enabledBorders`. I.e. `bottomHeight` may be equal to 5, but the bottom border is disabled. This causes visual artifacts like this {F5878318, layout=center, size=full} //Pay close attention to the bottom of the Task switcher. It has a transparent strip at the bottom, which shouldn't be there.// The cause of this problem is that FrameSVGPrivate::alphaMask doesn't take enabledBorders into account when it's making decision whether it should update maskFrame. Just for reference, this is "after" {F5878319, layout=center, size=full} BUG: 382324 BUG: 390632 BUG: 391659 Test Plan: * Triggered the Breeze task switcher (with compositing on and off) * Didn't see any transparent strips --- * Tried running FrameSvgTest, still passes Reviewers: #plasma, #frameworks, mart Reviewed By: #plasma, mart Subscribers: abetts, mart, aseigo, broulik, kde-frameworks-devel Tags: #frameworks Differential Revision: https://phabricator.kde.org/D13215
Plasma Framework
Foundational libraries, components, and tools of the Plasma workspaces
Introduction
The plasma framework provides the following:
- QML components
- A C++ library: libplasma
- Script engines
QML components
org.kde.plasma.core
Bindings for libplasma functionality, such as DataEngine and FrameSvg, see @ref core.
org.kde.plasma.components
Graphical components for common items such as buttons, lineedits, tabbars and so on. Compatible subset of the MeeGo components used on the N9, see @ref plasmacomponents.
org.kde.plasma.extras
Extra graphical components that extend org.kde.plasma.components but are not in the standard api, see @ref plasmaextracomponents.
org.kde.plasma.plasmoid
Attached properties for manipulating the current applet or containment, see @ref libplasmaquick
libplasma
This C++ library provides:
- rendering of SVG themes
- loading of files from a certain filesystem structure: packages
- data access through data engines
- loading of the plugin structure of the workspace: containments and applets
See @ref libplasma.
Script engines
Provides support to create applets or containments in various scripting languages.
Description
Languages
C++
63.9%
QML
29.4%
CMake
3.3%
Shell
1.3%
Python
1%
Other
1%