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

List:       kde-commits
Subject:    =?utf-8?q?=5Bmarble=5D_src/lib=3A_have_the_FogLayer_layer_be_dra?=
From:       Bernhard Beschow <bbeschow () cs ! tu-berlin ! de>
Date:       2011-06-30 19:43:52
Message-ID: 20110630194352.7F824A60A6 () git ! kde ! org
[Download RAW message or body]

Git commit b619fa6762615c100286923facf4af100090f10d by Bernhard Beschow.
Committed on 30/06/2011 at 21:35.
Pushed by beschow into branch 'master'.

have the FogLayer layer be drawn by the LayerManager

M  +6    -0    src/lib/FogLayer.cpp     
M  +2    -7    src/lib/MarbleMap.cpp     

http://commits.kde.org/marble/b619fa6762615c100286923facf4af100090f10d

diff --git a/src/lib/FogLayer.cpp b/src/lib/FogLayer.cpp
index 29e3af6..24a1325 100644
--- a/src/lib/FogLayer.cpp
+++ b/src/lib/FogLayer.cpp
@@ -32,6 +32,12 @@ bool FogLayer::render( GeoPainter *painter,
     Q_UNUSED(renderPos)
     Q_UNUSED(layer)
 
+    // FIXME: The fog layer is really slow. That's why we defer it to
+    //        PrintQuality. Either cache on a pixmap - or maybe
+    //        better: Add to GlobeScanlineTextureMapper.
+    if ( painter->mapQuality() != PrintQuality )
+        return true;
+
     if ( viewParams->projection() != Spherical)
         return true;
 
diff --git a/src/lib/MarbleMap.cpp b/src/lib/MarbleMap.cpp
index 637310b..f641c16 100644
--- a/src/lib/MarbleMap.cpp
+++ b/src/lib/MarbleMap.cpp
@@ -120,6 +120,7 @@ MarbleMapPrivate::MarbleMapPrivate( MarbleMap *parent, MarbleModel *model )
     m_geometryLayer = new GeometryLayer( document );
     m_layerManager.addLayer( m_geometryLayer );
 
+    m_layerManager.addLayer( &m_fogLayer );
     m_layerManager.addLayer( &m_measureTool );
 }
 
@@ -230,6 +231,7 @@ MarbleMap::~MarbleMap()
     MarbleModel *model = d->m_modelIsOwned ? d->m_model : 0;
 
     d->m_layerManager.removeLayer( &d->m_measureTool );
+    d->m_layerManager.removeLayer( &d->m_fogLayer );
     delete d;
 
     delete model;  // delete the model after private data
@@ -713,13 +715,6 @@ void MarbleMap::paint( GeoPainter &painter, QRect &dirtyRect )
     renderPositions << "HOVERS_ABOVE_SURFACE";
     d->m_layerManager.renderLayers( &painter, &d->m_viewParams, renderPositions );
 
-    // FIXME: This is really slow. That's why we defer this to
-    //        PrintQuality. Either cache on a pixmap - or maybe
-    //        better: Add to GlobeScanlineTextureMapper.
-
-    if ( d->m_viewParams.mapQuality() == PrintQuality )
-        d->m_fogLayer.render( &painter, d->m_viewParams.viewport() );
-
     renderPositions.clear();
     renderPositions << "ATMOSPHERE"
                     << "ORBIT" << "ALWAYS_ON_TOP" << "FLOAT_ITEM" << "USER_TOOLS";

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

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