00001 /*************************************************************************** 00002 viewlayer.h - description 00003 ------------------- 00004 begin : Sat Nov 16 2002 00005 copyright : (C) 2002 by Peter Eschler 00006 email : eschler@users.sourceforge.net 00007 ***************************************************************************/ 00008 00009 /*************************************************************************** 00010 * * 00011 * This program is free software; you can redistribute it and/or modify * 00012 * it under the terms of the GNU General Public License as published by * 00013 * the Free Software Foundation; either version 2 of the License, or * 00014 * (at your option) any later version. * 00015 * * 00016 ***************************************************************************/ 00017 00018 #ifndef QwavVIEWLAYER_H 00019 #define QwavVIEWLAYER_H 00020 00021 //--------------------------------------------------------------------------- 00022 // includes: system 00023 //--------------------------------------------------------------------------- 00024 00025 #include <string> 00026 #include <iostream> 00027 #include <math.h> 00028 00029 using namespace std; 00030 00031 //--------------------------------------------------------------------------- 00032 // includes: Qt 00033 //--------------------------------------------------------------------------- 00034 00035 #include <qrect.h> 00036 00037 //--------------------------------------------------------------------------- 00038 // includes: project 00039 //--------------------------------------------------------------------------- 00040 00041 #include "qwavdefines.h" 00042 #include "qwavpeakinterpolator.h" 00043 00044 Qwav_BEGIN_NAMESPACE 00045 00046 //--------------------------------------------------------------------------- 00047 // forward declarations 00048 //--------------------------------------------------------------------------- 00049 00050 class QwavWaveView; 00051 00052 //--------------------------------------------------------------------------- 00053 // doc: QwavViewLayer 00054 //--------------------------------------------------------------------------- 00055 00067 //--------------------------------------------------------------------------- 00068 // class: QwavViewLayer 00069 //--------------------------------------------------------------------------- 00070 00071 class QWAV_EXPORTIMPORT QwavViewLayer 00072 { 00073 00074 public: 00075 QwavViewLayer(); 00076 virtual ~QwavViewLayer(); 00077 00082 virtual void paintLayer(QwavWaveView* v, const QRect& rect ) = 0; 00083 00086 virtual const string getName() const = 0; 00087 00088 inline void setActive(bool); 00089 inline bool isActive() const; 00090 00091 private: 00092 bool _active; 00093 }; 00094 00095 00096 //--------------------------------------------------------------------------- 00097 // Method: setActive 00098 //--------------------------------------------------------------------------- 00099 00105 void QwavViewLayer::setActive(bool b) 00106 { 00107 _active = b; 00108 } 00109 00110 00111 //--------------------------------------------------------------------------- 00112 // Method: isActive 00113 //--------------------------------------------------------------------------- 00114 00119 bool QwavViewLayer::isActive() const 00120 { 00121 return _active; 00122 } 00123 00124 00125 Qwav_END_NAMESPACE 00126 00127 00128 #endif // QwavVIEWLAYER_H