[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