22 Commits

Author SHA1 Message Date
Denis Rouzaud
93971d5ed3 [sip] align pointer and reference in blacklisted files
this will facilitate sip diff checking
2017-05-01 17:49:43 +02:00
Nyall Dawson
3b56b79f6d Don't block when canceling canvas render jobs
In some cases canceling render jobs can take a long time. Eg when
using database layers over a sloooooow connection, canceling a job
can be blocked by minutes while waiting for the first batch of feature
fetching to finish. (Since eg postgres features are fetched in batches
of 2000 with no opportunity to abort mid-way through this).

This meant that while the first render allows the GUI to remain
responsive, any subsequent render operations which occured before
the first render completes locks up the whole ui until the first
render can finish cancellation.

With this change, the render cancelation happens with blocking.
It means that you can pan and zoom around a map over of slow
connection without any ui locks.
2017-03-02 12:39:57 +10:00
Nyall Dawson
2b3805eea5 Reuse existing labeling results if cached labels were redrawn 2017-02-07 10:07:19 +10:00
Nyall Dawson
75506867aa Make protected members in QgsMapRendererJob not part of public API
QgsMapRendererJob and subclasses are not designed to be subclassed
outside of core QGIS code. Marking them private API allows us to
change them after API is frozen again.
2017-02-01 14:19:36 +10:00
Denis Rouzaud
0a63d1f2c2 [spellcheck] properly look into various cases and add more fixes" 2017-01-16 16:39:20 +01:00
Blottiere Paul
f3a5c98178 remove QgsMapRenderer 2016-12-12 07:50:22 +01:00
Matthias Kuhn
03f0b44e4e Typo 2016-09-07 09:48:36 +02:00
Matthias Kuhn
02ae886d69 Map renderer sends signal on layers finished but before labeling 2016-09-07 09:00:18 +02:00
Juergen E. Fischer
0688621046 scripts/replacev2.sh run 2016-08-10 12:08:52 +02:00
Martin Dobias
31c75ef22e Remove QgsLabel and QgsLabelAttributes + remove QgsPalLabeling from renderer jobs 2016-07-20 18:35:20 +08:00
Nyall Dawson
adafeda82a Avoid all use of QgsCoordinateTransform pointers, replace with
copies or references

Makes the code more robust, fixes leaks and avoids potential
null pointer dereferencing
2016-07-16 20:36:45 +10:00
Juergen E. Fischer
a90be95f7b sip sync 2016-02-14 03:50:49 +01:00
Juergen E. Fischer
d8f5dbeb4e Limit extent reprojection workaround to vector layers (followup 51fe632; fixes #13735; refs #7596) 2015-11-12 23:42:17 +01:00
Martin Dobias
8100495df6 Integrate new labeling engine into the map rendering
Now used instead of QgsPalLabeling for labels/diagrams

This code has been funded by Tuscany Region (Italy) - SITA (CIG: 63526840AE) and commissioned to Gis3W s.a.s.
2015-09-21 12:57:09 +08:00
Juergen E. Fischer
abd4a04399 sip update 2015-02-03 02:21:52 +01:00
Matthias Kuhn
2e972b13ba Render incremental rendering image at proper location
The old behavior was to render it at the currently visibleExtent based on the
map canvas. The job may however have been scheduled for a different extent and
therefore rendered at an improper location.
2014-12-11 12:20:03 +01:00
Martin Dobias
2fedba0805 Doxymentation for QgsMapRendererJob + subclasses 2014-06-24 14:02:03 +07:00
Martin Dobias
436b05e0cc Move QgsRendererJob subclasses to new files (no code changes) 2014-06-22 21:58:39 +07:00
Martin Dobias
7aa93c00f7 Hopefully fix #10599 (blank composer map when rendering rasters)
When printing on Windows, the printing does not seem to work
well in the worker thread as QImages get converted to QPixmaps.
Therefore we force the map rendering into main thread to avoid the issues.

I do not have a printer, so I can't confirm the fix really helps
2014-06-20 10:50:51 +07:00
Martin Dobias
9e3f921400 Map rendering: allow waiting for job while handling events 2014-06-15 22:22:53 +07:00
Juergen E. Fischer
c4c131ef75 sip sync 2014-05-27 23:32:42 +02:00
Martin Dobias
fe39578eae Added python bindings for QgsMapRendererJob + subclasses and QgsMapRendererCache 2014-03-28 15:35:43 +01:00