[QGIS Commit] r9714 - in branches/vector_overlay_branch/src: core
plugins/diagram_overlay
svn_qgis at osgeo.org
svn_qgis at osgeo.org
Fri Nov 28 04:55:09 EST 2008
Author: mhugent
Date: 2008-11-28 04:55:09 -0500 (Fri, 28 Nov 2008)
New Revision: 9714
Modified:
branches/vector_overlay_branch/src/core/qgsmaprenderer.cpp
branches/vector_overlay_branch/src/core/qgspalobjectpositionmanager.cpp
branches/vector_overlay_branch/src/core/qgsvectoroverlay.h
branches/vector_overlay_branch/src/plugins/diagram_overlay/qgsdiagramoverlay.cpp
branches/vector_overlay_branch/src/plugins/diagram_overlay/qgsdiagramoverlay.h
Log:
Pass render context as parameter to create overlay objects
Modified: branches/vector_overlay_branch/src/core/qgsmaprenderer.cpp
===================================================================
--- branches/vector_overlay_branch/src/core/qgsmaprenderer.cpp 2008-11-27 14:15:27 UTC (rev 9713)
+++ branches/vector_overlay_branch/src/core/qgsmaprenderer.cpp 2008-11-28 09:55:09 UTC (rev 9714)
@@ -368,7 +368,7 @@
{
if((*overlayIt)->displayFlag())
{
- (*overlayIt)->createOverlayObjects(mRenderContext.extent());
+ (*overlayIt)->createOverlayObjects(mRenderContext);
allOverlayList.push_back(*overlayIt);
}
}
Modified: branches/vector_overlay_branch/src/core/qgspalobjectpositionmanager.cpp
===================================================================
--- branches/vector_overlay_branch/src/core/qgspalobjectpositionmanager.cpp 2008-11-27 14:15:27 UTC (rev 9713)
+++ branches/vector_overlay_branch/src/core/qgspalobjectpositionmanager.cpp 2008-11-28 09:55:09 UTC (rev 9714)
@@ -99,7 +99,9 @@
QgsRectangle viewExtent = renderContext.extent();
double bbox[4]; bbox[0] = viewExtent.xMinimum(); bbox[1] = viewExtent.yMinimum(); bbox[2] = viewExtent.xMaximum(); bbox[3] = viewExtent.yMaximum();
pal::PalStat* stat = 0;
+ qWarning("**********************************starting calculation of overlay positions*****************************");
std::list<pal::Label*>* resultLabelList = mPositionEngine.labeller(renderContext.rendererScale(), bbox, &stat, true);
+ qWarning("**********************************calculation of overlay positions finished*****************************");
delete stat;
//and read the positions back to the overlay objects
@@ -119,13 +121,9 @@
continue;
}
- //print out coordinates of position
- qWarning("x, y:");
//QGIS takes the coordinates of the middle points
double x = ((*labelIt)->getX(0) + (*labelIt)->getX(1) + (*labelIt)->getX(2) + (*labelIt)->getX(3)) / 4;
double y = ((*labelIt)->getY(0) + (*labelIt)->getY(1) + (*labelIt)->getY(2) + (*labelIt)->getY(3)) / 4;
- //qWarning(QString::number(x).toLocal8Bit().data());
- //qWarning(QString::number(y).toLocal8Bit().data());
currentOverlayObject->addPosition(QgsPoint(x, y));
}
}
Modified: branches/vector_overlay_branch/src/core/qgsvectoroverlay.h
===================================================================
--- branches/vector_overlay_branch/src/core/qgsvectoroverlay.h 2008-11-27 14:15:27 UTC (rev 9713)
+++ branches/vector_overlay_branch/src/core/qgsvectoroverlay.h 2008-11-28 09:55:09 UTC (rev 9714)
@@ -33,7 +33,7 @@
virtual ~QgsVectorOverlay();
/**Create the overlay objects contained in a view extent. Subclasses need to implement this method and assign width/height information to the overlay ovbjects*/
- virtual void createOverlayObjects(const QgsRectangle& viewExtent) = 0;
+ virtual void createOverlayObjects(const QgsRenderContext& renderContext) = 0;
/**Remove the overlay objects and release their memory*/
void removeOverlayObjects();
Modified: branches/vector_overlay_branch/src/plugins/diagram_overlay/qgsdiagramoverlay.cpp
===================================================================
--- branches/vector_overlay_branch/src/plugins/diagram_overlay/qgsdiagramoverlay.cpp 2008-11-27 14:15:27 UTC (rev 9713)
+++ branches/vector_overlay_branch/src/plugins/diagram_overlay/qgsdiagramoverlay.cpp 2008-11-28 09:55:09 UTC (rev 9714)
@@ -48,7 +48,7 @@
mDiagramRenderer = r;
}
-void QgsDiagramOverlay::createOverlayObjects(const QgsRectangle& viewExtent)
+void QgsDiagramOverlay::createOverlayObjects(const QgsRenderContext& renderContext)
{
//memory cleanup
for(QMap<int, QgsOverlayObject*>::iterator it = mOverlayObjects.begin(); it != mOverlayObjects.end(); ++it)
@@ -64,7 +64,7 @@
if(theProvider)
{
//set spatial filter on data provider
- theProvider->select(mAttributes, viewExtent);
+ theProvider->select(mAttributes, renderContext.extent());
QgsFeature currentFeature;
int width, height;
Modified: branches/vector_overlay_branch/src/plugins/diagram_overlay/qgsdiagramoverlay.h
===================================================================
--- branches/vector_overlay_branch/src/plugins/diagram_overlay/qgsdiagramoverlay.h 2008-11-27 14:15:27 UTC (rev 9713)
+++ branches/vector_overlay_branch/src/plugins/diagram_overlay/qgsdiagramoverlay.h 2008-11-28 09:55:09 UTC (rev 9714)
@@ -28,7 +28,7 @@
public:
QgsDiagramOverlay(QgsVectorLayer* vl);
~QgsDiagramOverlay();
- void createOverlayObjects(const QgsRectangle& viewExtent);
+ void createOverlayObjects(const QgsRenderContext& renderContext);
void drawOverlayObjects(QgsRenderContext& context) const;
//setters and getters
More information about the QGIS-commit
mailing list