Skip to content

Simplify binary data handling in ps backend. #23294

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
Jun 19, 2022
Merged

Conversation

anntzer
Copy link
Contributor

@anntzer anntzer commented Jun 17, 2022

  • bytes.hex() can now perform linewrapping itself, so use that in
    draw_image.
  • draw_gouraud_triangles can rely on PostScript's hexstring format
    (<...> instead of (...)) and thus on bytes.hex() too. This makes
    _quote_ps_string fully unused, thus tweak the deprecation of
    quote_ps_string.

PR Summary

PR Checklist

Tests and Styling

  • Has pytest style unit tests (and pytest passes).
  • Is Flake 8 compliant (install flake8-docstrings and run flake8 --docstring-convention=all).

Documentation

  • New features are documented, with examples if plot related.
  • 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).
  • Documentation is sphinx and numpydoc compliant (the docs should build without error).

Copy link
Member

@oscargus oscargus left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The only potential "problem" is that the deprecation note says: "Vendor the code of the similarly named private functions if you rely on these functions." https://github.com/matplotlib/matplotlib/blob/main/doc/api/next_api_changes/deprecations/22797-OG.rst

But hopefully people will understand anyway (there are several functions deprecated, so probably not worthwhile special handling this one).

@oscargus
Copy link
Member

Oh, if there is a suitable test to add that would be great! (Or are the lines actually tested despite the report?)

@anntzer
Copy link
Contributor Author

anntzer commented Jun 17, 2022

It is quite possible that this is actually not tested; will add a test...

@anntzer
Copy link
Contributor Author

anntzer commented Jun 18, 2022

Test added.

- bytes.hex() can now perform linewrapping itself, so use that in
  draw_image.
- draw_gouraud_triangles can rely on PostScript's hexstring format
  (`<...>` instead of `(...)`) and thus on bytes.hex() too.  This makes
  _quote_ps_string fully unused, thus tweak the deprecation of
  quote_ps_string.

Also add a test for PostScript Gouraud shading, which was previously not
covered at all.
@timhoffm timhoffm added this to the v3.6.0 milestone Jun 19, 2022
@timhoffm timhoffm merged commit a3443de into matplotlib:main Jun 19, 2022
@anntzer anntzer deleted the psb branch June 19, 2022 16:46
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