[Marble-commits] KDE/kdeedu/marble/src/plugins/render/geodata

Patrick Spendrin ps_ml at gmx.de
Mon Jul 13 01:22:26 CEST 2009


SVN commit 995560 by sengels:

fix display of fill & outline
BUG:190514

 M  +15 -1     GeoRendererView.cpp  


--- trunk/KDE/kdeedu/marble/src/plugins/render/geodata/GeoRendererView.cpp #995559:995560
@@ -149,6 +149,12 @@
      * model. This might not be wanted. On the other hand - is a copy of the
      * style within every Placemark wanted and how should this be called here?
      */
+    if( !m_root->style( mapped ).polyStyle().fill() ) {
+        if( m_painter->brush().color() != Qt::transparent )
+        m_painter->setBrush( QColor( Qt::transparent ) );
+        return;
+    }
+
     if( m_painter->brush().color() != m_root->style( mapped ).polyStyle().color() ) {
 /*        qDebug() << "BrushColor:" 
                  << m_root->style( mapped ).polyStyle().color() 
@@ -162,6 +168,12 @@
     /*
      * see the note in the setBrushStyle function
      */
+    if( !m_root->style( mapped ).polyStyle().outline() ) {
+        m_currentPen.setColor( Qt::transparent );
+        if( m_painter->pen() != m_currentPen ) m_painter->setPen( m_currentPen );
+        return;
+    }
+
     if( m_currentPen.color() != m_root->style( mapped ).lineStyle().color() || 
         m_currentPen.widthF() != m_root->style( mapped ).lineStyle().width() ) {
 /*            qDebug() << "PenColor:" 
@@ -173,6 +185,7 @@
         m_currentPen.setColor( m_root->style( mapped ).lineStyle().color() );
         m_currentPen.setWidthF( m_root->style( mapped ).lineStyle().width() );
     }
+
     if ( m_painter->mapQuality() != Marble::High && m_painter->mapQuality() != Marble::Print )
     {
 //            m_currentPen.setWidth( 0 );
@@ -180,7 +193,8 @@
         penColor.setAlpha( 255 );
         m_currentPen.setColor( penColor );
     }
-    m_painter->setPen( m_currentPen );
+
+    if( m_painter->pen() != m_currentPen ) m_painter->setPen( m_currentPen );
 }
 
 bool GeoRendererView::renderGeoDataGeometry( GeoDataGeometry *object, QString styleUrl )


More information about the Marble-commits mailing list