[QGIS Commit] r9065 - in branches/advanced_printing_branch/src: app/composer core

svn_qgis at osgeo.org svn_qgis at osgeo.org
Sat Aug 16 08:57:54 EDT 2008


Author: mhugent
Date: 2008-08-16 08:57:53 -0400 (Sat, 16 Aug 2008)
New Revision: 9065

Modified:
   branches/advanced_printing_branch/src/app/composer/qgscomposermap.cpp
   branches/advanced_printing_branch/src/core/qgsmaprenderer.h
Log:
Fix scale based visibility in composer map

Modified: branches/advanced_printing_branch/src/app/composer/qgscomposermap.cpp
===================================================================
--- branches/advanced_printing_branch/src/app/composer/qgscomposermap.cpp	2008-08-16 11:39:43 UTC (rev 9064)
+++ branches/advanced_printing_branch/src/app/composer/qgscomposermap.cpp	2008-08-16 12:57:53 UTC (rev 9065)
@@ -115,7 +115,11 @@
       theRenderContext->setRenderingStopped(false);
     }
 
-  theMapRender.render(painter);
+  //force composer map scale for scale dependent visibility
+  double bk_scale = theMapRender.scale();
+  theMapRender.setScale(scale());
+  theMapRender.render(painter);  
+  theMapRender.setScale(bk_scale);
     
   mMapCanvas->freeze(false);
 }

Modified: branches/advanced_printing_branch/src/core/qgsmaprenderer.h
===================================================================
--- branches/advanced_printing_branch/src/core/qgsmaprenderer.h	2008-08-16 11:39:43 UTC (rev 9064)
+++ branches/advanced_printing_branch/src/core/qgsmaprenderer.h	2008-08-16 12:57:53 UTC (rev 9065)
@@ -64,6 +64,9 @@
     const QgsMapToPixel* coordXForm() { return &(mRenderContext.mapToPixel()); }
     
     double scale() const { return mScale; }
+    /**Sets scale for scale based visibility. Normally, the scale is calculated automatically. This 
+     function is only used to force a preview scale (e.g. for print composer)*/
+    void setScale(double scale) {mScale = scale;}
     double mupp() const { return mMupp; }
 
     int width() const { return mSize.width(); };



More information about the QGIS-commit mailing list