Qwt User's Guide
|
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_TRANSFORM_H 00011 #define QWT_TRANSFORM_H 00012 00013 #include "qwt_global.h" 00014 00035 class QWT_EXPORT QwtTransform 00036 { 00037 public: 00038 QwtTransform(); 00039 virtual ~QwtTransform(); 00040 00045 virtual double bounded( double value ) const; 00046 00055 virtual double transform( double value ) const = 0; 00056 00065 virtual double invTransform( double value ) const = 0; 00066 00068 virtual QwtTransform *copy() const = 0; 00069 }; 00070 00077 class QWT_EXPORT QwtNullTransform: public QwtTransform 00078 { 00079 public: 00080 QwtNullTransform(); 00081 virtual ~QwtNullTransform(); 00082 00083 virtual double transform( double value ) const; 00084 virtual double invTransform( double value ) const; 00085 00086 virtual QwtTransform *copy() const; 00087 }; 00097 class QWT_EXPORT QwtLogTransform: public QwtTransform 00098 { 00099 public: 00100 QwtLogTransform(); 00101 virtual ~QwtLogTransform(); 00102 00103 virtual double transform( double value ) const; 00104 virtual double invTransform( double value ) const; 00105 00106 virtual double bounded( double value ) const; 00107 00108 virtual QwtTransform *copy() const; 00109 00110 #if QT_VERSION >= 0x050400 00111 static const double LogMin; 00112 static const double LogMax; 00113 #else 00114 QT_STATIC_CONST double LogMin; 00115 QT_STATIC_CONST double LogMax; 00116 #endif 00117 }; 00118 00127 class QWT_EXPORT QwtPowerTransform: public QwtTransform 00128 { 00129 public: 00130 QwtPowerTransform( double exponent ); 00131 virtual ~QwtPowerTransform(); 00132 00133 virtual double transform( double value ) const; 00134 virtual double invTransform( double value ) const; 00135 00136 virtual QwtTransform *copy() const; 00137 00138 private: 00139 const double d_exponent; 00140 }; 00141 00142 #endif