qwt_plot_svgitem.h 1.52 KB
Newer Older
pixhawk's avatar
pixhawk committed
1 2 3 4 5 6 7 8 9 10 11 12
/* -*- 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_SVGITEM_H
#define QWT_PLOT_SVGITEM_H

Bryant's avatar
Bryant committed
13
#include "qwt_global.h"
14
#include "qwt_plot_item.h"
Bryant's avatar
Bryant committed
15
#include <qstring.h>
pixhawk's avatar
pixhawk committed
16 17 18 19 20

class QSvgRenderer;
class QByteArray;

/*!
21
  \brief A plot item, which displays
pixhawk's avatar
pixhawk committed
22 23 24 25 26 27 28 29
         data in Scalable Vector Graphics (SVG) format.

  SVG images are often used to display maps
*/

class QWT_EXPORT QwtPlotSvgItem: public QwtPlotItem
{
public:
Bryant's avatar
Bryant committed
30 31
    explicit QwtPlotSvgItem( const QString& title = QString::null );
    explicit QwtPlotSvgItem( const QwtText& title );
pixhawk's avatar
pixhawk committed
32 33
    virtual ~QwtPlotSvgItem();

Bryant's avatar
Bryant committed
34 35
    bool loadFile( const QRectF&, const QString &fileName );
    bool loadData( const QRectF&, const QByteArray & );
pixhawk's avatar
pixhawk committed
36

Bryant's avatar
Bryant committed
37
    virtual QRectF boundingRect() const;
pixhawk's avatar
pixhawk committed
38

Bryant's avatar
Bryant committed
39 40 41
    virtual void draw( QPainter *p,
        const QwtScaleMap &xMap, const QwtScaleMap &yMap,
        const QRectF &rect ) const;
pixhawk's avatar
pixhawk committed
42 43 44 45 46 47 48

    virtual int rtti() const;

protected:
    const QSvgRenderer &renderer() const;
    QSvgRenderer &renderer();

Bryant's avatar
Bryant committed
49 50 51 52
    void render( QPainter *painter,
        const QRectF &viewBox, const QRectF &rect ) const;

    QRectF viewBox( const QRectF &area ) const;
pixhawk's avatar
pixhawk committed
53 54 55 56 57 58 59 60 61

private:
    void init();

    class PrivateData;
    PrivateData *d_data;
};

#endif