qwt_plot_zoneitem.h 1.72 KB
Newer Older
Bryant's avatar
Bryant committed
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65
/* -*- mode: C++ ; c-file-style: "stroustrup" -*- *****************************
 * Qwt Widget Library
 * Copyright (C) 1997   Josef Wilgen
 * Copyright (C) 2002   Uwe Rathmann
 *
 * This library is free software; you can redistribute it and/or
 * modify it under the terms of the Qwt License, Version 1.0
 *****************************************************************************/

#ifndef QWT_PLOT_ZONE_ITEM_H
#define QWT_PLOT_ZONE_ITEM_H

#include "qwt_global.h"
#include "qwt_plot_item.h"
#include "qwt_interval.h"

class QPen;
class QBrush;

/*!
  \brief A plot item, which displays a zone

  A horizontal zone highlights an interval of the y axis - a vertical 
  zone an interval of the x axis - and is unbounded in the opposite direction.
  It is filled with a brush and its border lines are optionally displayed with a pen. 

  \note For displaying an area that is bounded for x and y coordinates 
        use QwtPlotShapeItem
*/

class QWT_EXPORT QwtPlotZoneItem: 
    public QwtPlotItem
{
public:
    explicit QwtPlotZoneItem();
    virtual ~QwtPlotZoneItem();

    virtual int rtti() const;

    void setOrientation( Qt::Orientation );
    Qt::Orientation orientation();

    void setInterval( double min, double max );
    void setInterval( const QwtInterval & );
    QwtInterval interval() const;

    void setPen( const QColor &, qreal width = 0.0, Qt::PenStyle = Qt::SolidLine );
    void setPen( const QPen & );
    const QPen &pen() const;

    void setBrush( const QBrush & );
    const QBrush &brush() const;

    virtual void draw( QPainter *,
        const QwtScaleMap &, const QwtScaleMap &,
        const QRectF &) const;

    virtual QRectF boundingRect() const;

private:
    class PrivateData;
    PrivateData *d_data;
};

#endif