[QGIS Commit] r15843 - trunk/qgis/src/core/composer
svn_qgis at osgeo.org
svn_qgis at osgeo.org
Thu Apr 28 16:05:35 EDT 2011
Author: mhugent
Date: 2011-04-28 13:05:35 -0700 (Thu, 28 Apr 2011)
New Revision: 15843
Modified:
trunk/qgis/src/core/composer/qgscomposermap.cpp
Log:
Fix for placement of map items in composer
Modified: trunk/qgis/src/core/composer/qgscomposermap.cpp
===================================================================
--- trunk/qgis/src/core/composer/qgscomposermap.cpp 2011-04-28 18:58:03 UTC (rev 15842)
+++ trunk/qgis/src/core/composer/qgscomposermap.cpp 2011-04-28 20:05:35 UTC (rev 15843)
@@ -1568,10 +1568,11 @@
return QPointF( 0, 0 );
}
- double mapX = item->scenePos().x() / mMapCanvas->width() * mMapRenderer->extent().width() + mMapRenderer->extent().xMinimum();
- double mapY = mMapRenderer->extent().yMaximum() - item->scenePos().y() / mMapCanvas->height() * mMapRenderer->extent().height();
+ QRectF graphicsSceneRect = mMapCanvas->sceneRect();
+ QPointF itemScenePos = item->scenePos();
+ QgsRectangle mapRendererExtent = mMapRenderer->extent();
- double itemX = rect().width() * ( mapX - mExtent.xMinimum() ) / mExtent.width() + mXOffset;
- double itemY = rect().height() * ( mExtent.yMaximum() - mapY ) / mExtent.height() + mYOffset;
- return QPointF( itemX, itemY );
+ double mapX = itemScenePos.x() / graphicsSceneRect.width() * mapRendererExtent.width() + mapRendererExtent.xMinimum();
+ double mapY = mapRendererExtent.yMaximum() - itemScenePos.y() / graphicsSceneRect.height() * mapRendererExtent.height();
+ return mapToItemCoords( QPointF( mapX, mapY ) );
}
More information about the QGIS-commit
mailing list