/*!
  \brief Limit zooming by a minimum rectangle

  \return zoomBase().width() / 10e4, zoomBase().height() / 10e4
*/
QwtDoubleSize QwtPlotZoomer::minZoomSize() const
{
    return QwtDoubleSize(
        d_data->zoomStack[0].width() / 10e4,
        d_data->zoomStack[0].height() / 10e4
    );
}
/*!
    Returns a size with the minimum width and height of this size and other.
*/
QwtDoubleSize QwtDoubleSize::boundedTo(
    const QwtDoubleSize &other) const
{
    return QwtDoubleSize(
        qwtMin(d_width, other.d_width),
        qwtMin(d_height, other.d_height)
    );
}
//! Returns the size formed by dividing both components by c.
const QwtDoubleSize QwtDoubleSize::operator/(double c) const
{
    return QwtDoubleSize(d_width / c, d_height / c);
}
//! Returns the size formed by multiplying both components by c.
const QwtDoubleSize QwtDoubleSize::operator*(double c) const
{
    return QwtDoubleSize(d_width * c, d_height * c);
}
/*!
  Returns the size formed by subtracting both components by
  the components of other. Each component is subtracted separately.
*/
const QwtDoubleSize QwtDoubleSize::operator-(
    const QwtDoubleSize &other) const
{
    return QwtDoubleSize(d_width - other.d_width,
        d_height - other.d_height);
}