00001 #ifndef _COMPLEXFRACTALRENDERER_HPP_
00002 #define _COMPLEXFRACTALRENDERER_HPP_
00003
00004 #include <QImage>
00005 #include <memory>
00006
00007 #include "complexfractal.hpp"
00008 #include "colormapper.hpp"
00009
00015 class ComplexFractalRenderer {
00016 public:
00023 ComplexFractalRenderer(ComplexFractal* fractal, ColorMapper* mapper);
00024
00034 QImage render(std::complex<double> topleft = std::complex<double>(-3, 1.5), double step = 0.005, int width = 800, int height = 600) const;
00035
00036 private:
00037
00038
00039 std::auto_ptr<ComplexFractal> fractal;
00040 std::auto_ptr<ColorMapper> mapper;
00041 };
00042
00043 #endif