00001 #ifndef __CURVE_HPP__ 00002 #define __CURVE_HPP__ 00003 00004 /* 00005 # Copyright (c) 2010 Alexandre LAURENT 00006 # 00007 # Permission is hereby granted, free of charge, to any person obtaining a copy 00008 # of this software and associated documentation files (the "Software"), to deal 00009 # in the Software without restriction, including without limitation the rights 00010 # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 00011 # copies of the Software, and to permit persons to whom the Software is 00012 # furnished to do so, subject to the following conditions: 00013 # 00014 # The above copyright notice and this permission notice shall be included in 00015 # all copies or substantial portions of the Software. 00016 # 00017 # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 00018 # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 00019 # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 00020 # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 00021 # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 00022 # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 00023 # THE SOFTWARE. 00024 */ 00025 00026 #include <QThread> 00027 00028 #include <QVector> 00029 #include <QColor> 00030 00031 #include "../global.hpp" 00032 00033 class QObject; 00034 class QString; 00035 class QImage; 00036 00037 class ProgressDialog; 00038 00043 class Curve : public QThread 00044 { 00045 Q_OBJECT 00046 00047 private: 00048 00049 ProgressDialog* pd; 00051 ParamsCurve params; 00052 QVector<QRgb> table; 00054 unsigned char* pFractale; 00055 QString* pTitle; 00057 public: 00058 00066 Curve(const ParamsCurve params, QVector<QRgb> table, QWidget* parentWin, 00067 QObject* parent = 0); 00071 ~Curve(void); 00072 00076 void run(void); 00077 00082 unsigned char* getFractale(void)const { return pFractale; }; 00083 00088 QString getTitle(void)const; 00089 00094 ParamsCurve getParams(void)const { return params; }; 00095 00100 const QVector<QRgb> getTable(void)const { return table; } 00101 }; 00102 00103 #endif