Skip to content

Implement blur behind plasmoid to support scaling and rotation

ivan tkachenko requested to merge work/ratijas/applet-blur-rotate into master

This patch implements the math behind offset+rotate+scale transformation to replicate geometry of applet container and apply it to cut a sufficient subrect of wallpaper, and to adjust mask's positioning.

Special thanks to linear algebra courses from university. This is probably the first time I'm applying that knowledge since graduation.

See also: cede2681


A little demo with background.visible: false and slow animations, to make it easy to see what's going on about blur and its mask:

Applet_Blur_fixed


Test plan:

  • check that blur doesn't turn transparent near any of screen edges,
  • pay attention to mask boundaries near edges: it shouldn't shift to the right or bottom when applet is being dragged slightly outside of screen,
  • test rotation and removal, preferably with slow animations and "partially outside of screen" positioning.

CC @teams/vdg and @teams/calculus lol

PS label "bugfix" because it fixes erroneously static background during "remove applet" animation.

Merge request reports