[QGIS Commit] r13332 - in trunk/qgis: python/gui src/gui

svn_qgis at osgeo.org svn_qgis at osgeo.org
Tue Apr 20 07:51:22 EDT 2010


Author: mhugent
Date: 2010-04-20 07:51:20 -0400 (Tue, 20 Apr 2010)
New Revision: 13332

Modified:
   trunk/qgis/python/gui/qgsmapcanvasitem.sip
   trunk/qgis/src/gui/qgsannotationitem.cpp
   trunk/qgis/src/gui/qgsannotationitem.h
   trunk/qgis/src/gui/qgsmapcanvasitem.cpp
   trunk/qgis/src/gui/qgsmapcanvasitem.h
Log:
Move setRenderContext() method to mapcanvas item class

Modified: trunk/qgis/python/gui/qgsmapcanvasitem.sip
===================================================================
--- trunk/qgis/python/gui/qgsmapcanvasitem.sip	2010-04-20 09:07:51 UTC (rev 13331)
+++ trunk/qgis/python/gui/qgsmapcanvasitem.sip	2010-04-20 11:51:20 UTC (rev 13332)
@@ -23,6 +23,12 @@
     //! schedules map canvas for repaint
     void updateCanvas();
     
+    /**Sets render context parameters
+    @param p painter for rendering
+    @param context out: configured context
+    @return true in case of success
+    @note added in version 1.5*/
+    bool setRenderContextVariables( QPainter* p, QgsRenderContext& context ) const;
 
   public:
 

Modified: trunk/qgis/src/gui/qgsannotationitem.cpp
===================================================================
--- trunk/qgis/src/gui/qgsannotationitem.cpp	2010-04-20 09:07:51 UTC (rev 13331)
+++ trunk/qgis/src/gui/qgsannotationitem.cpp	2010-04-20 11:51:20 UTC (rev 13332)
@@ -17,7 +17,6 @@
 
 #include "qgsannotationitem.h"
 #include "qgsmapcanvas.h"
-#include "qgsmaprenderer.h"
 #include "qgsrendercontext.h"
 #include "qgssymbollayerv2utils.h"
 #include "qgssymbolv2.h"
@@ -248,44 +247,6 @@
   p->drawRect( QRectF( mBoundingRect.left(), mBoundingRect.bottom() - handlerSize, handlerSize, handlerSize ) );
 }
 
-bool QgsAnnotationItem::setRenderContextVariables( QPainter* p, QgsRenderContext& context ) const
-{
-  if ( !mMapCanvas || !p )
-  {
-    return false;
-  }
-  QgsMapRenderer* mapRenderer = mMapCanvas->mapRenderer();
-  if ( !mapRenderer )
-  {
-    return false;
-  }
-
-  context.setPainter( p );
-  context.setRendererScale( mMapCanvas->scale() );
-
-  int dpi = mapRenderer->outputDpi();
-  int painterDpi = p->device()->logicalDpiX();
-  double scaleFactor = 1.0;
-  double rasterScaleFactor = 1.0;
-
-  //little trick to find out if painting origines from composer or main map canvas
-  if ( data( 0 ).toString() == "composer" )
-  {
-    rasterScaleFactor = painterDpi / 25.4;
-    scaleFactor = dpi / 25.4;
-  }
-  else
-  {
-    if ( mapRenderer->outputUnits() == QgsMapRenderer::Millimeters )
-    {
-      scaleFactor = dpi / 25.4;
-    }
-  }
-  context.setScaleFactor( scaleFactor );
-  context.setRasterScaleFactor( rasterScaleFactor );
-  return true;
-}
-
 QLineF QgsAnnotationItem::segment( int index )
 {
   switch ( index )

Modified: trunk/qgis/src/gui/qgsannotationitem.h
===================================================================
--- trunk/qgis/src/gui/qgsannotationitem.h	2010-04-20 09:07:51 UTC (rev 13331)
+++ trunk/qgis/src/gui/qgsannotationitem.h	2010-04-20 11:51:20 UTC (rev 13332)
@@ -23,7 +23,6 @@
 class QDomDocument;
 class QDomElement;
 class QDialog;
-class QgsRenderContext;
 class QgsVectorLayer;
 class QgsMarkerSymbolV2;
 
@@ -129,11 +128,6 @@
     void drawFrame( QPainter* p );
     void drawMarkerSymbol( QPainter* p );
     void drawSelectionBoxes( QPainter* p );
-    /**Sets render context parameters
-    @param p painter for rendering
-    @param context out: configured context
-    @return true in case of success*/
-    bool setRenderContextVariables( QPainter* p, QgsRenderContext& context ) const;
     /**Returns frame width in painter units*/
     //double scaledFrameWidth( QPainter* p) const;
     /**Gets the frame line (0 is the top line, 1 right, 2 bottom, 3 left)*/

Modified: trunk/qgis/src/gui/qgsmapcanvasitem.cpp
===================================================================
--- trunk/qgis/src/gui/qgsmapcanvasitem.cpp	2010-04-20 09:07:51 UTC (rev 13331)
+++ trunk/qgis/src/gui/qgsmapcanvasitem.cpp	2010-04-20 11:51:20 UTC (rev 13332)
@@ -17,7 +17,9 @@
 
 #include "qgsmapcanvasitem.h"
 #include "qgsmapcanvas.h"
+#include "qgsmaprenderer.h"
 #include "qgsmaptopixel.h"
+#include "qgsrendercontext.h"
 #include <QGraphicsScene>
 #include <QRect>
 #include <QPen>
@@ -101,6 +103,44 @@
   //mMapCanvas->scene()->update(); //Contents();
 }
 
+bool QgsMapCanvasItem::setRenderContextVariables( QPainter* p, QgsRenderContext& context ) const
+{
+  if ( !mMapCanvas || !p )
+  {
+    return false;
+  }
+  QgsMapRenderer* mapRenderer = mMapCanvas->mapRenderer();
+  if ( !mapRenderer )
+  {
+    return false;
+  }
+
+  context.setPainter( p );
+  context.setRendererScale( mMapCanvas->scale() );
+
+  int dpi = mapRenderer->outputDpi();
+  int painterDpi = p->device()->logicalDpiX();
+  double scaleFactor = 1.0;
+  double rasterScaleFactor = 1.0;
+
+  //little trick to find out if painting origines from composer or main map canvas
+  if ( data( 0 ).toString() == "composer" )
+  {
+    rasterScaleFactor = painterDpi / 25.4;
+    scaleFactor = dpi / 25.4;
+  }
+  else
+  {
+    if ( mapRenderer->outputUnits() == QgsMapRenderer::Millimeters )
+    {
+      scaleFactor = dpi / 25.4;
+    }
+  }
+  context.setScaleFactor( scaleFactor );
+  context.setRasterScaleFactor( rasterScaleFactor );
+  return true;
+}
+
 void QgsMapCanvasItem::updatePosition()
 {
   // default implementation: recalculate position of the item

Modified: trunk/qgis/src/gui/qgsmapcanvasitem.h
===================================================================
--- trunk/qgis/src/gui/qgsmapcanvasitem.h	2010-04-20 09:07:51 UTC (rev 13331)
+++ trunk/qgis/src/gui/qgsmapcanvasitem.h	2010-04-20 11:51:20 UTC (rev 13332)
@@ -21,6 +21,7 @@
 #include "qgsrectangle.h"
 
 class QgsMapCanvas;
+class QgsRenderContext;
 class QPainter;
 
 /** \ingroup gui
@@ -47,7 +48,14 @@
     //! schedules map canvas for repaint
     void updateCanvas();
 
+    /**Sets render context parameters
+    @param p painter for rendering
+    @param context out: configured context
+    @return true in case of success
+    @note added in version 1.5*/
+    bool setRenderContextVariables( QPainter* p, QgsRenderContext& context ) const;
 
+
   public:
 
     //! called on changed extent or resize event to update position of the item



More information about the QGIS-commit mailing list