Uh oh!
There was an error while loading.Please reload this page.
- Notifications
You must be signed in to change notification settings - Fork8.1k
Cairo rendering for Qt5#8771
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 ourterms of service andprivacy statement. We’ll occasionally send you account related emails.
Already on GitHub?Sign in to your account
Uh oh!
There was an error while loading.Please reload this page.
Conversation
4ebcc97 to017aeedCompareffe84ac tob776786Compare(Apparently the version parsing can sometimes fail on Travis.)
gdk_window_process_updates is deprecated since GDK 3.22. Agg animationsrun 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 inmanually.
anntzer commentedJan 9, 2018
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. |
jklymak commentedJan 9, 2018
@anntzer I'd be OK w/ it if it were more self contained. What are good tests that the changes in 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. |
anntzer commentedJan 9, 2018
Splitting out the nonessential parts... |
anntzer commentedJan 15, 2018
Superseded by#10210. |
Uh oh!
There was an error while loading.Please reload this page.
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