fix trace locks hang, drag handle rework-again, 12 reset btns on plugins, booby on
[goodguy/cinelerra.git] / cinelerra-5.1 / plugins / yuv411 / yuv411win.C
index 605f1aaf2d741e4172d34362f9d10e6cd71877f9..6b72929189db2749b87a5d4a078d2e1498a90bf9 100644 (file)
@@ -3,7 +3,7 @@
 #include "language.h"
 
 yuv411Window::yuv411Window(yuv411Main *client)
- : PluginClientWindow(client, 250, 220, 250, 220, 0)
+ : PluginClientWindow(client, 250, 255, 250, 255, 0)
 {
        this->client = client;
 }
@@ -42,6 +42,7 @@ void yuv411Window::create_objects()
        add_subwindow(new BC_Title(x, y, _("Bias:")));
        add_subwindow(bias=new yuv411Bias(client,x1,y));
        y += 30;
+       add_subwindow(reset = new yuv411Reset(client, this, x, y+35));
        show_window();
        flush();
 
@@ -50,6 +51,16 @@ void yuv411Window::create_objects()
        yuv_warning->hide_window();
 }
 
+void yuv411Window::update()
+{
+       avg_vertical->update(client->config.avg_vertical);
+       int_horizontal->update(client->config.int_horizontal);
+       inpainting->update(client->config.inpainting);
+       offset->update(client->config.offset);
+       thresh->update(client->config.thresh);
+       bias->update(client->config.bias);
+}
+
 int yuv411Window::close_event()
 {
        set_done(1);
@@ -116,6 +127,25 @@ int yuv411Bias::handle_event()
        return 1;
 }
 
+yuv411Reset::yuv411Reset(yuv411Main *client, yuv411Window *window, int x, int y)
+ : BC_GenericButton(x, y, _("Reset"))
+{
+       this->client = client;
+       this->window = window;
+}
+yuv411Reset::~yuv411Reset()
+{
+}
+int yuv411Reset::handle_event()
+{
+       client->config.reset();
+       window->update();
+       window->update_enables();
+       client->send_configure_change();
+       return 1;
+}
+
+
 void yuv411Window::update_enables()
 {
        yuv411Config &config = client->config;