Description
@FoamyGuy has written (adafruit/Adafruit_CircuitPython_ProgressBar#8):
When the progress is moving down the library previously would fill the "empty" portion of the progress bar from left to right so it looked like it was moving "the wrong way" I modified the behavior to fill emptiness from right to left so the progress bar appears to visually "empty" itself in reverse as it gets drawn.
This prompts me to imagine that there's a missing piece: A decorator and/or context-handler that ensures that all the displayio changes done inside it are displayed at the same time, not piecemeal.
Complicating factor: In the current world, it's actually the display
that needs its auto_refresh
flag handled, but a ProgressBar
instance does not have access to the related display
object. I think something needs to be added in the core to help facilitate this.
Alternative: Pursue it as a bug that multiple updates aren't getting batched due to the "target fps" of the display presumably being much larger than the length of time it takes to actually do "a few hundred" bitmap updates. (there may be more work than necessary done in ProgressBar, adafruit/Adafruit_CircuitPython_ProgressBar#10)