configure tweaks, loadmode_edl icons from igor
[goodguy/cinelerra.git] / cinelerra-5.1 / plugins / translate / translatewin.C
index c1a6400e481a756a717754235a1914f6fa9bf12a..6bd1142fdf4c53041d345b23e59f96b524cf0253 100644 (file)
 
 TranslateWin::TranslateWin(TranslateMain *client)
  : PluginClientWindow(client,
-       300,
-       220,
-       300,
-       220,
+       xS(300),
+       yS(250),
+       xS(300),
+       yS(250),
        0)
 {
        this->client = client;
@@ -54,65 +54,79 @@ TranslateWin::~TranslateWin()
 
 void TranslateWin::create_objects()
 {
-       int x = 10, y = 10;
+       int xs10 = xS(10), xs150 = xS(150);
+       int ys10 = yS(10), ys20 = yS(20), ys30 = yS(30), ys40 = yS(40);
+       int x = xs10, y = ys10;
 
        add_tool(new BC_Title(x, y, _("In X:")));
-       y += 20;
+       y += ys20;
        in_x = new TranslateCoord(this, client, x, y, &client->config.in_x);
        in_x->create_objects();
-       y += 30;
+       y += ys30;
 
        add_tool(new BC_Title(x, y, _("In Y:")));
-       y += 20;
+       y += ys20;
        in_y = new TranslateCoord(this, client, x, y, &client->config.in_y);
        in_y->create_objects();
-       y += 30;
+       y += ys30;
 
        add_tool(new BC_Title(x, y, _("In W:")));
-       y += 20;
+       y += ys20;
        in_w = new TranslateCoord(this, client, x, y, &client->config.in_w);
        in_w->create_objects();
-       y += 30;
+       y += ys30;
 
        add_tool(new BC_Title(x, y, _("In H:")));
-       y += 20;
+       y += ys20;
        in_h = new TranslateCoord(this, client, x, y, &client->config.in_h);
        in_h->create_objects();
-       y += 30;
 
+       y += ys40;
+       add_tool(reset = new TranslateReset(client, this, x, y));
 
-       x += 150;
-       y = 10;
+       x += xs150;
+       y = ys10;
        add_tool(new BC_Title(x, y, _("Out X:")));
-       y += 20;
+       y += ys20;
        out_x = new TranslateCoord(this, client, x, y, &client->config.out_x);
        out_x->create_objects();
-       y += 30;
+       y += ys30;
 
        add_tool(new BC_Title(x, y, _("Out Y:")));
-       y += 20;
+       y += ys20;
        out_y = new TranslateCoord(this, client, x, y, &client->config.out_y);
        out_y->create_objects();
-       y += 30;
+       y += ys30;
 
        add_tool(new BC_Title(x, y, _("Out W:")));
-       y += 20;
+       y += ys20;
        out_w = new TranslateCoord(this, client, x, y, &client->config.out_w);
        out_w->create_objects();
-       y += 30;
+       y += ys30;
 
        add_tool(new BC_Title(x, y, _("Out H:")));
-       y += 20;
+       y += ys20;
        out_h = new TranslateCoord(this, client, x, y, &client->config.out_h);
        out_h->create_objects();
-       y += 30;
-
-
+       y += ys30;
 
        show_window();
        flush();
 }
 
+void TranslateWin::update()
+{
+       in_x->update((int64_t)client->config.in_x);
+       in_y->update((int64_t)client->config.in_y);
+       in_w->update((int64_t)client->config.in_w);
+       in_h->update((int64_t)client->config.in_h);
+       out_x->update((int64_t)client->config.out_x);
+       out_y->update((int64_t)client->config.out_y);
+       out_y->update((int64_t)client->config.out_y);
+       out_w->update((int64_t)client->config.out_w);
+       out_h->update((int64_t)client->config.out_h);
+}
+
 
 
 TranslateCoord::TranslateCoord(TranslateWin *win,
@@ -126,7 +140,7 @@ TranslateCoord::TranslateCoord(TranslateWin *win,
        (int)10000,
        x,
        y,
-       100)
+       xS(100))
 {
 //printf("TranslateWidth::TranslateWidth %f\n", client->config.w);
        this->client = client;
@@ -146,4 +160,19 @@ int TranslateCoord::handle_event()
        return 1;
 }
 
-
+TranslateReset::TranslateReset(TranslateMain *client, TranslateWin *win, int x, int y)
+ : BC_GenericButton(x, y, _("Reset"))
+{
+       this->client = client;
+       this->win = win;
+}
+TranslateReset::~TranslateReset()
+{
+}
+int TranslateReset::handle_event()
+{
+       client->config.reset();
+       win->update();
+       client->send_configure_change();
+       return 1;
+}