QSizeF QgsDiagramRendererV2::sizeMapUnits( const QgsAttributeMap& attributes, const QgsRenderContext& c ) { QgsDiagramSettings s; if ( !diagramSettings( attributes, c, s ) ) { return QSizeF(); } QSizeF size = diagramSize( attributes, c ); if ( s.sizeType == QgsDiagramSettings::MM ) { convertSizeToMapUnits( size, c ); } return size; }
QSizeF QgsDiagramRenderer::sizeMapUnits( const QgsFeature& feature, const QgsRenderContext& c ) const { QgsDiagramSettings s; if ( !diagramSettings( feature, c, s ) ) { return QSizeF(); } QSizeF size = diagramSize( feature, c ); if ( size.isValid() ) { double width = QgsSymbolLayerUtils::convertToMapUnits( c, size.width(), s.sizeType, s.sizeScale ); size.rheight() *= width / size.width(); size.setWidth( width ); } return size; }
bool QgsLinearlyInterpolatedDiagramRenderer::diagramSettings( const QgsAttributeMap& attributes, const QgsRenderContext& c, QgsDiagramSettings& s ) { s = mSettings; s.size = diagramSize( attributes, c ); return true; }
bool QgsLinearlyInterpolatedDiagramRenderer::diagramSettings( const QgsFeature& feature, const QgsRenderContext& c, QgsDiagramSettings& s ) { s = mSettings; s.size = diagramSize( feature, c ); return true; }