|
QGIS API Documentation
master-3f58142
|
A non GUI class for rendering a map layer set onto a QPainter. More...
#include <qgsmaprenderer.h>
Collaboration diagram for QgsMapRenderer:Public Types | |
| enum | BlendMode { BlendNormal, BlendLighten, BlendScreen, BlendDodge, BlendAddition, BlendDarken, BlendMultiply, BlendBurn, BlendOverlay, BlendSoftLight, BlendHardLight, BlendDifference, BlendSubtract } |
| Blending modes enum defining the available composition modes that can be used when rendering a layer. More... | |
| enum | OutputUnits { Millimeters, Pixels } |
| Output units for pen width and point marker width/height. More... | |
Public Slots | |
| void | onDrawingProgress (int current, int total) |
| called by signal from layer current being drawn | |
Signals | |
| void | destinationSrsChanged () |
| void | drawError (QgsMapLayer *) |
| emitted when layer's draw() returned false | |
| void | drawingProgress (int current, int total) |
| void | hasCrsTransformEnabled (bool flag) |
| void | mapUnitsChanged () |
| void | updateMap () |
Public Member Functions | |
| QgsMapRenderer () | |
| constructor | |
| ~QgsMapRenderer () | |
| destructor | |
| const QgsMapToPixel * | coordinateTransform () |
| const QgsCoordinateReferenceSystem & | destinationCrs () const |
| returns CRS of destination coordinate reference system | |
| void | enableOverviewMode (bool isOverview=true) |
| sets whether map image will be for overview | |
| QgsRectangle | extent () const |
| returns current extent | |
| QgsRectangle | fullExtent () |
| returns current extent of layer set | |
| bool | hasCrsTransformEnabled () const |
| returns true if projections are enabled for this layer set | |
| int | height () const |
| QgsLabelingEngineInterface * | labelingEngine () |
| Labeling engine (NULL if there's no custom engine) | |
| QgsRectangle | layerExtentToOutputExtent (QgsMapLayer *theLayer, QgsRectangle extent) |
| transform bounding box from layer's CRS to output CRS | |
| QStringList & | layerSet () |
| returns current layer set | |
| QgsPoint | layerToMapCoordinates (QgsMapLayer *theLayer, QgsPoint point) |
| transform point coordinates from layer's CRS to output CRS | |
| QgsRectangle | layerToMapCoordinates (QgsMapLayer *theLayer, QgsRectangle rect) |
| transform rectangle from layer's CRS to output CRS | |
| QgsPoint | mapToLayerCoordinates (QgsMapLayer *theLayer, QgsPoint point) |
| transform point coordinates from output CRS to layer's CRS | |
| QgsRectangle | mapToLayerCoordinates (QgsMapLayer *theLayer, QgsRectangle rect) |
| transform rectangle from output CRS to layer's CRS | |
| QGis::UnitType | mapUnits () const |
| double | mapUnitsPerPixel () const |
| double | outputDpi () |
| accessor for output dpi | |
| QgsRectangle | outputExtentToLayerExtent (QgsMapLayer *theLayer, QgsRectangle extent) |
| transform bounding box from output CRS to layer's CRS | |
| QSize | outputSize () |
| accessor for output size | |
| QSizeF | outputSizeF () |
| OutputUnits | outputUnits () const |
| bool | readXML (QDomNode &theNode) |
| read settings | |
| void | render (QPainter *painter, double *forceWidthScale=0) |
| starts rendering @ param forceWidthScale Force a specific scale factor for line widths and marker sizes. | |
| QgsRenderContext * | rendererContext () |
| Accessor for render context. | |
| double | scale () const |
| Scale denominator. | |
| void | setDestinationCrs (const QgsCoordinateReferenceSystem &crs) |
| sets destination coordinate reference system | |
| bool | setExtent (const QgsRectangle &extent) |
| sets extent and checks whether suitable (returns false if not) | |
| void | setLabelingEngine (QgsLabelingEngineInterface *iface) |
| Set labeling engine. | |
| void | setLayerSet (const QStringList &layers) |
| change current layer set | |
| void | setMapUnits (QGis::UnitType u) |
| void | setOutputSize (QSize size, int dpi) |
| void | setOutputSize (QSizeF size, double dpi) |
| void | setOutputUnits (OutputUnits u) |
| void | setProjectionsEnabled (bool enabled) |
| sets whether to use projections for this layer set | |
| void | setScale (double scale) |
| Sets scale for scale based visibility. | |
| void | updateFullExtent () |
| updates extent of the layer set | |
| void | updateScale () |
| Recalculate the map scale. | |
| int | width () const |
| bool | writeXML (QDomNode &theNode, QDomDocument &theDoc) |
| write settings | |
Static Public Member Functions | |
| static QgsMapRenderer::BlendMode | getBlendModeEnum (const QPainter::CompositionMode blendMode) |
| Returns a BlendMode corresponding to a QPainter::CompositionMode Added in 1.9. | |
| static QPainter::CompositionMode | getCompositionMode (const QgsMapRenderer::BlendMode blendMode) |
| Returns a QPainter::CompositionMode corresponding to a BlendMode Added in 1.9. | |
Protected Member Functions | |
| void | adjustExtentToSize () |
| adjust extent to fit the pixmap size | |
| QgsOverlayObjectPositionManager * | overlayManagerFromSettings () |
| Creates an overlay object position manager subclass according to the current settings. | |
| bool | splitLayersExtent (QgsMapLayer *layer, QgsRectangle &extent, QgsRectangle &r2) |
| Convenience function to project an extent into the layer source CRS, but also split it into two extents if it crosses the +/- 180 degree line. | |
Protected Attributes | |
| QgsCoordinateReferenceSystem * | mDestCRS |
| destination spatial reference system of the projection | |
| QgsDistanceArea * | mDistArea |
| tool for measuring | |
| QgsRectangle | mExtent |
| current extent to be drawn | |
| QgsRectangle | mFullExtent |
| full extent of the layer set | |
| QgsLabelingEngineInterface * | mLabelingEngine |
| Labeling engine (NULL by default) | |
| QgsRectangle | mLastExtent |
| Last extent to we drew so we know if we can used layer render caching or not. | |
| QStringList | mLayerSet |
| stores array of layers to be rendered (identified by string) | |
| double | mMapUnitsPerPixel |
| map units per pixel | |
| OutputUnits | mOutputUnits |
| Output units. | |
| bool | mOverview |
| indicates whether it's map image for overview | |
| bool | mProjectionsEnabled |
| detemines whether on the fly projection support is enabled | |
| QgsRenderContext | mRenderContext |
| Encapsulates context of rendering. | |
| QMutex | mRenderMutex |
| Locks rendering loop for concurrent draws. | |
| double | mScale |
| Map scale denominator at its current zoom level. | |
| QgsScaleCalculator * | mScaleCalculator |
| scale calculator | |
| QSizeF | mSize |
Static Protected Attributes | |
| static bool | mDrawing = false |
| indicates drawing in progress | |
Private Member Functions | |
| const QgsCoordinateTransform * | tr (QgsMapLayer *layer) |
A non GUI class for rendering a map layer set onto a QPainter.
Definition at line 120 of file qgsmaprenderer.h.
Blending modes enum defining the available composition modes that can be used when rendering a layer.
| BlendNormal | |
| BlendLighten | |
| BlendScreen | |
| BlendDodge | |
| BlendAddition | |
| BlendDarken | |
| BlendMultiply | |
| BlendBurn | |
| BlendOverlay | |
| BlendSoftLight | |
| BlendHardLight | |
| BlendDifference | |
| BlendSubtract |
Definition at line 137 of file qgsmaprenderer.h.
Output units for pen width and point marker width/height.
Definition at line 127 of file qgsmaprenderer.h.
constructor
Definition at line 46 of file qgsmaprenderer.cpp.
References QGis::Degrees, GEOCRS_ID, QgsCoordinateReferenceSystem::InternalCrsId, mDestCRS, mDistArea, mDrawing, Millimeters, mLabelingEngine, mOutputUnits, mOverview, mProjectionsEnabled, mScale, mScaleCalculator, mSize, and setMapUnits().
destructor
Definition at line 68 of file qgsmaprenderer.cpp.
References mDestCRS, mDistArea, mLabelingEngine, and mScaleCalculator.
| void QgsMapRenderer::adjustExtentToSize | ( | ) | [protected] |
adjust extent to fit the pixmap size
Definition at line 157 of file qgsmaprenderer.cpp.
References QgsRectangle::height(), mExtent, mMapUnitsPerPixel, mRenderContext, mScale, mSize, QgsDebugMsg, QgsRenderContext::setExtent(), QgsRenderContext::setMapToPixel(), QgsMapToPixel::setParameters(), QgsRectangle::setXMaximum(), QgsRectangle::setXMinimum(), QgsRectangle::setYMaximum(), QgsRectangle::setYMinimum(), QgsRectangle::toString(), updateScale(), QgsRectangle::width(), QgsRectangle::xMaximum(), QgsRectangle::xMinimum(), QgsRectangle::yMaximum(), and QgsRectangle::yMinimum().
Referenced by setExtent(), and setOutputSize().
| const QgsMapToPixel* QgsMapRenderer::coordinateTransform | ( | ) | [inline] |
Definition at line 170 of file qgsmaprenderer.h.
Referenced by QgsPalLabeling::addDiagramLayer(), QgsMapOverviewCanvas::drawExtentRect(), QgsPalLabeling::drawLabeling(), QgsMapCanvas::getCoordinateTransform(), QgsMapOverviewCanvas::mouseReleaseEvent(), QgsPalLabeling::prepareLayer(), QgsSnapper::snapPoint(), and QgsTolerance::toLayerCoordinates().
| const QgsCoordinateReferenceSystem & QgsMapRenderer::destinationCrs | ( | ) | const |
returns CRS of destination coordinate reference system
Definition at line 785 of file qgsmaprenderer.cpp.
References mDestCRS, QgsDebugMsgLevel, QgsCoordinateReferenceSystem::srsid(), and QgsCoordinateReferenceSystem::toProj4().
Referenced by QgsPalLabeling::addDiagramLayer(), QgsAtlasComposition::beginRender(), QgsMapOverviewCanvas::destinationSrsChanged(), QgsComposerMap::draw(), QgsComposerAttributeTable::getFeatureAttributes(), QgsMapToolIdentify::identifyRasterLayer(), QgsComposerScaleBar::mapWidth(), QgsPalLabeling::prepareLayer(), QgsHighlight::QgsHighlight(), and writeXML().
| void QgsMapRenderer::destinationSrsChanged | ( | ) | [signal] |
Referenced by setDestinationCrs().
| void QgsMapRenderer::drawError | ( | QgsMapLayer * | ) | [signal] |
emitted when layer's draw() returned false
Referenced by render().
| void QgsMapRenderer::drawingProgress | ( | int | current, |
| int | total | ||
| ) | [signal] |
Referenced by render().
| void QgsMapRenderer::enableOverviewMode | ( | bool | isOverview = true | ) | [inline] |
sets whether map image will be for overview
Definition at line 189 of file qgsmaprenderer.h.
Referenced by QgsMapOverviewCanvas::QgsMapOverviewCanvas().
| QgsRectangle QgsMapRenderer::extent | ( | ) | const |
returns current extent
Definition at line 76 of file qgsmaprenderer.cpp.
References mExtent.
Referenced by QgsComposerMap::composerMapPosForItem(), QgsComposerMap::drawCanvasItem(), QgsMapOverviewCanvas::drawExtentRect(), QgsMapCanvas::extent(), QgsMapCanvas::keyPressEvent(), layerExtentToOutputExtent(), outputExtentToLayerExtent(), QgsMapCanvas::panActionEnd(), QgsPalLabeling::prepareLayer(), QgsComposerMap::QgsComposerMap(), QgsMapCanvas::saveAsImage(), setExtent(), splitLayersExtent(), updateFullExtent(), QgsMapCanvas::wheelEvent(), writeXML(), QgsMapCanvas::zoomByFactor(), and QgsMapCanvas::zoomWithCenter().
returns current extent of layer set
Definition at line 1032 of file qgsmaprenderer.cpp.
References mFullExtent, and updateFullExtent().
Referenced by QgsMapCanvas::fullExtent(), and QgsMapOverviewCanvas::updateFullExtent().
| QgsMapRenderer::BlendMode QgsMapRenderer::getBlendModeEnum | ( | const QPainter::CompositionMode | blendMode | ) | [static] |
Returns a BlendMode corresponding to a QPainter::CompositionMode Added in 1.9.
Definition at line 1280 of file qgsmaprenderer.cpp.
References BlendAddition, BlendBurn, BlendDarken, BlendDifference, BlendDodge, BlendHardLight, BlendLighten, BlendMultiply, BlendNormal, BlendOverlay, BlendScreen, BlendSoftLight, and BlendSubtract.
Referenced by QgsComposerItem::_writeXML(), QgsBlendModeComboBox::setBlendMode(), QgsRasterLayer::writeSymbology(), QgsVectorLayer::writeSymbology(), QgsPalLayerSettings::writeToLayer(), and QgsComposerMap::writeXML().
| QPainter::CompositionMode QgsMapRenderer::getCompositionMode | ( | const QgsMapRenderer::BlendMode | blendMode | ) | [static] |
Returns a QPainter::CompositionMode corresponding to a BlendMode Added in 1.9.
Returns a QPainter::CompositionMode corresponding to a QgsMapRenderer::BlendMode.
Definition at line 1244 of file qgsmaprenderer.cpp.
References BlendAddition, BlendBurn, BlendDarken, BlendDifference, BlendDodge, BlendHardLight, BlendLighten, BlendMultiply, BlendNormal, BlendOverlay, BlendScreen, BlendSoftLight, and BlendSubtract.
Referenced by QgsComposerItem::_readXML(), QgsBlendModeComboBox::blendMode(), QgsPalLayerSettings::readFromLayer(), QgsRasterLayer::readSymbology(), QgsVectorLayer::readSymbology(), and QgsComposerMap::readXML().
| bool QgsMapRenderer::hasCrsTransformEnabled | ( | ) | const |
returns true if projections are enabled for this layer set
Definition at line 753 of file qgsmaprenderer.cpp.
References mProjectionsEnabled.
Referenced by QgsPalLabeling::addDiagramLayer(), QgsTolerance::computeMapUnitPerPixel(), QgsComposerMap::draw(), QgsComposerAttributeTable::getFeatureAttributes(), QgsMapCanvas::hasCrsTransformEnabled(), layerExtentToOutputExtent(), layerToMapCoordinates(), mapToLayerCoordinates(), QgsComposerScaleBar::mapWidth(), outputExtentToLayerExtent(), QgsPalLabeling::prepareLayer(), QgsHighlight::QgsHighlight(), render(), setProjectionsEnabled(), splitLayersExtent(), and writeXML().
| void QgsMapRenderer::hasCrsTransformEnabled | ( | bool | flag | ) | [signal] |
| int QgsMapRenderer::height | ( | ) | const [inline] |
Definition at line 180 of file qgsmaprenderer.h.
| QgsLabelingEngineInterface* QgsMapRenderer::labelingEngine | ( | ) | [inline] |
Labeling engine (NULL if there's no custom engine)
Definition at line 279 of file qgsmaprenderer.h.
Referenced by QgsComposerMap::containsAdvancedEffects(), and QgsComposerMap::draw().
| QgsRectangle QgsMapRenderer::layerExtentToOutputExtent | ( | QgsMapLayer * | theLayer, |
| QgsRectangle | extent | ||
| ) |
transform bounding box from layer's CRS to output CRS
Definition at line 848 of file qgsmaprenderer.cpp.
References extent(), hasCrsTransformEnabled(), QgsMessageLog::logMessage(), QgsDebugMsg, QgsRectangle::toString(), tr(), QgsCoordinateTransform::transformBoundingBox(), and QgsException::what().
Referenced by QgsMapCanvas::panToSelected(), updateFullExtent(), and QgsMapCanvas::zoomToSelected().
| QStringList & QgsMapRenderer::layerSet | ( | ) |
returns current layer set
Definition at line 1045 of file qgsmaprenderer.cpp.
References mLayerSet.
Referenced by QgsAtlasComposition::beginRender(), QgsComposerMap::containsAdvancedEffects(), QgsComposerMap::containsWMSLayer(), QgsComposerMap::draw(), QgsAtlasComposition::endRender(), QgsMapCanvas::layer(), QgsMapCanvas::layerCount(), QgsComposerLegend::layerIdList(), QgsMapCanvas::layers(), QgsMapOverviewCanvas::layerSet(), QgsMapCanvas::setLayerSet(), QgsComposerMap::storeCurrentLayerSet(), QgsComposerMap::syncLayerSet(), and QgsMapOverviewCanvas::updateFullExtent().
| QgsPoint QgsMapRenderer::layerToMapCoordinates | ( | QgsMapLayer * | theLayer, |
| QgsPoint | point | ||
| ) |
transform point coordinates from layer's CRS to output CRS
Definition at line 892 of file qgsmaprenderer.cpp.
References QgsCoordinateTransform::ForwardTransform, hasCrsTransformEnabled(), QgsMessageLog::logMessage(), tr(), QgsCoordinateTransform::transform(), and QgsException::what().
Referenced by QgsRubberBand::addGeometry(), QgsMapToolIdentify::featureDerivedAttributes(), QgsSnapper::snapPoint(), and QgsMapTool::toMapCoordinates().
| QgsRectangle QgsMapRenderer::layerToMapCoordinates | ( | QgsMapLayer * | theLayer, |
| QgsRectangle | rect | ||
| ) |
transform rectangle from layer's CRS to output CRS
Definition at line 912 of file qgsmaprenderer.cpp.
References QgsCoordinateTransform::ForwardTransform, hasCrsTransformEnabled(), QgsMessageLog::logMessage(), tr(), QgsCoordinateTransform::transform(), and QgsException::what().
| QgsPoint QgsMapRenderer::mapToLayerCoordinates | ( | QgsMapLayer * | theLayer, |
| QgsPoint | point | ||
| ) |
transform point coordinates from output CRS to layer's CRS
Definition at line 932 of file qgsmaprenderer.cpp.
References hasCrsTransformEnabled(), QgsMessageLog::logMessage(), QgsCoordinateTransform::ReverseTransform, tr(), QgsCoordinateTransform::transform(), and QgsException::what().
Referenced by QgsMapTip::fetchFeature(), QgsAttributeTableFilterModel::generateListOfVisibleFeatures(), QgsSnapper::snapPoint(), QgsTolerance::toLayerCoordinates(), and QgsMapTool::toLayerCoordinates().
| QgsRectangle QgsMapRenderer::mapToLayerCoordinates | ( | QgsMapLayer * | theLayer, |
| QgsRectangle | rect | ||
| ) |
transform rectangle from output CRS to layer's CRS
Definition at line 952 of file qgsmaprenderer.cpp.
References hasCrsTransformEnabled(), QgsMessageLog::logMessage(), QgsCoordinateTransform::ReverseTransform, tr(), QgsCoordinateTransform::transform(), and QgsException::what().
| QGis::UnitType QgsMapRenderer::mapUnits | ( | ) | const |
Definition at line 726 of file qgsmaprenderer.cpp.
References QgsScaleCalculator::mapUnits(), and mScaleCalculator.
Referenced by QgsComposerMap::initGridAnnotationFormatFromProject(), QgsMapCanvas::mapUnits(), QgsComposerMap::scale(), and writeXML().
| void QgsMapRenderer::mapUnitsChanged | ( | ) | [signal] |
Referenced by setMapUnits().
| double QgsMapRenderer::mapUnitsPerPixel | ( | ) | const [inline] |
Definition at line 177 of file qgsmaprenderer.h.
Referenced by QgsTolerance::computeMapUnitPerPixel(), and QgsMapCanvas::mapUnitsPerPixel().
| void QgsMapRenderer::onDrawingProgress | ( | int | current, |
| int | total | ||
| ) | [slot] |
called by signal from layer current being drawn
Definition at line 731 of file qgsmaprenderer.cpp.
References updateMap().
Referenced by render().
| double QgsMapRenderer::outputDpi | ( | ) |
accessor for output dpi
Definition at line 142 of file qgsmaprenderer.cpp.
References QgsScaleCalculator::dpi(), and mScaleCalculator.
Referenced by QgsMapCanvasItem::setRenderContextVariables().
| QgsRectangle QgsMapRenderer::outputExtentToLayerExtent | ( | QgsMapLayer * | theLayer, |
| QgsRectangle | extent | ||
| ) |
transform bounding box from output CRS to layer's CRS
Definition at line 870 of file qgsmaprenderer.cpp.
References extent(), hasCrsTransformEnabled(), QgsMessageLog::logMessage(), QgsDebugMsg, QgsCoordinateTransform::ReverseTransform, QgsRectangle::toString(), tr(), QgsCoordinateTransform::transformBoundingBox(), and QgsException::what().
| QSize QgsMapRenderer::outputSize | ( | ) |
| QSizeF QgsMapRenderer::outputSizeF | ( | ) |
Definition at line 152 of file qgsmaprenderer.cpp.
References mSize.
| OutputUnits QgsMapRenderer::outputUnits | ( | ) | const [inline] |
Definition at line 254 of file qgsmaprenderer.h.
Referenced by QgsMapCanvasItem::setRenderContextVariables().
| QgsOverlayObjectPositionManager * QgsMapRenderer::overlayManagerFromSettings | ( | ) | [protected] |
Creates an overlay object position manager subclass according to the current settings.
Definition at line 1050 of file qgsmaprenderer.cpp.
References QgsPALObjectPositionManager::setPlacementAlgorithm().
Referenced by render().
| bool QgsMapRenderer::readXML | ( | QDomNode & | theNode | ) |
read settings
Definition at line 1086 of file qgsmaprenderer.cpp.
References QGis::Degrees, QGis::Feet, QGis::Meters, QgsDebugMsg, QgsCoordinateReferenceSystem::readXML(), setDestinationCrs(), setExtent(), setMapUnits(), setProjectionsEnabled(), QgsRectangle::setXMaximum(), QgsRectangle::setXMinimum(), QgsRectangle::setYMaximum(), QgsRectangle::setYMinimum(), and QGis::UnknownUnit.
Referenced by QgsMapCanvas::readProject().
| void QgsMapRenderer::render | ( | QPainter * | painter, |
| double * | forceWidthScale = 0 |
||
| ) |
starts rendering @ param forceWidthScale Force a specific scale factor for line widths and marker sizes.
Automatically calculated from output device DPI if 0
Definition at line 223 of file qgsmaprenderer.cpp.
References QgsOverlayObjectPositionManager::addLayer(), QgsCoordinateReferenceSystem::authid(), QgsMapLayer::blendMode(), QgsMapLayer::cacheImage(), QgsMapLayerRegistry::clearAllLayerCaches(), QgsMapLayer::crs(), QgsScaleCalculator::dpi(), QgsMapLayer::draw(), drawError(), drawingProgress(), QgsLabelingEngineInterface::drawLabeling(), QgsMapLayer::drawLabels(), QgsLabelingEngineInterface::exit(), QgsMapLayer::extent(), QgsVectorLayer::featureBlendMode(), QgsOverlayObjectPositionManager::findObjectPositions(), hasCrsTransformEnabled(), QgsMapLayer::hasScaleBasedVisibility(), QgsLabelingEngineInterface::init(), QgsCoordinateTransformCache::instance(), QgsMapLayerRegistry::instance(), QgsProject::instance(), QgsVectorLayer::isEditable(), QgsRectangle::isEmpty(), QgsRectangle::isFinite(), QgsRenderContext::labelingEngine(), QgsVectorLayer::layerTransparency(), QgsMapLayerRegistry::mapLayer(), QgsRenderContext::mapToPixel(), QgsScaleCalculator::mapUnits(), QgsMapToPixel::mapUnitsPerPixel(), QgsMapLayer::maximumScale(), mDestCRS, mDrawing, mExtent, Millimeters, QgsMapLayer::minimumScale(), mLabelingEngine, mLastExtent, mLayerSet, mOutputUnits, mOverview, mRenderContext, mRenderMutex, mScale, mScaleCalculator, mSize, QgsMapLayer::name(), onDrawingProgress(), overlayManagerFromSettings(), QgsRenderContext::painter(), QgsDebugMsg, QgsMapLayer::RasterLayer, QgsRenderContext::rasterScaleFactor(), rasterScaleFactor, QgsProject::readNumEntry(), QgsOverlayObjectPositionManager::removeLayers(), QgsRenderContext::rendererScale(), QgsRenderContext::renderingStopped(), QgsRenderContext::scaleFactor(), QgsMapLayer::setCacheImage(), QgsRenderContext::setCoordinateTransform(), QgsRenderContext::setDrawEditingInformation(), QgsRenderContext::setExtent(), QgsRenderContext::setLabelingEngine(), QgsRenderContext::setMapToPixel(), QgsMapToPixel::setMapUnitsPerPixel(), QgsRenderContext::setPainter(), QgsRenderContext::setRasterScaleFactor(), QgsRenderContext::setRendererScale(), QgsRenderContext::setRenderingStopped(), QgsRenderContext::setScaleFactor(), QgsRenderContext::setSelectionColor(), QgsMapToPixel::setYMaximum(), splitLayersExtent(), QgsRectangle::toString(), QgsCoordinateTransformCache::transform(), QgsMapLayer::type(), QgsRenderContext::useAdvancedEffects(), QgsMapLayer::VectorLayer, QgsVectorLayer::vectorOverlays(), and QgsLabelingEngineInterface::willUseLayer().
Referenced by QgsComposerMap::draw(), QgsMapOverviewCanvas::refresh(), QgsMapCanvasMap::render(), QgsRenderChecker::runTest(), and QgsMapCanvas::saveAsImage().
| QgsRenderContext* QgsMapRenderer::rendererContext | ( | ) | [inline] |
Accessor for render context.
Definition at line 275 of file qgsmaprenderer.h.
Referenced by QgsComposerMap::draw(), QgsAttributeTableFilterModel::generateListOfVisibleFeatures(), QgsMapToolIdentify::identifyVectorLayer(), QgsMapCanvas::paintEvent(), and QgsMapCanvas::setRenderFlag().
| double QgsMapRenderer::scale | ( | ) | const [inline] |
Scale denominator.
Definition at line 173 of file qgsmaprenderer.h.
Referenced by QgsComposerMap::draw(), QgsPalLabeling::drawLabeling(), QgsAttributeTableFilterModel::generateListOfVisibleFeatures(), QgsMapToolIdentify::identifyVectorLayer(), QgsMapCanvas::scale(), and QgsMapCanvas::updateScale().
| void QgsMapRenderer::setDestinationCrs | ( | const QgsCoordinateReferenceSystem & | crs | ) |
sets destination coordinate reference system
Definition at line 758 of file qgsmaprenderer.cpp.
References destinationSrsChanged(), QgsRectangle::isEmpty(), mDestCRS, mDistArea, mExtent, QgsDebugMsg, setExtent(), QgsDistanceArea::setSourceCrs(), QgsCoordinateReferenceSystem::srsid(), QgsCoordinateReferenceSystem::toProj4(), QgsCoordinateTransform::transformBoundingBox(), and updateFullExtent().
Referenced by QgsMapOverviewCanvas::destinationSrsChanged(), QgsComposerMap::draw(), and readXML().
| bool QgsMapRenderer::setExtent | ( | const QgsRectangle & | extent | ) |
sets extent and checks whether suitable (returns false if not)
Definition at line 86 of file qgsmaprenderer.cpp.
References adjustExtentToSize(), extent(), QgsRectangle::height(), QgsRectangle::isEmpty(), mExtent, mLastExtent, QgsRectangle::width(), QgsRectangle::xMaximum(), QgsRectangle::xMinimum(), QgsRectangle::yMaximum(), and QgsRectangle::yMinimum().
Referenced by QgsComposerMap::draw(), readXML(), setDestinationCrs(), QgsMapCanvas::setExtent(), QgsMapOverviewCanvas::updateFullExtent(), QgsMapCanvas::zoomToNextExtent(), and QgsMapCanvas::zoomToPreviousExtent().
| void QgsMapRenderer::setLabelingEngine | ( | QgsLabelingEngineInterface * | iface | ) |
Set labeling engine.
Previous engine (if any) is deleted. Takes ownership of the engine. Added in QGIS v1.4
Definition at line 1225 of file qgsmaprenderer.cpp.
References mLabelingEngine.
Referenced by QgsComposerMap::draw().
| void QgsMapRenderer::setLayerSet | ( | const QStringList & | layers | ) |
change current layer set
Definition at line 1038 of file qgsmaprenderer.cpp.
References mLayerSet, QgsDebugMsg, and updateFullExtent().
Referenced by QgsComposerMap::draw(), QgsMapOverviewCanvas::setLayerSet(), and QgsMapCanvas::setLayerSet().
| void QgsMapRenderer::setMapUnits | ( | QGis::UnitType | u | ) |
Definition at line 716 of file qgsmaprenderer.cpp.
References mapUnitsChanged(), mScaleCalculator, QgsScaleCalculator::setMapUnits(), and updateScale().
Referenced by QgsMapRenderer(), readXML(), and QgsMapCanvas::setMapUnits().
| void QgsMapRenderer::setOutputSize | ( | QSize | size, |
| int | dpi | ||
| ) |
Definition at line 128 of file qgsmaprenderer.cpp.
References adjustExtentToSize(), mScaleCalculator, mSize, and QgsScaleCalculator::setDpi().
Referenced by QgsComposerMap::draw(), QgsMapOverviewCanvas::paintEvent(), QgsMapCanvasMap::resize(), and QgsRenderChecker::runTest().
| void QgsMapRenderer::setOutputSize | ( | QSizeF | size, |
| double | dpi | ||
| ) |
Definition at line 135 of file qgsmaprenderer.cpp.
References adjustExtentToSize(), mScaleCalculator, mSize, QgsScaleCalculator::setDpi(), and size.
| void QgsMapRenderer::setOutputUnits | ( | OutputUnits | u | ) | [inline] |
Definition at line 252 of file qgsmaprenderer.h.
| void QgsMapRenderer::setProjectionsEnabled | ( | bool | enabled | ) |
sets whether to use projections for this layer set
Definition at line 740 of file qgsmaprenderer.cpp.
References hasCrsTransformEnabled(), mDistArea, mLastExtent, mProjectionsEnabled, QgsDebugMsg, QgsDistanceArea::setEllipsoidalMode(), QgsRectangle::setMinimal(), and updateFullExtent().
Referenced by QgsComposerMap::draw(), QgsMapOverviewCanvas::hasCrsTransformEnabled(), and readXML().
| void QgsMapRenderer::setScale | ( | double | scale | ) | [inline] |
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)
Definition at line 176 of file qgsmaprenderer.h.
Referenced by QgsComposerMap::draw().
| bool QgsMapRenderer::splitLayersExtent | ( | QgsMapLayer * | layer, |
| QgsRectangle & | extent, | ||
| QgsRectangle & | r2 | ||
| ) | [protected] |
Convenience function to project an extent into the layer source CRS, but also split it into two extents if it crosses the +/- 180 degree line.
Modifies the given extent to be in the source CRS coordinates, and if it was split, returns true, and also sets the contents of the r2 parameter
Definition at line 794 of file qgsmaprenderer.cpp.
References QgsMapLayer::crs(), extent(), QgsCoordinateReferenceSystem::geographicFlag(), hasCrsTransformEnabled(), QgsDebugMsg, QgsCoordinateTransform::ReverseTransform, QgsRectangle::setXMaximum(), QgsRectangle::setXMinimum(), tr(), QgsCoordinateTransform::transform(), QgsCoordinateTransform::transformBoundingBox(), QgsPoint::x(), QgsRectangle::xMaximum(), QgsRectangle::xMinimum(), QgsRectangle::yMaximum(), and QgsRectangle::yMinimum().
Referenced by render().
| const QgsCoordinateTransform * QgsMapRenderer::tr | ( | QgsMapLayer * | layer | ) | [private] |
Definition at line 1233 of file qgsmaprenderer.cpp.
References QgsCoordinateReferenceSystem::authid(), QgsMapLayer::crs(), QgsCoordinateTransformCache::instance(), mDestCRS, and QgsCoordinateTransformCache::transform().
Referenced by layerExtentToOutputExtent(), layerToMapCoordinates(), mapToLayerCoordinates(), outputExtentToLayerExtent(), and splitLayersExtent().
| void QgsMapRenderer::updateFullExtent | ( | ) |
updates extent of the layer set
Definition at line 969 of file qgsmaprenderer.cpp.
References QgsMapLayer::extent(), extent(), QgsRectangle::height(), QgsMapLayerRegistry::instance(), layerExtentToOutputExtent(), QgsMapLayerRegistry::mapLayer(), mFullExtent, mLayerSet, QgsMapLayer::name(), QgsDebugMsg, QgsRectangle::set(), QgsRectangle::setMinimal(), QgsRectangle::toString(), QgsRectangle::unionRect(), QgsRectangle::width(), QgsRectangle::xMaximum(), QgsRectangle::xMinimum(), QgsRectangle::yMaximum(), and QgsRectangle::yMinimum().
Referenced by fullExtent(), setDestinationCrs(), QgsMapOverviewCanvas::setLayerSet(), setLayerSet(), setProjectionsEnabled(), and QgsMapCanvas::updateFullExtent().
| void QgsMapRenderer::updateMap | ( | ) | [signal] |
Referenced by onDrawingProgress().
| void QgsMapRenderer::updateScale | ( | ) |
Recalculate the map scale.
Definition at line 81 of file qgsmaprenderer.cpp.
References QgsScaleCalculator::calculate(), mExtent, mScale, mScaleCalculator, and mSize.
Referenced by adjustExtentToSize(), and setMapUnits().
| int QgsMapRenderer::width | ( | ) | const [inline] |
Definition at line 179 of file qgsmaprenderer.h.
| bool QgsMapRenderer::writeXML | ( | QDomNode & | theNode, |
| QDomDocument & | theDoc | ||
| ) |
write settings
Definition at line 1156 of file qgsmaprenderer.cpp.
References QGis::Degrees, destinationCrs(), extent(), QGis::Feet, hasCrsTransformEnabled(), mapUnits(), QGis::Meters, QGis::UnknownUnit, QgsCoordinateReferenceSystem::writeXML(), QgsRectangle::xMaximum(), QgsRectangle::xMinimum(), QgsRectangle::yMaximum(), and QgsRectangle::yMinimum().
Referenced by QgsMapCanvas::writeProject().
QgsCoordinateReferenceSystem* QgsMapRenderer::mDestCRS [protected] |
destination spatial reference system of the projection
Definition at line 361 of file qgsmaprenderer.h.
Referenced by destinationCrs(), QgsMapRenderer(), render(), setDestinationCrs(), tr(), and ~QgsMapRenderer().
QgsDistanceArea* QgsMapRenderer::mDistArea [protected] |
tool for measuring
Definition at line 370 of file qgsmaprenderer.h.
Referenced by QgsMapRenderer(), setDestinationCrs(), setProjectionsEnabled(), and ~QgsMapRenderer().
bool QgsMapRenderer::mDrawing = false [static, protected] |
indicates drawing in progress
Definition at line 331 of file qgsmaprenderer.h.
Referenced by QgsMapRenderer(), and render().
QgsRectangle QgsMapRenderer::mExtent [protected] |
current extent to be drawn
Definition at line 343 of file qgsmaprenderer.h.
Referenced by adjustExtentToSize(), extent(), render(), setDestinationCrs(), setExtent(), and updateScale().
QgsRectangle QgsMapRenderer::mFullExtent [protected] |
full extent of the layer set
Definition at line 367 of file qgsmaprenderer.h.
Referenced by fullExtent(), and updateFullExtent().
Labeling engine (NULL by default)
Definition at line 379 of file qgsmaprenderer.h.
Referenced by QgsMapRenderer(), render(), setLabelingEngine(), and ~QgsMapRenderer().
QgsRectangle QgsMapRenderer::mLastExtent [protected] |
Last extent to we drew so we know if we can used layer render caching or not.
Note there are no accessors for this as it is intended to internal use only.
Definition at line 350 of file qgsmaprenderer.h.
Referenced by render(), setExtent(), and setProjectionsEnabled().
QStringList QgsMapRenderer::mLayerSet [protected] |
stores array of layers to be rendered (identified by string)
Definition at line 364 of file qgsmaprenderer.h.
Referenced by layerSet(), render(), setLayerSet(), and updateFullExtent().
double QgsMapRenderer::mMapUnitsPerPixel [protected] |
map units per pixel
Definition at line 334 of file qgsmaprenderer.h.
Referenced by adjustExtentToSize().
OutputUnits QgsMapRenderer::mOutputUnits [protected] |
Output units.
Definition at line 376 of file qgsmaprenderer.h.
Referenced by QgsMapRenderer(), and render().
bool QgsMapRenderer::mOverview [protected] |
indicates whether it's map image for overview
Definition at line 353 of file qgsmaprenderer.h.
Referenced by QgsMapRenderer(), and render().
bool QgsMapRenderer::mProjectionsEnabled [protected] |
detemines whether on the fly projection support is enabled
Definition at line 358 of file qgsmaprenderer.h.
Referenced by hasCrsTransformEnabled(), QgsMapRenderer(), and setProjectionsEnabled().
QgsRenderContext QgsMapRenderer::mRenderContext [protected] |
Encapsulates context of rendering.
Definition at line 373 of file qgsmaprenderer.h.
Referenced by adjustExtentToSize(), and render().
QMutex QgsMapRenderer::mRenderMutex [protected] |
Locks rendering loop for concurrent draws.
Definition at line 382 of file qgsmaprenderer.h.
Referenced by render().
double QgsMapRenderer::mScale [protected] |
Map scale denominator at its current zoom level.
Definition at line 337 of file qgsmaprenderer.h.
Referenced by adjustExtentToSize(), QgsMapRenderer(), render(), and updateScale().
QgsScaleCalculator* QgsMapRenderer::mScaleCalculator [protected] |
scale calculator
Definition at line 340 of file qgsmaprenderer.h.
Referenced by mapUnits(), outputDpi(), QgsMapRenderer(), render(), setMapUnits(), setOutputSize(), updateScale(), and ~QgsMapRenderer().
QSizeF QgsMapRenderer::mSize [protected] |
Definition at line 355 of file qgsmaprenderer.h.
Referenced by adjustExtentToSize(), outputSize(), outputSizeF(), QgsMapRenderer(), render(), setOutputSize(), and updateScale().