Skip to content

Deprecate Text.get_prop_tup. #19575

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Apr 1, 2021
Merged

Deprecate Text.get_prop_tup. #19575

merged 1 commit into from
Apr 1, 2021

Conversation

anntzer
Copy link
Contributor

@anntzer anntzer commented Feb 24, 2021

get_prop_tup was intended as a general caching mechanism for reusing
Text layouts, but it ended up only being used by _get_layout (which
backends have to call anyways to handle multiline text). Note that in
fact, if we really wanted to make backends use that info for caching,
whether e.g. the text color needs to be taken into account would likely
depend on the backend's own caching mechanism.

Replace it by a private _get_layout_cache_key, which does not take
color into account (color doesn't affect layout), which will later allow
removing a color-must-be-hashable check.

PR Summary

PR Checklist

  • Has pytest style unit tests (and pytest passes).
  • Is Flake 8 compliant (run flake8 on changed files to check).
  • New features are documented, with examples if plot related.
  • Documentation is sphinx and numpydoc compliant (the docs should build without error).
  • Conforms to Matplotlib style conventions (install flake8-docstrings and run flake8 --docstring-convention=all).
  • New features have an entry in doc/users/next_whats_new/ (follow instructions in README.rst there).
  • API changes documented in doc/api/next_api_changes/ (follow instructions in README.rst there).

get_prop_tup was intended as a general caching mechanism for reusing
Text layouts, but it ended up only being used by _get_layout (which
backends have to call anyways to handle multiline text).  Note that in
fact, if we really wanted to make backends use that info for caching,
whether e.g. the text color needs to be taken into account would likely
depend on the backend's own caching mechanism.

Replace it by a private `_get_layout_cache_key`, which does not take
color into account (color doesn't affect layout), which will later allow
removing a color-must-be-hashable check.
@QuLogic QuLogic merged commit 7f9d84a into matplotlib:master Apr 1, 2021
@anntzer anntzer deleted the glck branch April 1, 2021 23:22
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants