Qwt User's Guide svn
qwt_matrix_raster_data.h
00001 /* -*- mode: C++ ; c-file-style: "stroustrup" -*- *****************************
00002  * Qwt Widget Library
00003  * Copyright (C) 1997   Josef Wilgen
00004  * Copyright (C) 2002   Uwe Rathmann
00005  *
00006  * This library is free software; you can redistribute it and/or
00007  * modify it under the terms of the Qwt License, Version 1.0
00008  *****************************************************************************/
00009 
00010 #ifndef QWT_MATRIX_RASTER_DATA_H
00011 #define QWT_MATRIX_RASTER_DATA_H 1
00012 
00013 #include "qwt_global.h"
00014 #include "qwt_raster_data.h"
00015 #include <qvector.h>
00016 
00025 class QWT_EXPORT QwtMatrixRasterData: public QwtRasterData
00026 {
00027 public:
00032     enum ResampleMode
00033     {
00038         NearestNeighbour,
00039 
00044         BilinearInterpolation
00045     };
00046 
00047     QwtMatrixRasterData();
00048     virtual ~QwtMatrixRasterData();
00049 
00050     void setResampleMode(ResampleMode mode);
00051     ResampleMode resampleMode() const;
00052 
00053     virtual void setInterval( Qt::Axis, const QwtInterval & );
00054     void setValueMatrix( const QVector<double> &values, size_t numColumns );
00055     
00056     const QVector<double> valueMatrix() const;
00057     size_t numColumns() const;
00058     size_t numRows() const;
00059 
00060     virtual QRectF pixelHint( const QRectF & ) const;
00061 
00062     virtual double value( double x, double y ) const;
00063 
00064 private:
00065     void update();
00066 
00067     class PrivateData;
00068     PrivateData *d_data;
00069 };
00070 
00071 #endif
qmi style