X-Git-Url: https://git.cinelerra-gg.org/git/?a=blobdiff_plain;f=cinelerra-5.1%2Fplugins%2Ftranslate%2Ftranslatewin.C;h=6bd1142fdf4c53041d345b23e59f96b524cf0253;hb=e04ca4a9e14ac5d4163e92ed4d614ac39abb7440;hp=c1a6400e481a756a717754235a1914f6fa9bf12a;hpb=7fd85fb66168f6b518c5f2d73e04036e87faa0e1;p=goodguy%2Fcinelerra.git diff --git a/cinelerra-5.1/plugins/translate/translatewin.C b/cinelerra-5.1/plugins/translate/translatewin.C index c1a6400e..6bd1142f 100644 --- a/cinelerra-5.1/plugins/translate/translatewin.C +++ b/cinelerra-5.1/plugins/translate/translatewin.C @@ -39,10 +39,10 @@ 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; +}