5 Commits

Author SHA1 Message Date
Nyall Dawson
b1e3d047d6 Make QgsMapRendererStagedRenderJob thread safe 2019-08-17 14:53:11 +10:00
Nyall Dawson
a4d1b293a0 QgsMapRendererTask was NOT thread safe! ouch 2019-08-17 14:53:11 +10:00
Nyall Dawson
244eb92a82 Add QgsMapRendererStagedRenderJob
This map renderer job subclass is designed for step-by-step rendering
of a map to different QPainters.

It exposes an API which lets callers iterate over parts of a map
(e.g. individual map layers, labels), specifying a destination
QPainter for each step in the iteration.

This is designed to improve the existing print layout export to
layered output map rendering, where currently the maps are rendered
by multiple renderer jobs, each only rendering one layer at a time.
This current approach of rendering individual layers are separate
jobs is fundamentally broken (and cannot be fixed), because it
prevents any handling of interactions between map layers (e.g. shifting
colliding labels).
2019-08-14 06:46:19 +10:00
Nyall Dawson
da2df20712 Start splitting out parts of QgsMapRendererCustomPainterJob to an intermediate base class 2019-08-14 06:46:19 +10:00
Denis Rouzaud
7df2593caf move auto generated sip file in dedicated folder 2018-05-14 10:23:37 -04:00