QGIS API Documentation
2.4.0-Chugiak
|
A non GUI class for rendering a map layer set onto a QPainter. More...
#include <qgsmaprenderer.h>
Public Types | |
enum | OutputUnits { Millimeters, Pixels } |
Output units for pen width and point marker width/height. More... | |
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... | |
Public Slots | |
Q_DECL_DEPRECATED void | onDrawingProgress (int current, int total) |
Signals | |
void | drawingProgress (int current, int total) |
Q_DECL_DEPRECATED void | hasCrsTransformEnabled (bool flag) |
This signal is emitted when CRS transformation is enabled/disabled. More... | |
void | hasCrsTransformEnabledChanged (bool flag) |
This signal is emitted when CRS transformation is enabled/disabled. More... | |
void | destinationSrsChanged () |
void | updateMap () |
void | mapUnitsChanged () |
void | drawError (QgsMapLayer *) |
emitted when layer's draw() returned false More... | |
void | extentsChanged () |
emitted when the current extent gets changed More... | |
void | datumTransformInfoRequested (const QgsMapLayer *ml, const QString &srcAuthId, const QString &destAuthId) const |
Notifies higher level components to show the datum transform dialog and add a QgsLayerCoordinateTransformInfo for that layer. More... | |
Public Member Functions | |
QgsMapRenderer () | |
constructor More... | |
~QgsMapRenderer () | |
destructor More... | |
void | render (QPainter *painter, double *forceWidthScale=0) |
starts rendering More... | |
bool | setExtent (const QgsRectangle &extent) |
sets extent and checks whether suitable (returns false if not) More... | |
QgsRectangle | extent () const |
returns current extent More... | |
const QgsMapToPixel * | coordinateTransform () |
double | scale () const |
Scale denominator. More... | |
void | setScale (double scale) |
Sets scale for scale based visibility. More... | |
double | mapUnitsPerPixel () const |
int | width () const |
int | height () const |
void | updateScale () |
Recalculate the map scale. More... | |
QGis::UnitType | mapUnits () const |
void | setMapUnits (QGis::UnitType u) |
void | enableOverviewMode (bool isOverview=true) |
sets whether map image will be for overview More... | |
void | setOutputSize (QSize size, int dpi) |
void | setOutputSize (QSizeF size, double dpi) |
double | outputDpi () |
accessor for output dpi More... | |
QSize | outputSize () |
accessor for output size More... | |
QSizeF | outputSizeF () |
QgsRectangle | layerExtentToOutputExtent (QgsMapLayer *theLayer, QgsRectangle extent) |
transform bounding box from layer's CRS to output CRS More... | |
QgsRectangle | outputExtentToLayerExtent (QgsMapLayer *theLayer, QgsRectangle extent) |
transform bounding box from output CRS to layer's CRS More... | |
QgsPoint | layerToMapCoordinates (QgsMapLayer *theLayer, QgsPoint point) |
transform point coordinates from layer's CRS to output CRS More... | |
QgsRectangle | layerToMapCoordinates (QgsMapLayer *theLayer, QgsRectangle rect) |
transform rectangle from layer's CRS to output CRS More... | |
QgsPoint | mapToLayerCoordinates (QgsMapLayer *theLayer, QgsPoint point) |
transform point coordinates from output CRS to layer's CRS More... | |
QgsRectangle | mapToLayerCoordinates (QgsMapLayer *theLayer, QgsRectangle rect) |
transform rectangle from output CRS to layer's CRS More... | |
void | setProjectionsEnabled (bool enabled) |
sets whether to use projections for this layer set More... | |
bool | hasCrsTransformEnabled () const |
returns true if projections are enabled for this layer set More... | |
void | setDestinationCrs (const QgsCoordinateReferenceSystem &crs, bool refreshCoordinateTransformInfo=true, bool transformExtent=true) |
sets destination coordinate reference system More... | |
const QgsCoordinateReferenceSystem & | destinationCrs () const |
returns CRS of destination coordinate reference system More... | |
void | setOutputUnits (OutputUnits u) |
OutputUnits | outputUnits () const |
QgsRectangle | fullExtent () |
returns current extent of layer set More... | |
QStringList & | layerSet () |
returns current layer set More... | |
void | setLayerSet (const QStringList &layers) |
change current layer set More... | |
void | updateFullExtent () |
updates extent of the layer set More... | |
bool | readXML (QDomNode &theNode) |
read settings More... | |
bool | writeXML (QDomNode &theNode, QDomDocument &theDoc) |
write settings More... | |
QgsRenderContext * | rendererContext () |
Accessor for render context. More... | |
QgsLabelingEngineInterface * | labelingEngine () |
Labeling engine (NULL if there's no custom engine) More... | |
void | setLabelingEngine (QgsLabelingEngineInterface *iface) |
Set labeling engine. More... | |
void | addLayerCoordinateTransform (const QString &layerId, const QString &srcAuthId, const QString &destAuthId, int srcDatumTransform=-1, int destDatumTransform=-1) |
void | clearLayerCoordinateTransforms () |
const QgsCoordinateTransform * | transformation (const QgsMapLayer *layer) const |
const QgsMapSettings & | mapSettings () |
bridge to QgsMapSettings More... | |
Static Public Member Functions | |
static QPainter::CompositionMode | getCompositionMode (const QgsMapRenderer::BlendMode &blendMode) |
Returns a QPainter::CompositionMode corresponding to a BlendMode Added in 1.9. More... | |
static QgsMapRenderer::BlendMode | getBlendModeEnum (const QPainter::CompositionMode &blendMode) |
Returns a BlendMode corresponding to a QPainter::CompositionMode Added in 1.9. More... | |
Protected Member Functions | |
void | adjustExtentToSize () |
adjust extent to fit the pixmap size More... | |
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. More... | |
Protected Attributes | |
double | mMapUnitsPerPixel |
map units per pixel More... | |
double | mScale |
Map scale denominator at its current zoom level. More... | |
QgsScaleCalculator * | mScaleCalculator |
scale calculator More... | |
QgsRectangle | mExtent |
current extent to be drawn More... | |
QgsRectangle | mLastExtent |
Last extent to we drew so we know if we can used layer render caching or not. More... | |
bool | mOverview |
indicates whether it's map image for overview More... | |
QSizeF | mSize |
bool | mProjectionsEnabled |
detemines whether on the fly projection support is enabled More... | |
QgsCoordinateReferenceSystem * | mDestCRS |
destination spatial reference system of the projection More... | |
QStringList | mLayerSet |
stores array of layers to be rendered (identified by string) More... | |
QgsRectangle | mFullExtent |
full extent of the layer set More... | |
QgsDistanceArea * | mDistArea |
tool for measuring More... | |
QgsRenderContext | mRenderContext |
Encapsulates context of rendering. More... | |
OutputUnits | mOutputUnits |
Output units. More... | |
QgsLabelingEngineInterface * | mLabelingEngine |
Labeling engine (NULL by default) More... | |
QMutex | mRenderMutex |
Locks rendering loop for concurrent draws. More... | |
QgsMapSettings | mMapSettings |
map settings - used only for export in mapSettings() for use in classes that deal with QgsMapSettings More... | |
QHash< QString, QgsLayerCoordinateTransform > | mLayerCoordinateTransformInfo |
Static Protected Attributes | |
static bool | mDrawing = false |
indicates drawing in progress More... | |
A non GUI class for rendering a map layer set onto a QPainter.
Definition at line 133 of file qgsmaprenderer.h.
Blending modes enum defining the available composition modes that can be used when rendering a layer.
Enumerator | |
---|---|
BlendNormal | |
BlendLighten | |
BlendScreen | |
BlendDodge | |
BlendAddition | |
BlendDarken | |
BlendMultiply | |
BlendBurn | |
BlendOverlay | |
BlendSoftLight | |
BlendHardLight | |
BlendDifference | |
BlendSubtract |
Definition at line 150 of file qgsmaprenderer.h.
Output units for pen width and point marker width/height.
Enumerator | |
---|---|
Millimeters | |
Pixels |
Definition at line 140 of file qgsmaprenderer.h.
QgsMapRenderer::QgsMapRenderer | ( | ) |
constructor
Definition at line 42 of file qgsmaprenderer.cpp.
References QGis::Degrees, GEOCRS_ID, QgsCoordinateReferenceSystem::InternalCrsId, mDestCRS, mDistArea, mDrawing, Millimeters, mLabelingEngine, mOutputUnits, mOverview, mProjectionsEnabled, mScale, mScaleCalculator, mSize, and setMapUnits().
QgsMapRenderer::~QgsMapRenderer | ( | ) |
destructor
Definition at line 64 of file qgsmaprenderer.cpp.
References mDestCRS, mDistArea, mLabelingEngine, and mScaleCalculator.
void QgsMapRenderer::addLayerCoordinateTransform | ( | const QString & | layerId, |
const QString & | srcAuthId, | ||
const QString & | destAuthId, | ||
int | srcDatumTransform = -1 , |
||
int | destDatumTransform = -1 |
||
) |
Definition at line 1195 of file qgsmaprenderer.cpp.
References QgsLayerCoordinateTransform::destAuthId, QgsLayerCoordinateTransform::destDatumTransform, mLayerCoordinateTransformInfo, QgsLayerCoordinateTransform::srcAuthId, and QgsLayerCoordinateTransform::srcDatumTransform.
Referenced by QgsMapCanvas::getDatumTransformInfo().
|
protected |
adjust extent to fit the pixmap size
Definition at line 155 of file qgsmaprenderer.cpp.
References QgsRectangle::height(), mExtent, mMapUnitsPerPixel, mRenderContext, mScale, mSize, QgsDebugMsg, qgsDoubleToString(), 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().
void QgsMapRenderer::clearLayerCoordinateTransforms | ( | ) |
Definition at line 1205 of file qgsmaprenderer.cpp.
References mLayerCoordinateTransformInfo.
|
inline |
Definition at line 184 of file qgsmaprenderer.h.
|
signal |
Notifies higher level components to show the datum transform dialog and add a QgsLayerCoordinateTransformInfo for that layer.
Referenced by transformation().
const QgsCoordinateReferenceSystem & QgsMapRenderer::destinationCrs | ( | ) | const |
returns CRS of destination coordinate reference system
Definition at line 691 of file qgsmaprenderer.cpp.
References mDestCRS, QgsDebugMsgLevel, QgsCoordinateReferenceSystem::srsid(), and QgsCoordinateReferenceSystem::toProj4().
Referenced by mapSettings(), QgsMapCanvasRendererSync::onDestCrsR2C(), and writeXML().
|
signal |
Referenced by setDestinationCrs().
|
signal |
emitted when layer's draw() returned false
Referenced by render().
|
signal |
Referenced by render().
|
inline |
sets whether map image will be for overview
Definition at line 203 of file qgsmaprenderer.h.
QgsRectangle QgsMapRenderer::extent | ( | ) | const |
returns current extent
Definition at line 72 of file qgsmaprenderer.cpp.
References mExtent.
Referenced by layerExtentToOutputExtent(), mapSettings(), QgsMapCanvasRendererSync::onExtentR2C(), outputExtentToLayerExtent(), setExtent(), splitLayersExtent(), updateFullExtent(), and writeXML().
|
signal |
QgsRectangle QgsMapRenderer::fullExtent | ( | ) |
returns current extent of layer set
Definition at line 976 of file qgsmaprenderer.cpp.
References mFullExtent, and updateFullExtent().
|
static |
Returns a BlendMode corresponding to a QPainter::CompositionMode Added in 1.9.
Definition at line 1144 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().
|
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 1108 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 655 of file qgsmaprenderer.cpp.
References mProjectionsEnabled.
Referenced by layerExtentToOutputExtent(), layerToMapCoordinates(), mapSettings(), mapToLayerCoordinates(), QgsMapCanvasRendererSync::onCrsTransformR2C(), outputExtentToLayerExtent(), render(), setProjectionsEnabled(), splitLayersExtent(), and writeXML().
|
signal |
This signal is emitted when CRS transformation is enabled/disabled.
flag | true if transformation is enabled. |
|
signal |
This signal is emitted when CRS transformation is enabled/disabled.
flag | true if transformation is enabled. |
Referenced by setProjectionsEnabled().
|
inline |
Definition at line 194 of file qgsmaprenderer.h.
|
inline |
Labeling engine (NULL if there's no custom engine)
Definition at line 293 of file qgsmaprenderer.h.
QgsRectangle QgsMapRenderer::layerExtentToOutputExtent | ( | QgsMapLayer * | theLayer, |
QgsRectangle | extent | ||
) |
transform bounding box from layer's CRS to output CRS
Definition at line 763 of file qgsmaprenderer.cpp.
References extent(), hasCrsTransformEnabled(), QgsMessageLog::logMessage(), QgsDebugMsg, QgsRectangle::toString(), tr, transformation(), QgsCoordinateTransform::transformBoundingBox(), and QgsException::what().
Referenced by updateFullExtent().
QStringList & QgsMapRenderer::layerSet | ( | ) |
returns current layer set
Definition at line 989 of file qgsmaprenderer.cpp.
References mLayerSet.
Referenced by mapSettings().
QgsPoint QgsMapRenderer::layerToMapCoordinates | ( | QgsMapLayer * | theLayer, |
QgsPoint | point | ||
) |
transform point coordinates from layer's CRS to output CRS
Definition at line 818 of file qgsmaprenderer.cpp.
References QgsCoordinateTransform::ForwardTransform, hasCrsTransformEnabled(), QgsMessageLog::logMessage(), QgsCoordinateTransform::transform(), transformation(), and QgsException::what().
QgsRectangle QgsMapRenderer::layerToMapCoordinates | ( | QgsMapLayer * | theLayer, |
QgsRectangle | rect | ||
) |
transform rectangle from layer's CRS to output CRS
Definition at line 842 of file qgsmaprenderer.cpp.
References QgsCoordinateTransform::ForwardTransform, hasCrsTransformEnabled(), QgsMessageLog::logMessage(), QgsCoordinateTransform::transform(), transformation(), and QgsException::what().
const QgsMapSettings & QgsMapRenderer::mapSettings | ( | ) |
bridge to QgsMapSettings
Definition at line 1182 of file qgsmaprenderer.cpp.
References destinationCrs(), extent(), hasCrsTransformEnabled(), layerSet(), mapUnits(), mMapSettings, outputDpi(), outputSize(), qt_defaultDpiX(), QgsMapSettings::setCrsTransformEnabled(), QgsMapSettings::setDestinationCrs(), QgsMapSettings::setExtent(), QgsMapSettings::setLayers(), QgsMapSettings::setMapUnits(), QgsMapSettings::setOutputDpi(), and QgsMapSettings::setOutputSize().
Referenced by QgsTolerance::defaultTolerance(), QgsPalLabeling::init(), render(), QgsRenderChecker::setMapRenderer(), QgsTolerance::toleranceInMapUnits(), and QgsTolerance::vertexSearchRadius().
QgsPoint QgsMapRenderer::mapToLayerCoordinates | ( | QgsMapLayer * | theLayer, |
QgsPoint | point | ||
) |
transform point coordinates from output CRS to layer's CRS
Definition at line 866 of file qgsmaprenderer.cpp.
References hasCrsTransformEnabled(), QgsMessageLog::logMessage(), QgsCoordinateTransform::ReverseTransform, QgsCoordinateTransform::transform(), transformation(), and QgsException::what().
QgsRectangle QgsMapRenderer::mapToLayerCoordinates | ( | QgsMapLayer * | theLayer, |
QgsRectangle | rect | ||
) |
transform rectangle from output CRS to layer's CRS
Definition at line 888 of file qgsmaprenderer.cpp.
References hasCrsTransformEnabled(), QgsMessageLog::logMessage(), QgsCoordinateTransform::ReverseTransform, QgsCoordinateTransform::transform(), transformation(), and QgsException::what().
QGis::UnitType QgsMapRenderer::mapUnits | ( | ) | const |
Definition at line 626 of file qgsmaprenderer.cpp.
References QgsScaleCalculator::mapUnits(), and mScaleCalculator.
Referenced by mapSettings(), QgsMapCanvasRendererSync::onMapUnitsR2C(), and writeXML().
|
signal |
Referenced by setMapUnits().
|
inline |
Definition at line 191 of file qgsmaprenderer.h.
|
slot |
Definition at line 631 of file qgsmaprenderer.cpp.
Referenced by render().
double QgsMapRenderer::outputDpi | ( | ) |
accessor for output dpi
Definition at line 140 of file qgsmaprenderer.cpp.
References QgsScaleCalculator::dpi(), and mScaleCalculator.
Referenced by mapSettings(), and writeXML().
QgsRectangle QgsMapRenderer::outputExtentToLayerExtent | ( | QgsMapLayer * | theLayer, |
QgsRectangle | extent | ||
) |
transform bounding box from output CRS to layer's CRS
Definition at line 789 of file qgsmaprenderer.cpp.
References QgsCoordinateReferenceSystem::authid(), QgsCoordinateTransform::destCRS(), extent(), hasCrsTransformEnabled(), QgsMessageLog::logMessage(), QgsDebugMsg, QgsCoordinateTransform::ReverseTransform, QgsCoordinateTransform::sourceCrs(), QgsRectangle::toString(), tr, transformation(), QgsCoordinateTransform::transformBoundingBox(), and QgsException::what().
QSize QgsMapRenderer::outputSize | ( | ) |
accessor for output size
Definition at line 145 of file qgsmaprenderer.cpp.
References mSize.
Referenced by mapSettings(), and writeXML().
QSizeF QgsMapRenderer::outputSizeF | ( | ) |
Definition at line 150 of file qgsmaprenderer.cpp.
References mSize.
|
inline |
Definition at line 268 of file qgsmaprenderer.h.
bool QgsMapRenderer::readXML | ( | QDomNode & | theNode | ) |
read settings
Definition at line 995 of file qgsmaprenderer.cpp.
References QgsLayerCoordinateTransform::destAuthId, QgsLayerCoordinateTransform::destDatumTransform, QgsMapSettings::destinationCrs(), QgsMapSettings::extent(), QgsMapSettings::hasCrsTransformEnabled(), QgsMapSettings::mapUnits(), mLayerCoordinateTransformInfo, QgsMapSettings::readXML(), setDestinationCrs(), setExtent(), setMapUnits(), setProjectionsEnabled(), QgsLayerCoordinateTransform::srcAuthId, and QgsLayerCoordinateTransform::srcDatumTransform.
void QgsMapRenderer::render | ( | QPainter * | painter, |
double * | forceWidthScale = 0 |
||
) |
starts rendering
painter | painter to render to |
forceWidthScale | Force a specific scale factor for line widths and marker sizes. Automatically calculated from output device DPI if 0 |
Definition at line 221 of file qgsmaprenderer.cpp.
References QgsMapLayer::blendMode(), QgsScaleCalculator::dpi(), QgsMapLayer::draw(), drawError(), drawingProgress(), QgsLabelingEngineInterface::drawLabeling(), QgsMapLayer::drawLabels(), QgsLabelingEngineInterface::exit(), QgsMapLayer::extent(), QgsVectorLayer::featureBlendMode(), hasCrsTransformEnabled(), QgsMapLayer::hasScaleBasedVisibility(), QgsLabelingEngineInterface::init(), QgsMapLayerRegistry::instance(), QgsProject::instance(), QgsRectangle::isEmpty(), QgsRectangle::isFinite(), QgsVectorLayer::layerTransparency(), QgsMapLayerRegistry::mapLayer(), mapSettings(), QgsRenderContext::mapToPixel(), QgsMapToPixel::mapUnitsPerPixel(), QgsMapLayer::maximumScale(), mDrawing, mExtent, Millimeters, QgsMapLayer::minimumScale(), mLabelingEngine, mLastExtent, mLayerSet, mOutputUnits, mOverview, mRenderContext, mRenderMutex, mScale, mScaleCalculator, mSize, QgsMapLayer::name(), onDrawingProgress(), QgsRenderContext::painter(), QgsDebugMsg, QgsMapLayer::RasterLayer, QgsRenderContext::rasterScaleFactor(), rasterScaleFactor, QgsProject::readNumEntry(), QgsRenderContext::rendererScale(), QgsRenderContext::renderingStopped(), QgsRenderContext::scaleFactor(), 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(), transformation(), QgsMapLayer::type(), QgsRenderContext::useAdvancedEffects(), and QgsMapLayer::VectorLayer.
|
inline |
Accessor for render context.
Definition at line 289 of file qgsmaprenderer.h.
|
inline |
Scale denominator.
Definition at line 187 of file qgsmaprenderer.h.
void QgsMapRenderer::setDestinationCrs | ( | const QgsCoordinateReferenceSystem & | crs, |
bool | refreshCoordinateTransformInfo = true , |
||
bool | transformExtent = true |
||
) |
sets destination coordinate reference system
Definition at line 660 of file qgsmaprenderer.cpp.
References destinationSrsChanged(), QgsRectangle::isEmpty(), mDestCRS, mDistArea, mExtent, mLayerCoordinateTransformInfo, QgsDebugMsg, setExtent(), QgsDistanceArea::setSourceCrs(), QgsCoordinateReferenceSystem::srsid(), QgsCoordinateReferenceSystem::toProj4(), QgsCoordinateTransform::transformBoundingBox(), and updateFullExtent().
Referenced by QgsMapCanvasRendererSync::onDestCrsC2R(), and readXML().
bool QgsMapRenderer::setExtent | ( | const QgsRectangle & | extent | ) |
sets extent and checks whether suitable (returns false if not)
Definition at line 82 of file qgsmaprenderer.cpp.
References adjustExtentToSize(), extent(), extentsChanged(), QgsRectangle::height(), QgsRectangle::isEmpty(), mExtent, mLastExtent, QgsRectangle::width(), QgsRectangle::xMaximum(), QgsRectangle::xMinimum(), QgsRectangle::yMaximum(), and QgsRectangle::yMinimum().
Referenced by QgsMapCanvasRendererSync::onExtentC2R(), readXML(), and setDestinationCrs().
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 1062 of file qgsmaprenderer.cpp.
References mLabelingEngine.
void QgsMapRenderer::setLayerSet | ( | const QStringList & | layers | ) |
change current layer set
Definition at line 982 of file qgsmaprenderer.cpp.
References mLayerSet, QgsDebugMsg, and updateFullExtent().
Referenced by QgsMapCanvasRendererSync::onLayersC2R().
void QgsMapRenderer::setMapUnits | ( | QGis::UnitType | u | ) |
Definition at line 616 of file qgsmaprenderer.cpp.
References mapUnitsChanged(), mScaleCalculator, QgsScaleCalculator::setMapUnits(), and updateScale().
Referenced by QgsMapCanvasRendererSync::onMapUnitsC2R(), QgsMapRenderer(), and readXML().
void QgsMapRenderer::setOutputSize | ( | QSize | size, |
int | dpi | ||
) |
Definition at line 126 of file qgsmaprenderer.cpp.
References adjustExtentToSize(), mScaleCalculator, mSize, and QgsScaleCalculator::setDpi().
Referenced by QgsMapCanvas::QgsMapCanvas(), and QgsMapCanvas::resizeEvent().
void QgsMapRenderer::setOutputSize | ( | QSizeF | size, |
double | dpi | ||
) |
Definition at line 133 of file qgsmaprenderer.cpp.
References adjustExtentToSize(), mScaleCalculator, mSize, QgsScaleCalculator::setDpi(), and size.
|
inline |
Definition at line 266 of file qgsmaprenderer.h.
void QgsMapRenderer::setProjectionsEnabled | ( | bool | enabled | ) |
sets whether to use projections for this layer set
Definition at line 637 of file qgsmaprenderer.cpp.
References hasCrsTransformEnabled(), hasCrsTransformEnabledChanged(), mDistArea, mLastExtent, mProjectionsEnabled, Q_NOWARN_DEPRECATED_POP, Q_NOWARN_DEPRECATED_PUSH, QgsDebugMsg, QgsDistanceArea::setEllipsoidalMode(), QgsRectangle::setMinimal(), and updateFullExtent().
Referenced by QgsMapCanvasRendererSync::onCrsTransformC2R(), and readXML().
|
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 190 of file qgsmaprenderer.h.
|
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 700 of file qgsmaprenderer.cpp.
References QgsMapLayer::crs(), extent(), QgsCoordinateReferenceSystem::geographicFlag(), hasCrsTransformEnabled(), QgsDebugMsg, QgsCoordinateTransform::ReverseTransform, QgsRectangle::setXMaximum(), QgsRectangle::setXMinimum(), QgsCoordinateTransform::transform(), transformation(), QgsCoordinateTransform::transformBoundingBox(), QgsRectangle::xMaximum(), QgsRectangle::xMinimum(), QgsRectangle::yMaximum(), and QgsRectangle::yMinimum().
Referenced by render().
const QgsCoordinateTransform * QgsMapRenderer::transformation | ( | const QgsMapLayer * | layer | ) | const |
Definition at line 1070 of file qgsmaprenderer.cpp.
References QgsCoordinateReferenceSystem::authid(), QgsMapLayer::crs(), datumTransformInfoRequested(), QgsMapLayer::id(), QgsCoordinateTransformCache::instance(), mDestCRS, mLayerCoordinateTransformInfo, and QgsCoordinateTransformCache::transform().
Referenced by layerExtentToOutputExtent(), layerToMapCoordinates(), mapToLayerCoordinates(), outputExtentToLayerExtent(), render(), and splitLayersExtent().
void QgsMapRenderer::updateFullExtent | ( | ) |
updates extent of the layer set
Definition at line 907 of file qgsmaprenderer.cpp.
References QgsMapLayer::extent(), extent(), QgsRectangle::height(), QgsMapLayerRegistry::instance(), QgsRectangle::isNull(), 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(), setLayerSet(), and setProjectionsEnabled().
|
signal |
void QgsMapRenderer::updateScale | ( | ) |
Recalculate the map scale.
Definition at line 77 of file qgsmaprenderer.cpp.
References QgsScaleCalculator::calculate(), mExtent, mScale, mScaleCalculator, and mSize.
Referenced by adjustExtentToSize(), and setMapUnits().
|
inline |
Definition at line 193 of file qgsmaprenderer.h.
bool QgsMapRenderer::writeXML | ( | QDomNode & | theNode, |
QDomDocument & | theDoc | ||
) |
write settings
Definition at line 1034 of file qgsmaprenderer.cpp.
References destinationCrs(), extent(), hasCrsTransformEnabled(), mapUnits(), mLayerCoordinateTransformInfo, outputDpi(), outputSize(), QgsMapSettings::setCrsTransformEnabled(), QgsMapSettings::setDestinationCrs(), QgsMapSettings::setExtent(), QgsMapSettings::setMapUnits(), QgsMapSettings::setOutputDpi(), QgsMapSettings::setOutputSize(), and QgsMapSettings::writeXML().
|
protected |
destination spatial reference system of the projection
Definition at line 402 of file qgsmaprenderer.h.
Referenced by destinationCrs(), QgsMapRenderer(), setDestinationCrs(), transformation(), and ~QgsMapRenderer().
|
protected |
tool for measuring
Definition at line 411 of file qgsmaprenderer.h.
Referenced by QgsMapRenderer(), setDestinationCrs(), setProjectionsEnabled(), and ~QgsMapRenderer().
|
staticprotected |
indicates drawing in progress
Definition at line 372 of file qgsmaprenderer.h.
Referenced by QgsMapRenderer(), and render().
|
protected |
current extent to be drawn
Definition at line 384 of file qgsmaprenderer.h.
Referenced by adjustExtentToSize(), extent(), render(), setDestinationCrs(), setExtent(), and updateScale().
|
protected |
full extent of the layer set
Definition at line 408 of file qgsmaprenderer.h.
Referenced by fullExtent(), and updateFullExtent().
|
protected |
Labeling engine (NULL by default)
Definition at line 420 of file qgsmaprenderer.h.
Referenced by QgsMapRenderer(), render(), setLabelingEngine(), and ~QgsMapRenderer().
|
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 391 of file qgsmaprenderer.h.
Referenced by render(), setExtent(), and setProjectionsEnabled().
|
protected |
Definition at line 428 of file qgsmaprenderer.h.
Referenced by addLayerCoordinateTransform(), clearLayerCoordinateTransforms(), readXML(), setDestinationCrs(), transformation(), and writeXML().
|
protected |
stores array of layers to be rendered (identified by string)
Definition at line 405 of file qgsmaprenderer.h.
Referenced by layerSet(), render(), setLayerSet(), and updateFullExtent().
|
protected |
map settings - used only for export in mapSettings() for use in classes that deal with QgsMapSettings
Definition at line 426 of file qgsmaprenderer.h.
Referenced by mapSettings().
|
protected |
map units per pixel
Definition at line 375 of file qgsmaprenderer.h.
Referenced by adjustExtentToSize().
|
protected |
Output units.
Definition at line 417 of file qgsmaprenderer.h.
Referenced by QgsMapRenderer(), and render().
|
protected |
indicates whether it's map image for overview
Definition at line 394 of file qgsmaprenderer.h.
Referenced by QgsMapRenderer(), and render().
|
protected |
detemines whether on the fly projection support is enabled
Definition at line 399 of file qgsmaprenderer.h.
Referenced by hasCrsTransformEnabled(), QgsMapRenderer(), and setProjectionsEnabled().
|
protected |
Encapsulates context of rendering.
Definition at line 414 of file qgsmaprenderer.h.
Referenced by adjustExtentToSize(), and render().
|
protected |
Locks rendering loop for concurrent draws.
Definition at line 423 of file qgsmaprenderer.h.
Referenced by render().
|
protected |
Map scale denominator at its current zoom level.
Definition at line 378 of file qgsmaprenderer.h.
Referenced by adjustExtentToSize(), QgsMapRenderer(), render(), and updateScale().
|
protected |
scale calculator
Definition at line 381 of file qgsmaprenderer.h.
Referenced by mapUnits(), outputDpi(), QgsMapRenderer(), render(), setMapUnits(), setOutputSize(), updateScale(), and ~QgsMapRenderer().
|
protected |
Definition at line 396 of file qgsmaprenderer.h.
Referenced by adjustExtentToSize(), outputSize(), outputSizeF(), QgsMapRenderer(), render(), setOutputSize(), and updateScale().