pub const fn activity_blink(reduced: bool) -> Option<Duration>Expand description
How fast the activity mark blinks, given whether the reader has asked for less motion.
The same seam as notice_lifetime, and it takes a bool for the same
reason: the preference is the platform’s to report, and taking the answer
rather than the platform keeps this crate off everyone’s dependency graph.
assert_eq!(activity_blink(false), Some(Cadence::Activity.duration()));
assert_eq!(activity_blink(true), None);None is not “the caller decides” and it is not “draw nothing”. It means
the mark does not blink: it is drawn, lit, and still, for as long as the
wait lasts. The reader still learns that something is happening, which is
the whole content of the mark; what they are spared is the movement. A
renderer that hides the mark instead has removed the information rather than
the animation, and reduced motion asks for the second.
A web surface does not call this. The generated stylesheet carries a
prefers-reduced-motion block that does the same thing in the cascade,
which is why reduced_motion_css exists.