Skip to content

qt: `FrostedGlassEffect` should not overlap with `ViewBlockingRectangle`

Fatih Uzunoğlu requested to merge fuzun/vlc:qt/blurredareashouldbeopaque into master

Part of the AcrylicBackground (the very end) goes under the mini player which uses FrostedGlassEffect. However, for that effect to work properly, the source item needs to be opaque.

This is already satisfied in normal cases as there is an opaque rectangle deep down in the scene graph (stackViewParent). However, when there is inter-window backdrop blur, the list view in MusicArtistsAlbums uses a pass through filter (ViewBlockingRectangle, where AcrylicBackground derives from) so that nothing from the scene graph is rendered beneath it.

This works fine because the PIP player should be able to pass through the video visual/window. And the areas where there should be inter-window backdrop blur effect should either have nothing beneath, or use the PIP player approach to pass through the bare window (where the system compositor provides the blur backdrop effect) or simulated acrylic visual which is also not part of the Qt scene graph.

This becomes a problem when such areas are desired to be blurred intra-window with the FrostedGlassEffect. For the scene graph the source is translucent, as obviously it can not really capture what passes through so it can not apply blur.

Request review @chub.

Before:

image

After:

image

Merge request reports

Loading