summaryrefslogtreecommitdiff
path: root/test/mandelbrot.h
diff options
context:
space:
mode:
authorMichael R Sweet <michael.r.sweet@gmail.com>1998-10-06 18:21:25 +0000
committerMichael R Sweet <michael.r.sweet@gmail.com>1998-10-06 18:21:25 +0000
commitf9039b2ae21988783feae9b362818e7923e82d14 (patch)
tree6d6fe3679d73448758f9794e7d4d4f6b22a4adad /test/mandelbrot.h
parent67e89232f9ba067825a158734a09e0fa21aacbe3 (diff)
Initial revision
git-svn-id: file:///fltk/svn/fltk/trunk@2 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
Diffstat (limited to 'test/mandelbrot.h')
-rw-r--r--test/mandelbrot.h54
1 files changed, 54 insertions, 0 deletions
diff --git a/test/mandelbrot.h b/test/mandelbrot.h
new file mode 100644
index 000000000..fb1f25ddb
--- /dev/null
+++ b/test/mandelbrot.h
@@ -0,0 +1,54 @@
+#include <FL/Fl.H>
+#include <FL/Fl_Box.H>
+#include <FL/Fl_Slider.H>
+#include <FL/Fl_Window.H>
+#include <FL/Fl_Input.H>
+
+class Drawing_Window;
+
+class Drawing_Area : public Fl_Box {
+ void draw();
+public:
+ uchar *buffer;
+ int W,H;
+ int nextline;
+ int drawn;
+ int julia;
+ int iterations;
+ int brightness;
+ double jX, jY;
+ double X,Y,scale;
+ int sx, sy, sw, sh; // selection box
+ void erase_box();
+ int handle(int);
+ void resize(int,int,int,int);
+ void new_display();
+ enum {
+ MAX_BRIGHTNESS = 16,
+ DEFAULT_BRIGHTNESS = 16,
+ MAX_ITERATIONS = 14,
+ DEFAULT_ITERATIONS = 7
+ };
+ Drawing_Area(int x,int y,int w,int h) : Fl_Box(x,y,w,h) {
+ buffer = 0;
+ W = w-6;
+ H = h-8;
+ nextline = 0;
+ drawn = 0;
+ julia = 0;
+ X = Y = 0;
+ scale = 4.0;
+ iterations = 1<<DEFAULT_ITERATIONS;
+ brightness = DEFAULT_BRIGHTNESS;
+ }
+ int idle();
+};
+
+class Drawing_Window {
+public:
+ Drawing_Area *d;
+ Fl_Slider *gamma_slider;
+ Fl_Input *x_input, *y_input, *w_input;
+ Fl_Window *window;
+ void update_label();
+};