Esempio n. 1
0
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;
}
Esempio n. 2
0
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 );
}
Esempio n. 3
0
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 );
}
Esempio n. 4
0
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;
}