Module desktop
Expand description
The desktop, blurred, for surfaces that stand on it alone.
A window group’s docked tab strip is frosted over the desktop, and only
the desktop is ever behind it: windows never overlap. So its blur needs
no pass over what the frame drew before it (super::BackdropBlur),
only the desktop, which changes when the wallpaper, the displays or the
theme’s blur do. The desktop’s painter publishes it blurred once per
such change (publish, blurred_cover); a strip fills its body
with that picture and the material’s tint (fill). The strip is then
an ordinary image fill: it encodes the same while nothing behind it
changed, a hover on a tab damages only the tab, and a presenter that
moves a strip’s retained pixels during a pan moves its frosting with
it, to be drawn again where it comes to rest.
Structs§
- Desktop
Piece - One display’s desktop, blurred:
brushplaced bybrush_transformoverrect, all in the coordinatestransformmaps into the desktop’s.
Functions§
- blurred_
cover imagecoveringrectas a desktop paints a wallpaper (scaled to cover it, centred), blurred byblur_pxlogical pixels: the blurred picture and the transform that places it overrect. Made once per wallpaper, size and radius on this thread.Nonefor an image whose pixels are not in memory.- image_
piece - A blurred wallpaper’s piece, from
blurred_cover. - publish
- The desktop a frame draws, blurred, in the coordinates of the scene the desktop is drawn into. The desktop’s painter publishes it every time it paints; an empty list says there is no picture to frost with, and surfaces over the desktop are then opaque.
- published
- Whether a desktop is published on this thread.
- smooth_
piece - The desktop’s pieces with no wallpaper:
brush(a gradient, already as smooth as its blur) overrect.