summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--test/mandelbrot.cxx36
-rw-r--r--test/mandelbrot.h15
-rw-r--r--test/mandelbrot_ui.fl119
3 files changed, 71 insertions, 99 deletions
diff --git a/test/mandelbrot.cxx b/test/mandelbrot.cxx
index df8f531bd..e320aa181 100644
--- a/test/mandelbrot.cxx
+++ b/test/mandelbrot.cxx
@@ -1,5 +1,5 @@
//
-// "$Id: mandelbrot.cxx,v 1.3 1998/10/21 14:21:33 mike Exp $"
+// "$Id: mandelbrot.cxx,v 1.4 1998/10/21 16:35:17 mike Exp $"
//
// Mandelbrot set demo for the Fast Light Tool Kit (FLTK).
//
@@ -42,7 +42,7 @@ void set_idle() {
static void window_callback(Fl_Widget*, void*) {exit(0);}
int main(int argc, char **argv) {
- make_window(mbrot);
+ mbrot.make_window();
mbrot.d->X = -.75;
mbrot.d->scale = 2.5;
mbrot.update_label();
@@ -162,7 +162,7 @@ int Drawing_Area::handle(int event) {
new_display();
} else if (!julia) {
if (!jbrot.d) {
- make_window(jbrot);
+ jbrot.make_window();
jbrot.d->julia = 1;
jbrot.d->X = 0;
jbrot.d->Y = 0;
@@ -196,34 +196,6 @@ void Drawing_Area::resize(int X,int Y,int W,int H) {
Fl_Box::resize(X,Y,W,H);
}
-void brightness_slider_cb(Fl_Slider* o, Drawing_Window* s) {
- s->d->brightness = int(o->value());
- s->d->new_display();
-}
-
-void iterations_slider_cb(Fl_Slider* o, Drawing_Window* s) {
- s->d->iterations = 1<<int(o->value());
- s->d->new_display();
-}
-
-void x_callback(Fl_Input* o, Drawing_Window* s) {
- double v = atof(o->value());
- s->d->X = v;
- s->d->new_display();
-}
-
-void y_callback(Fl_Input* o, Drawing_Window* s) {
- double v = atof(o->value());
- s->d->Y = v;
- s->d->new_display();
-}
-
-void w_callback(Fl_Input* o, Drawing_Window* s) {
- double v = atof(o->value());
- s->d->scale = v;
- s->d->new_display();
-}
-
//
-// End of "$Id: mandelbrot.cxx,v 1.3 1998/10/21 14:21:33 mike Exp $".
+// End of "$Id: mandelbrot.cxx,v 1.4 1998/10/21 16:35:17 mike Exp $".
//
diff --git a/test/mandelbrot.h b/test/mandelbrot.h
index 12d8a68cc..51439d8ce 100644
--- a/test/mandelbrot.h
+++ b/test/mandelbrot.h
@@ -1,5 +1,5 @@
//
-// "$Id: mandelbrot.h,v 1.3 1998/10/21 14:21:34 mike Exp $"
+// "$Id: mandelbrot.h,v 1.4 1998/10/21 16:35:18 mike Exp $"
//
// Mandelbrot set header file for the Fast Light Tool Kit (FLTK).
//
@@ -29,8 +29,6 @@
#include <FL/Fl_Window.H>
#include <FL/Fl_Input.H>
-class Drawing_Window;
-
class Drawing_Area : public Fl_Box {
void draw();
public:
@@ -69,15 +67,6 @@ public:
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();
-};
-
//
-// End of "$Id: mandelbrot.h,v 1.3 1998/10/21 14:21:34 mike Exp $".
+// End of "$Id: mandelbrot.h,v 1.4 1998/10/21 16:35:18 mike Exp $".
//
diff --git a/test/mandelbrot_ui.fl b/test/mandelbrot_ui.fl
index 2c864aaad..2ab021f01 100644
--- a/test/mandelbrot_ui.fl
+++ b/test/mandelbrot_ui.fl
@@ -1,63 +1,74 @@
-# data file for FL User Interface Designer (fluid)
+# data file for the Fltk User Interface Designer (fluid)
version 0.99
+header_name {.H}
+code_name {.C}
gridx 10
gridy 10
snap 3
-Function {make_window(Drawing_Window& s)} {open
+decl {\#include "mandelbrot.H"} {public
+}
+
+decl {\#include <stdlib.h>} {}
+
+class Drawing_Window {open
} {
- Fl_Window {s.window} {open
- xywh {92 109 429 510}
- code0 {o->size_range(220,220);}
+ Function {make_window()} {open return_type void
} {
- Fl_Box {s.d} {
- user_data {&s} user_data_type {Drawing_Window*} open
- xywh {10 70 410 430} box 3 color {0 47} resizable
- code0 {\#include "mandelbrot.H"}
- class Drawing_Area
- }
- Fl_Input {s.x_input} {
- label {x:}
- user_data {&s} user_data_type {Drawing_Window*}
- callback x_callback open
- xywh {20 5 125 30} type 1 box 7 color {8 7} labelfont 11 labelsize 20 textfont 11 textsize 20
- code0 {o->when(FL_WHEN_ENTER_KEY|FL_WHEN_RELEASE);}
- }
- Fl_Input {s.y_input} {
- label {y:}
- user_data {&s} user_data_type {Drawing_Window*}
- callback y_callback open
- xywh {165 5 125 30} type 1 box 7 color {8 7} labelfont 11 labelsize 20 textfont 11 textsize 20
- code0 {o->when(FL_WHEN_ENTER_KEY|FL_WHEN_RELEASE);}
- }
- Fl_Input {s.w_input} {
- label {w:}
- user_data {&s} user_data_type {Drawing_Window*}
- callback w_callback open
- xywh {315 5 105 30} type 1 box 7 color {8 7} labelfont 11 labelsize 20 textfont 11 textsize 20
- code0 {o->when(FL_WHEN_ENTER_KEY|FL_WHEN_RELEASE);}
- }
- Fl_Slider {} {
- label {brightness:}
- user_data {&s} user_data_type {Drawing_Window*}
- callback brightness_slider_cb open
- xywh {70 40 160 15} type 1 box 7 labelsize 10 align 4 step 1 slider_size 0.1
- code0 {o->bounds(0,s.d->MAX_BRIGHTNESS);}
- code2 {o->value(s.d->DEFAULT_BRIGHTNESS);}
- code3 {o->slider(FL_UP_BOX);}
- }
- Fl_Box {} {
- label {left: click = zoom out, drag = zoom in
-right click: Julia set} open
- xywh {230 40 190 30} labelsize 10 align 24 deactivate
- }
- Fl_Slider {} {
- label {iterations:}
- user_data {&s} user_data_type {Drawing_Window*}
- callback iterations_slider_cb open selected
- xywh {70 55 160 15} type 1 box 7 labelsize 10 align 4 step 1 slider_size 0.1
- code0 {o->bounds(1,s.d->MAX_ITERATIONS);}
- code2 {o->value(s.d->DEFAULT_ITERATIONS);}
- code3 {o->slider(FL_UP_BOX);}
+ Fl_Window window {open
+ xywh {178 479 450 520} resizable
+ code0 {o->size_range(220,220);} visible
+ } {
+ Fl_Box d {
+ user_data this user_data_type {void*} selected
+ xywh {20 80 410 430} box DOWN_BOX color 0 selection_color 47 resizable
+ class Drawing_Area
+ }
+ Fl_Input x_input {
+ label {x:}
+ callback {d->X = atof(o->value());;
+d->new_display();}
+ xywh {30 15 125 30} type Float box THIN_DOWN_BOX color 8 selection_color 7 labelfont 11 labelsize 20 textfont 11 textsize 20
+ code0 {o->when(FL_WHEN_ENTER_KEY|FL_WHEN_RELEASE);}
+ }
+ Fl_Input y_input {
+ label {y:}
+ callback {d->Y = atof(o->value());
+d->new_display();}
+ xywh {175 15 125 30} type Float box THIN_DOWN_BOX color 8 selection_color 7 labelfont 11 labelsize 20 textfont 11 textsize 20
+ code0 {o->when(FL_WHEN_ENTER_KEY|FL_WHEN_RELEASE);}
+ }
+ Fl_Input w_input {
+ label {w:}
+ callback {d->scale = atof(o->value());
+d->new_display();}
+ xywh {325 15 105 30} type Float box THIN_DOWN_BOX color 8 selection_color 7 labelfont 11 labelsize 20 textfont 11 textsize 20
+ code0 {o->when(FL_WHEN_ENTER_KEY|FL_WHEN_RELEASE);}
+ }
+ Fl_Slider {} {
+ label {brightness:}
+ callback {d->brightness = int(o->value());
+d->new_display();}
+ xywh {80 50 160 15} type Horizontal box THIN_DOWN_BOX labelsize 10 align 4 step 1 slider_size 0.1
+ code0 {o->bounds(0,d->MAX_BRIGHTNESS);}
+ code2 {o->value(d->DEFAULT_BRIGHTNESS);}
+ code3 {o->slider(FL_UP_BOX);}
+ }
+ Fl_Box {} {
+ label {left: click = zoom out, drag = zoom in
+right click: Julia set}
+ xywh {240 50 190 30} labelsize 10 align 24 deactivate
+ }
+ Fl_Slider {} {
+ label {iterations:}
+ callback {d->iterations = 1<<int(o->value());
+d->new_display();}
+ xywh {80 65 160 15} type Horizontal box THIN_DOWN_BOX labelsize 10 align 4 step 1 slider_size 0.1
+ code0 {o->bounds(1,d->MAX_ITERATIONS);}
+ code2 {o->value(d->DEFAULT_ITERATIONS);}
+ code3 {o->slider(FL_UP_BOX);}
+ }
}
}
+ decl {void update_label();} {public
+ }
}