Qwt Polar User's Guide  1.0.1
qwt_polar_renderer.h
00001 /* -*- mode: C++ ; c-file-style: "stroustrup" -*- *****************************
00002  * QwtPolar Widget Library
00003  * Copyright (C) 2008   Uwe Rathmann
00004  *
00005  * This library is free software; you can redistribute it and/or
00006  * modify it under the terms of the Qwt License, Version 1.0
00007  *****************************************************************************/
00008 
00009 #ifndef QWT_POLAR_RENDERER_H
00010 #define QWT_POLAR_RENDERER_H 1
00011 
00012 #include "qwt_polar_global.h"
00013 #include <qobject.h>
00014 
00015 class QwtPolarPlot;
00016 class QSizeF;
00017 class QRectF;
00018 class QPainter;
00019 class QPrinter;
00020 class QPaintDevice;
00021 #ifndef QWT_NO_POLAR_SVG
00022 #ifdef QT_SVG_LIB
00023 class QSvgGenerator;
00024 #endif
00025 #endif
00026 
00031 class QWT_POLAR_EXPORT QwtPolarRenderer: public QObject
00032 {
00033     Q_OBJECT
00034 
00035 public:
00036     explicit QwtPolarRenderer( QObject *parent = NULL );
00037     virtual ~QwtPolarRenderer();
00038 
00039     void renderDocument( QwtPolarPlot *, const QString &format,
00040         const QSizeF &sizeMM, int resolution = 85 );
00041 
00042     void renderDocument( QwtPolarPlot *,
00043         const QString &title, const QString &format,
00044         const QSizeF &sizeMM, int resolution = 85 );
00045 
00046 #ifndef QWT_NO_POLAR_SVG
00047 #ifdef QT_SVG_LIB
00048 #if QT_VERSION >= 0x040500
00049     void renderTo( QwtPolarPlot *, QSvgGenerator & ) const;
00050 #endif
00051 #endif
00052 #endif
00053     void renderTo( QwtPolarPlot *, QPrinter & ) const;
00054     void renderTo( QwtPolarPlot *, QPaintDevice &p ) const;
00055 
00056     virtual void render( QwtPolarPlot *,
00057         QPainter *, const QRectF &rect ) const;
00058 
00059 protected:
00060     virtual void renderTitle( QPainter *, const QRectF & ) const;
00061     virtual void renderLegend( QPainter *, const QRectF & ) const;
00062 
00063     virtual void renderLegendItem( QPainter *,
00064         const QWidget *, const QRectF & ) const;
00065 
00066 private:
00067     class PrivateData;
00068     PrivateData *d_data;
00069 };
00070 
00071 #endif