diff options
| author | Michael R Sweet <michael.r.sweet@gmail.com> | 1998-10-06 18:21:25 +0000 |
|---|---|---|
| committer | Michael R Sweet <michael.r.sweet@gmail.com> | 1998-10-06 18:21:25 +0000 |
| commit | f9039b2ae21988783feae9b362818e7923e82d14 (patch) | |
| tree | 6d6fe3679d73448758f9794e7d4d4f6b22a4adad /test/mandelbrot.h | |
| parent | 67e89232f9ba067825a158734a09e0fa21aacbe3 (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.h | 54 |
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(); +}; |
