
I'm taking a page from Dolphin's book, and including copies of each dependency's source code. This combines the ease of use of including pre-built libraries instead of needing to navigate a package manager - as is (or was) the case for MSVC - with the portability of using packages. Granted, this method's more of a jack of all trades, master of none, since it's *less* user-friendly than prebuilt packages (compilation times), and you don't get the per-distro compatibility fixes you'd get from a package manager. You can still use system libs if you want. In fact, it's still the default behaviour: compiling the libs manually is just a fallback. I'll add an option to force-enable this soon, however, since it's a nicer way to produce static MSYS2 builds than the hackish nightmare that I was using before. Not to mention, having my own copy of the sources means I can provide my own fixes and tweaks your package manager may not. For example, I can combine MSYS2's FreeType subpixel rendering with vcpkg's fix for SDL2 exporting its symbols in static builds.
72 lines
2.5 KiB
Text
72 lines
2.5 KiB
Text
# data file for the Fltk User Interface Designer (fluid)
|
|
version 1.0305
|
|
header_name {.h}
|
|
code_name {.cxx}
|
|
decl {\#include "mandelbrot.h"} {public local
|
|
}
|
|
|
|
decl {\#include <stdlib.h>} {private local
|
|
}
|
|
|
|
class Drawing_Window {open
|
|
} {
|
|
Function {make_window()} {open return_type void
|
|
} {
|
|
Fl_Window window {open
|
|
xywh {515 343 450 520} type Single hide resizable
|
|
code0 {o->size_range(220,220);}
|
|
} {
|
|
Fl_Box d {
|
|
user_data this user_data_type {void*}
|
|
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 48 selection_color 7 labelfont 11 labelsize 16 textfont 11 textsize 12
|
|
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 48 selection_color 7 labelfont 11 labelsize 16 textfont 11 textsize 12
|
|
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 48 selection_color 7 labelfont 11 labelsize 16 textfont 11 textsize 12
|
|
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, ctrl-P: Print} selected
|
|
xywh {240 50 190 30} labelsize 8 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 local
|
|
}
|
|
}
|