Uh oh!
There was an error while loading.Please reload this page.
- Notifications
You must be signed in to change notification settings - Fork7.9k
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
to017aeed
Compareffe84ac
tob776786
Compare(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.
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. |
@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. |
Splitting out the nonessential parts... |
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