@@ -407,7 +407,12 @@ unsigned char* QgsVectorLayer::drawLineString(unsigned char* feature,
407
407
//
408
408
QPen myTransparentPen = p->pen (); // store current pen
409
409
QColor myColor = myTransparentPen.color ();
410
- myColor.setAlpha (mTransparencyLevel );
410
+ // only set transparency from layer level if renderer does not provide
411
+ // transparency on class level
412
+ if (!mRenderer ->usesTransparency ())
413
+ {
414
+ myColor.setAlpha (mTransparencyLevel );
415
+ }
411
416
myTransparentPen.setColor (myColor);
412
417
p->setPen (myTransparentPen);
413
418
p->drawPolyline (pa);
@@ -631,11 +636,23 @@ std::cerr << i << ": " << ring->first[i]
631
636
//
632
637
QBrush myTransparentBrush = p->brush ();
633
638
QColor myColor = brush.color ();
634
- myColor.setAlpha (mTransparencyLevel );
639
+
640
+ // only set transparency from layer level if renderer does not provide
641
+ // transparency on class level
642
+ if (!mRenderer ->usesTransparency ())
643
+ {
644
+ myColor.setAlpha (mTransparencyLevel );
645
+ }
635
646
myTransparentBrush.setColor (myColor);
636
647
QPen myTransparentPen = p->pen (); // store current pen
637
648
myColor = myTransparentPen.color ();
638
- myColor.setAlpha (mTransparencyLevel );
649
+
650
+ // only set transparency from layer level if renderer does not provide
651
+ // transparency on class level
652
+ if (!mRenderer ->usesTransparency ())
653
+ {
654
+ myColor.setAlpha (mTransparencyLevel );
655
+ }
639
656
myTransparentPen.setColor (myColor);
640
657
641
658
p->setBrush (myTransparentBrush);
0 commit comments