[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    branches/KDE/4.3/kdeedu/marble/src/plugins/render/geodata
From:       Patrick Spendrin <ps_ml () gmx ! de>
Date:       2009-07-12 23:23:08
Message-ID: 1247440988.214020.25818.nullmailer () svn ! kde ! org
[Download RAW message or body]

SVN commit 995561 by sengels:

fix display of fill & outline
backport of r995560

 M  +15 -1     GeoRendererView.cpp  


--- branches/KDE/4.3/kdeedu/marble/src/plugins/render/geodata/GeoRendererView.cpp #995560:995561
@@ -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 )
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic