Effect design consideration for switching between effects
At some point in the future, users may want to be able to switch from one fullscreen effect to another. They may want to swipe down once to present windows, than swipe down again to open an app drawer for example.
In order to do this nicely, fullscreen effects need to be able to gracefully trade control over elements like Window Thumbnails and desktops.
Relevant information:
- After !2184, all fullscreen effects will be managed by a
Context
object. TheContext
will be responsible for telling effects when to activate/deactivate, and will send [0, 1] qreal activation progress updates telling them exactly how activated they should be (driving the animation). I madeContext
with this issue in mind.- When switching between effects/contexts, the activating effect will receive an "activating" update and the deactivating one will receive a "deactivating" one.
- With
Context
,activeFullscreenEffect
is still in use. Effects are allowed to grab it only when theirContext
reports that it is fully activated. Only one context will ever be activating or fully activated. While switching contexts, no context is fully activated.