@@ -242,14 +242,28 @@ void QgsEllipseSymbolLayerV2::renderPoint( QPointF point, QgsSymbolV2RenderConte
242
242
context.setOriginalValueVariable ( QgsSymbolLayerV2Utils::encodeColor ( mColor ) );
243
243
QString colorString = evaluateDataDefinedProperty ( QgsSymbolLayerV2::EXPR_FILL_COLOR, context, QVariant (), &ok ).toString ();
244
244
if ( ok )
245
- mBrush .setColor ( QgsSymbolLayerV2Utils::decodeColor ( colorString ) );
245
+ {
246
+ QColor fillColor = QgsSymbolLayerV2Utils::decodeColor ( colorString );
247
+ if ( context.alpha () < 1.0 )
248
+ {
249
+ fillColor.setAlpha ( fillColor.alphaF () * context.alpha () );
250
+ }
251
+ mBrush .setColor ( fillColor );
252
+ }
246
253
}
247
254
if ( hasDataDefinedProperty ( QgsSymbolLayerV2::EXPR_OUTLINE_COLOR ) )
248
255
{
249
256
context.setOriginalValueVariable ( QgsSymbolLayerV2Utils::encodeColor ( mOutlineColor ) );
250
257
QString colorString = evaluateDataDefinedProperty ( QgsSymbolLayerV2::EXPR_OUTLINE_COLOR, context, QVariant (), &ok ).toString ();
251
258
if ( ok )
252
- mPen .setColor ( QgsSymbolLayerV2Utils::decodeColor ( colorString ) );
259
+ {
260
+ QColor outlineColor = QgsSymbolLayerV2Utils::decodeColor ( colorString );
261
+ if ( context.alpha () < 1.0 )
262
+ {
263
+ outlineColor.setAlpha ( outlineColor.alphaF () * context.alpha () );
264
+ }
265
+ mPen .setColor ( outlineColor );
266
+ }
253
267
}
254
268
double scaledWidth = mSymbolWidth ;
255
269
double scaledHeight = mSymbolHeight ;
@@ -348,11 +362,21 @@ void QgsEllipseSymbolLayerV2::startRender( QgsSymbolV2RenderContext& context )
348
362
{
349
363
preparePath ( mSymbolName , context );
350
364
}
351
- mPen .setColor ( mOutlineColor );
365
+
366
+ QColor outlineColor = mOutlineColor ;
367
+ QColor fillColor = mColor ;
368
+
369
+ if ( context.alpha () < 1.0 )
370
+ {
371
+ outlineColor.setAlphaF ( mOutlineColor .alphaF () * context.alpha () );
372
+ fillColor.setAlphaF ( mColor .alphaF () * context.alpha () );
373
+ }
374
+
375
+ mPen .setColor ( outlineColor );
352
376
mPen .setStyle ( mOutlineStyle );
353
377
mPen .setJoinStyle ( mPenJoinStyle );
354
378
mPen .setWidthF ( QgsSymbolLayerV2Utils::convertToPainterUnits ( context.renderContext (), mOutlineWidth , mOutlineWidthUnit , mOutlineWidthMapUnitScale ) );
355
- mBrush .setColor ( mColor );
379
+ mBrush .setColor ( fillColor );
356
380
prepareExpressions ( context );
357
381
}
358
382
0 commit comments