QwtConfig.h
Go to the documentation of this file.00001 #pragma once
00002 #include <qwt_global.h>
00003 #include <qwt_scale_widget.h>
00004 #include <qwt_plot_curve.h>
00005 #include <qwt_color_map.h>
00006 #if QWT_VERSION >= 0x060000
00007 #include <qwt_compat.h>
00008 #include <qwt_series_data.h>
00009 #include <qwt_plot_canvas.h>
00010
00011 typedef QwtIntervalSeriesData qwt_interval_t;
00012 inline void set_data(QwtPlotCurve *curve, const QVector<double> &x, const QVector<double> &y) {
00013 curve->setSamples(x,y);
00014 }
00015 inline void set_color_map( QwtScaleWidget *scale, QwtDoubleInterval &range, const QwtLinearColorMap &colorMap ) {
00016 QwtLinearColorMap* copyMap = new QwtLinearColorMap( colorMap.color1( ), colorMap.color2( ) );
00017 QVector<double> colorStops = colorMap.colorStops();
00018 for ( int i = 1; i < colorStops.size() - 1; ++i) {
00019 copyMap->addColorStop( colorStops[i], QColor(colorMap.rgb(QwtInterval(0,1), colorStops[i])) );
00020 }
00021 scale->setColorMap( range, copyMap );
00022 }
00023 template<class T> inline void set_symbol( T *qwt_thing, const QwtSymbol &sym ) {
00024 qwt_thing->setSymbol(&sym);
00025 }
00026 #else
00027 #include <qwt_interval_data.h>
00028 typedef QwtIntervalData qwt_interval_t;
00029 inline void set_data(QwtPlotCurve *curve, const QVector<double> &x, const QVector<double> &y) {
00030 curve->setData(x,y);
00031 }
00032 inline void set_color_map( QwtScaleWidget *scale, QwtDoubleInterval &range, const QwtLinearColorMap &colorMap ) {
00033 scale->setColorMap( range, colorMap );
00034 }
00035 template<class T> inline void set_symbol( T *qwt_thing, const QwtSymbol &sym ) {
00036 qwt_thing->setSymbol(sym);
00037 }
00038 #endif