@@ -124,17 +124,17 @@ void TestQgsLayoutUtils::createRenderContextFromLayout()
124124 testImage.setDotsPerMeterY ( 150 / 25.4 * 1000 );
125125 QPainter p ( &testImage );
126126
127- // no composition
127+ // no layout
128128 QgsRenderContext rc = QgsLayoutUtils::createRenderContextForLayout ( nullptr , &p );
129129 QGSCOMPARENEAR ( rc.scaleFactor (), 150 / 25.4 , 0.001 );
130130 QCOMPARE ( rc.painter (), &p );
131131
132- // no composition , no painter
132+ // no layout , no painter
133133 rc = QgsLayoutUtils::createRenderContextForLayout ( nullptr , nullptr );
134134 QGSCOMPARENEAR ( rc.scaleFactor (), 88 / 25.4 , 0.001 );
135135 QVERIFY ( !rc.painter () );
136136
137- // create composition with no reference map
137+ // create layout with no reference map
138138 QgsRectangle extent ( 2000 , 2800 , 2500 , 2900 );
139139 QgsProject project;
140140 QgsLayout l ( &project );
@@ -167,6 +167,25 @@ void TestQgsLayoutUtils::createRenderContextFromLayout()
167167 QGSCOMPARENEAR ( rc.rendererScale (), map->scale (), 1000000 );
168168 QVERIFY ( !rc.painter () );
169169
170+ // check render context flags are correctly set
171+ l.context ().setFlags ( 0 );
172+ rc = QgsLayoutUtils::createRenderContextForLayout ( &l, nullptr );
173+ QVERIFY ( !( rc.flags () & QgsRenderContext::Antialiasing ) );
174+ QVERIFY ( !( rc.flags () & QgsRenderContext::UseAdvancedEffects ) );
175+ QVERIFY ( ( rc.flags () & QgsRenderContext::ForceVectorOutput ) );
176+
177+ l.context ().setFlag ( QgsLayoutContext::FlagAntialiasing );
178+ rc = QgsLayoutUtils::createRenderContextForLayout ( &l, nullptr );
179+ QVERIFY ( ( rc.flags () & QgsRenderContext::Antialiasing ) );
180+ QVERIFY ( !( rc.flags () & QgsRenderContext::UseAdvancedEffects ) );
181+ QVERIFY ( ( rc.flags () & QgsRenderContext::ForceVectorOutput ) );
182+
183+ l.context ().setFlag ( QgsLayoutContext::FlagUseAdvancedEffects );
184+ rc = QgsLayoutUtils::createRenderContextForLayout ( &l, nullptr );
185+ QVERIFY ( ( rc.flags () & QgsRenderContext::Antialiasing ) );
186+ QVERIFY ( ( rc.flags () & QgsRenderContext::UseAdvancedEffects ) );
187+ QVERIFY ( ( rc.flags () & QgsRenderContext::ForceVectorOutput ) );
188+
170189 p.end ();
171190}
172191
@@ -224,6 +243,25 @@ void TestQgsLayoutUtils::createRenderContextFromMap()
224243 QGSCOMPARENEAR( rc.scaleFactor(), 150 / 25.4, 0.001 );
225244 QGSCOMPARENEAR( rc.rendererScale(), map2->scale(), 1000000 );
226245 QVERIFY( rc.painter() );
246+
247+ // check render context flags are correctly set
248+ l.context().setFlags( 0 );
249+ rc = QgsLayoutUtils::createRenderContextForLayout( &l, nullptr );
250+ QVERIFY( !( rc.flags() & QgsRenderContext::Antialiasing ) );
251+ QVERIFY( !( rc.flags() & QgsRenderContext::UseAdvancedEffects ) );
252+ QVERIFY( ( rc.flags() & QgsRenderContext::ForceVectorOutput ) );
253+
254+ l.context().setFlag( QgsLayoutContext::FlagAntialiasing );
255+ rc = QgsLayoutUtils::createRenderContextForLayout( &l, nullptr );
256+ QVERIFY( ( rc.flags() & QgsRenderContext::Antialiasing ) );
257+ QVERIFY( !( rc.flags() & QgsRenderContext::UseAdvancedEffects ) );
258+ QVERIFY( ( rc.flags() & QgsRenderContext::ForceVectorOutput ) );
259+
260+ l.context().setFlag( QgsLayoutContext::FlagUseAdvancedEffects );
261+ rc = QgsLayoutUtils::createRenderContextForLayout( &l, nullptr );
262+ QVERIFY( ( rc.flags() & QgsRenderContext::Antialiasing ) );
263+ QVERIFY( ( rc.flags() & QgsRenderContext::UseAdvancedEffects ) );
264+ QVERIFY( ( rc.flags() & QgsRenderContext::ForceVectorOutput ) );
227265#endif
228266 p.end ();
229267}
0 commit comments