class OilEffect;
-
+class OilWindow;
+class OilReset;
class OilConfig
{
public:
OilConfig();
+ void reset();
+
void copy_from(OilConfig &src);
int equivalent(OilConfig &src);
void interpolate(OilConfig &prev,
OilEffect *plugin;
};
+class OilReset : public BC_GenericButton
+{
+public:
+ OilReset(OilEffect *plugin, OilWindow *window, int x, int y);
+ ~OilReset();
+ int handle_event();
+ OilEffect *plugin;
+ OilWindow *window;
+};
+
+
class OilWindow : public PluginClientWindow
{
public:
OilWindow(OilEffect *plugin);
~OilWindow();
void create_objects();
-
+ void update();
OilEffect *plugin;
OilRadius *radius;
OilIntensity *intensity;
+ OilReset *reset;
};
-
-
OilConfig::OilConfig()
+{
+ reset();
+}
+
+void OilConfig::reset()
{
radius = 5;
use_intensity = 0;
: BC_FSlider(x,
y,
0,
- 200,
- 200,
+ xS(200),
+ yS(200),
(float)0,
(float)30,
plugin->config.radius)
}
+OilReset::OilReset(OilEffect *plugin, OilWindow *window, int x, int y)
+ : BC_GenericButton(x, y, _("Reset"))
+{
+ this->plugin = plugin;
+ this->window = window;
+}
+OilReset::~OilReset()
+{
+}
+int OilReset::handle_event()
+{
+ plugin->config.reset();
+ window->update();
+ plugin->send_configure_change();
+ return 1;
+}
OilWindow::OilWindow(OilEffect *plugin)
: PluginClientWindow(plugin,
- 300,
- 160,
- 300,
- 160,
+ xS(300),
+ yS(120),
+ xS(300),
+ yS(120),
0)
{
this->plugin = plugin;
void OilWindow::create_objects()
{
- int x = 10, y = 10;
+ int xs10 = xS(10), xs70 = xS(70);
+ int ys10 = yS(10), ys40 = yS(40);
+ int x = xs10, y = ys10;
add_subwindow(new BC_Title(x, y, _("Radius:")));
- add_subwindow(radius = new OilRadius(plugin, x + 70, y));
- y += 40;
+ add_subwindow(radius = new OilRadius(plugin, x + xs70, y));
+ y += ys40;
add_subwindow(intensity = new OilIntensity(plugin, x, y));
+ y += ys40;
+ add_subwindow(reset = new OilReset(plugin, this, x, y));
show_window();
flush();
}
-
+// for Reset button
+void OilWindow::update()
+{
+ radius->update(plugin->config.radius);
+ intensity->update(plugin->config.use_intensity);
+}