| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
Sorry, something went wrong.
(Apparently the version parsing can sometimes fail on Travis.)
gdk_window_process_updates is deprecated since GDK 3.22. Agg animations run fine without it, and removing it makes mpl_cairo animations faster. Being drawable is synonym to being mapped and visible.
Vector surfaces do not report their extents, so we need to pass them in manually.
|
I would really appreciate if this could make it in 2.2 because it is more or less a prerequisite for me to make a first release of mplcairo (i.e. with a working GUI backend). So labeling it as such, but feel free to retag if you think this is too hard. |
Sorry, something went wrong.
|
@anntzer I'd be OK w/ it if it were more self contained. What are good tests that the changes in backend_qt5, backend_qt5agg etc don't have bad knock-on effects? Is the test suite adequate for this? I agree it would be very nice to see this in for 2.2. It seems that cairo is a great way forward, particularly as it can be used to drive openGL if I understand correctly. |
Sorry, something went wrong.
|
Splitting out the nonessential parts... |
Sorry, something went wrong.
| Back | FazBrowse Home | New Git URL |
This PR implements a cairo based renderer for Qt canvas, under the name "Qt4Cairo"/"Qt5Cairo". Test e.g. by setting the MPLBACKEND environment variable to qt4cairo/qt5cairo.
The following commits implement the Qt5Cairo backend, then the Qt4Cairo backend, and redistributes relevant code chunks between the various backend_qt* modules in order to maximize code reuse, and then update the docs. I would suggest restricting comments for this PR to the diff of these last commits.
Note that because of the way the cairo backend is currently written, all the drawing occurs during the Qt draw event, instead of being buffered before it as in Agg. The third party mplcairo backend works around this limitation, but this PR is still useful to cleanly separate the windowing and rendering parts of the code.
PR Checklist
-> see test_backends_interactive.py