/*! Minimum size hint needed to display an entry \param data Attributes of the legend entry \return Minimum size */ QSize QwtPlotLegendItem::minimumSize( const QwtLegendData &data ) const { QSize size( 2 * d_data->itemMargin, 2 * d_data->itemMargin ); if ( !data.isValid() ) return size; const QwtGraphic graphic = data.icon(); const QwtText text = data.title(); int w = 0; int h = 0; if ( !graphic.isNull() ) { w = graphic.width(); h = graphic.height(); } if ( !text.isEmpty() ) { const QSizeF sz = text.textSize( font() ); w += qCeil( sz.width() ); h = qMax( h, qCeil( sz.height() ) ); } if ( graphic.width() > 0 && !text.isEmpty() ) w += d_data->itemSpacing; size += QSize( w, h ); return size; }
/*! \return The preferred height, for a width. \param data Attributes of the legend entry \param width Width */ int QwtPlotLegendItem::heightForWidth( const QwtLegendData &data, int width ) const { width -= 2 * d_data->itemMargin; const QwtGraphic graphic = data.icon(); const QwtText text = data.title(); if ( text.isEmpty() ) return graphic.height(); if ( graphic.width() > 0 ) width -= graphic.width() + d_data->itemSpacing; int h = text.heightForWidth( width, font() ); h += 2 * d_data->itemMargin; return qMax( graphic.height(), h ); }