blob: 23df7c9dd87dcea5249bee7c0e22c69f77341dd9 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
|
#ifndef MANDELBROT_H
#define MANDELBROT_H
#include <Eigen/Array>
#include <QtGui/QApplication>
#include <QtGui/QWidget>
class MandelbrotWidget : public QWidget
{
Q_OBJECT
Eigen::Vector2d center;
double xradius;
int size;
unsigned char *buffer;
QPoint lastpos;
int draft;
protected:
void resizeEvent(QResizeEvent *);
void paintEvent(QPaintEvent *);
void mousePressEvent(QMouseEvent *event);
void mouseMoveEvent(QMouseEvent *event);
template<typename Real> int render(int max_iter, int resx, int resy);
public:
MandelbrotWidget() : QWidget(), center(0,0), xradius(2),
size(0), buffer(0), draft(16)
{
setAutoFillBackground(false);
}
~MandelbrotWidget() { if(buffer) delete[]buffer; }
};
#endif // MANDELBROT_H
|