FIX: Update macosx animation handling #22175
Merged
+10
−1
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
PR Summary
Emit a resize_event signal when the pixel ratio is updated. This
enables an animation to move between hidpi and standard dpi screens
without ruining the blitting.
Init the draw in the animation. This is only necessary for macosx
because an initial resize isn't emitted upon figure manager creation,
versus the other backends where it is. This would cause the first frame
to be stale on the macosx animations when used with blitting.
Closes #18451
This is the example I was testing with that kept the first frame previously, but now updates as expected like the other backends.
https://matplotlib.org/stable/gallery/animation/simple_anim.html
I'm not sure if there is a simple test for these updates as they are interactive-based primarily. Happy to add one if someone has a good idea for how to verify this without seeing it.
PR Checklist
Tests and Styling
pytest
passes).flake8-docstrings
and runflake8 --docstring-convention=all
).Documentation
doc/users/next_whats_new/
(follow instructions in README.rst there).doc/api/next_api_changes/
(follow instructions in README.rst there).