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; }
void QgsDiagramRendererV2::renderDiagram( const QgsAttributeMap& att, QgsRenderContext& c, const QPointF& pos ) { if ( !mDiagram ) { return; } QgsDiagramSettings s; if ( !diagramSettings( att, c, s ) ) { return; } mDiagram->renderDiagram( att, c, s, pos ); }
void QgsDiagramRenderer::renderDiagram( const QgsFeature& feature, QgsRenderContext& c, QPointF pos ) const { if ( !mDiagram ) { return; } QgsDiagramSettings s; if ( !diagramSettings( feature, c, s ) ) { return; } mDiagram->renderDiagram( feature, c, s, pos ); }
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; }