diff --git a/containment/package/contents/ui/abilities/ParabolicEffect.qml b/containment/package/contents/ui/abilities/ParabolicEffect.qml index 77b03c3a5..a83997eb7 100644 --- a/containment/package/contents/ui/abilities/ParabolicEffect.qml +++ b/containment/package/contents/ui/abilities/ParabolicEffect.qml @@ -28,7 +28,14 @@ import "./privates" as Ability Ability.ParabolicEffectPrivate { isEnabled: factor.zoom>1 && !root.inConfigureAppletsMode - factor.zoom: LatteCore.WindowSystem.compositingActive && animations.active ? ( 1 + (plasmoid.configuration.zoomLevel / 20) ) : 1 + factor.zoom: { + var storedZoom = LatteCore.WindowSystem.compositingActive && animations.active ? ( 1 + (plasmoid.configuration.zoomLevel / 20) ) : 1; + var maxSize = storedZoom * metrics.iconSize; + maxSize = Math.round(maxSize); + + //! this way we make sure that the iconSize at the maximum of its parabolic effect is an integer + return (maxSize/metrics.iconSize); + } factor.maxZoom: Math.max(factor.zoom, animations.requirements.zoomFactor) restoreZoomIsBlocked: restoreZoomIsBlockedFromApplet || (view && view.contextMenuIsShown) diff --git a/plasmoid/package/contents/ui/task/TaskIcon.qml b/plasmoid/package/contents/ui/task/TaskIcon.qml index c672bb927..43782b72a 100644 --- a/plasmoid/package/contents/ui/task/TaskIcon.qml +++ b/plasmoid/package/contents/ui/task/TaskIcon.qml @@ -351,10 +351,7 @@ Item { //! moved out of badgeVisualsLoader in order to avoid crashes //! when the latte view is removed Loader { - width: taskIconContainer.width - height: taskIconContainer.height - anchors.centerIn: taskIconContainer - + anchors.fill: parent active: badgeVisualsLoader.active && graphicsSystem.isAccelerated sourceComponent: Colorize{ source: badgeVisualsLoader.item @@ -363,7 +360,8 @@ Item { //! WORKAROUND: When Effects are enabled e.g. BrightnessContrast, Colorize etc. //! the icon appears pixelated. It is even most notable when parabolic.factor.zoom === 1 //! I don't know enabling cached=true helps, but it does. - cached: true + //! In Question? + //cached: true opacity: stateColorizer.opacity hue: stateColorizer.hue @@ -376,15 +374,14 @@ Item { //! Effects Colorize{ id: stateColorizer - anchors.centerIn: taskIconContainer - width: taskIconContainer.width - height: taskIconContainer.height + anchors.fill: parent //! HACK TO AVOID PIXELIZATION //! WORKAROUND: When Effects are enabled e.g. BrightnessContrast, Colorize etc. //! the icon appears pixelated. It is even most notable when parabolic.factor.zoom === 1 //! I don't know why enabling cached=true helps, but it does. - cached: true + //! In Question? + //cached: true source: badgesLoader.active ? badgesLoader : taskIconItem @@ -397,15 +394,14 @@ Item { BrightnessContrast{ id:hoveredImage - anchors.centerIn: taskIconContainer - width: taskIconContainer.width - height: taskIconContainer.height + anchors.fill: parent //! HACK TO AVOID PIXELIZATION //! WORKAROUND: When Effects are enabled e.g. BrightnessContrast, Colorize etc. //! the icon appears pixelated. It is even most notable when parabolic.factor.zoom === 1 //! I don't know enabling cached=true helps, but it does. - cached: true + //! In Question? + //cached: true source: badgesLoader.active ? badgesLoader : taskIconItem @@ -420,15 +416,14 @@ Item { BrightnessContrast { id: brightnessTaskEffect - anchors.centerIn: taskIconContainer - width: taskIconContainer.width - height: taskIconContainer.height + anchors.fill: parent //! HACK TO AVOID PIXELIZATION //! WORKAROUND: When Effects are enabled e.g. BrightnessContrast, Colorize etc. //! the icon appears pixelated. It is even most notable when parabolic.factor.zoom === 1 //! I don't know enabling cached=true helps, but it does. - cached: true + //! In Question? + //cached: true source: badgesLoader.active ? badgesLoader : taskIconItem