Fraktale 1.0
Qt-Programm zur interaktiven Erforschung von Fraktalen.
|
00001 #ifndef _CONTROLWINDOWIMPL_HPP_ 00002 #define _CONTROLWINDOWIMPL_HPP_ 00003 00004 #include <QApplication> 00005 #include <QObject> 00006 #include <string> 00007 #include <complex> 00008 00009 #include "controlwindow.hpp" 00010 #include "mainwindow.hpp" 00011 #include "complexfractalrenderer.hpp" 00012 #include "mandelbrotmenge.hpp" 00013 #include "mandelbarmenge.hpp" 00014 #include "juliamenge.hpp" 00015 #include "multibrotmenge.hpp" 00016 #include "rgbcolormapper.hpp" 00017 #include "graycolormapper.hpp" 00018 #include "bwcolormapper.hpp" 00019 00025 class ControlWindowImpl : public QObject 00026 { 00027 Q_OBJECT 00028 public: 00035 ControlWindowImpl(MainWindow* mw, ControlWindow* cw); 00036 00046 QImage renderFractal(ComplexFractal* fractal, std::string fractalName = "", bool show = true, int size = 1); 00047 signals: 00053 void renderedFractal(QImage newFractal); 00054 public slots: 00056 void renderMandelbrotImpl(); 00058 void renderMandelbarImpl(); 00060 void renderMultibrotImpl(); 00062 void renderJuliaImpl(); 00064 void restoreDefaultsImpl(); 00071 void imageLabelClicked(int x, int y); 00072 private: 00073 MainWindow* mw; 00074 ControlWindow* cw; 00075 00076 QImage newFractal; 00077 Mandelbrotmenge* mandelbrot; 00078 Mandelbarmenge* mandelbar; 00079 Multibrotmenge* multibrot; 00080 Juliamenge* julia; 00081 ColorMapper* mapper; 00082 ComplexFractalRenderer* fractalRenderer; 00083 }; 00084 00085 #endif // _CONTROLWINDOWIMPL_HPP_