From d06a1fe373bf50cf2068093dfa8ff705a2c65344 Mon Sep 17 00:00:00 2001 From: Nyall Dawson Date: Wed, 18 Jun 2014 20:11:32 +1000 Subject: [PATCH] [composer] Force vector rendering of shape and page symbology (fix #10616) --- src/core/composer/qgscomposermap.cpp | 2 ++ src/core/composer/qgscomposershape.cpp | 1 + src/core/composer/qgspaperitem.cpp | 1 + 3 files changed, 4 insertions(+) diff --git a/src/core/composer/qgscomposermap.cpp b/src/core/composer/qgscomposermap.cpp index 78f13ef142a..0bb3135b36b 100644 --- a/src/core/composer/qgscomposermap.cpp +++ b/src/core/composer/qgscomposermap.cpp @@ -1454,6 +1454,7 @@ void QgsComposerMap::drawGrid( QPainter* p ) ms.setExtent( *currentMapExtent() ); ms.setOutputDpi( p->device()->logicalDpiX() ); QgsRenderContext context = QgsRenderContext::fromMapSettings( ms ); + context.setForceVectorOutput( true ); context.setPainter( p ); //simpler approach: draw vertical lines first, then horizontal ones @@ -2581,6 +2582,7 @@ void QgsComposerMap::drawOverviewMapExtent( QPainter* p ) ms.setExtent( *currentMapExtent() ); ms.setOutputDpi( p->device()->logicalDpiX() ); QgsRenderContext context = QgsRenderContext::fromMapSettings( ms ); + context.setForceVectorOutput( true ); context.setPainter( p ); p->save(); diff --git a/src/core/composer/qgscomposershape.cpp b/src/core/composer/qgscomposershape.cpp index 0b3b8186f8a..9cc9bf0aa42 100644 --- a/src/core/composer/qgscomposershape.cpp +++ b/src/core/composer/qgscomposershape.cpp @@ -175,6 +175,7 @@ void QgsComposerShape::drawShapeUsingSymbol( QPainter* p ) ms.setOutputDpi( p->device()->logicalDpiX() ); QgsRenderContext context = QgsRenderContext::fromMapSettings( ms ); context.setPainter( p ); + context.setForceVectorOutput( true ); p->scale( 1 / dotsPerMM, 1 / dotsPerMM ); // scale painter from mm to dots //generate polygon to draw diff --git a/src/core/composer/qgspaperitem.cpp b/src/core/composer/qgspaperitem.cpp index 290f78afe86..302c6d12e03 100644 --- a/src/core/composer/qgspaperitem.cpp +++ b/src/core/composer/qgspaperitem.cpp @@ -163,6 +163,7 @@ void QgsPaperItem::paint( QPainter* painter, const QStyleOptionGraphicsItem* ite ms.setOutputDpi( painter->device()->logicalDpiX() ); QgsRenderContext context = QgsRenderContext::fromMapSettings( ms ); context.setPainter( painter ); + context.setForceVectorOutput( true ); painter->save();