enh(viz): drop/inner shadows and other effects on overlay widgets
Description
I believe overlay widgets would benefit from having a drop shadows, inner shadow or a background blur. Especially, drop shadows would be useful to differentiate the widgets from the background.
Proposal
I do not really know the best way to implement this. We could do that on a
a. Per-layer basis b. Per-widget basis
Both would make sense and I therefore believe this should be discussed when designing the actual solution.
a
Solution In the case we choose a
, this could be implemented as a dedicated pass, inserted when building the compositor chain if the layer is configured to have a drop shadow.
<layer id="a_layer" order="a" effect="drop_shadow">
</layer>
<layer id="b_layer" order="b" effect="inner_shadow">
</layer>
<layer id="c_layer" order="c" effect="background_blur">
</layer>
<layer id="d_layer" order="d" effect="none">
</layer>
b
Solution In the case we choose b
, then this is basically calling a_qwidget->setGraphicsEffect
with the appropriate effect.
Functional specifications
Ideally, I would like to be able to do the following effects (except perhaps layer blur
):
Source: Figma
Technical specifications
Details of the implementation
Test plan
Describe how you will verify that the implementation fulfils the specifications