X-Git-Url: https://git.cinelerra-gg.org/git/?p=goodguy%2Fcinelerra.git;a=blobdiff_plain;f=cinelerra-5.1%2Fplugins%2Ftitler%2Ftitlerwindow.C;h=f8705dfd6d8fe2763767de452ad377b2d73b8fb8;hp=fc4fc8f87ab5515bcd922baf00d63577699be7ed;hb=9303c74f396d12f0fb48639ff6a835824cbc5987;hpb=6e880be00673eac08e9463e3ce752aaf4c18085b diff --git a/cinelerra-5.1/plugins/titler/titlerwindow.C b/cinelerra-5.1/plugins/titler/titlerwindow.C index fc4fc8f8..f8705dfd 100644 --- a/cinelerra-5.1/plugins/titler/titlerwindow.C +++ b/cinelerra-5.1/plugins/titler/titlerwindow.C @@ -139,6 +139,8 @@ TitleWindow::~TitleWindow() delete timecode_format; delete title_x; delete title_y; + delete title_w; + delete title_h; } void TitleWindow::create_objects() @@ -259,13 +261,13 @@ void TitleWindow::create_objects() add_tool(bold = new TitleBold(client, this, x, y + yS(50))); if( bold->get_w() > w1 ) w1 = bold->get_w(); + if( client->drag && drag->drag_activate() ) { + eprintf("drag enabled, but compositor already grabbed\n"); + client->drag = 0; + } add_tool(drag = new TitleDrag(client, this, x, y + yS(80))); drag->create_objects(); if( drag->get_w() > w1 ) w1 = drag->get_w(); - if( client->config.drag ) { - if( drag->drag_activate() ) - eprintf("drag enabled, but compositor already grabbed\n"); - } add_tool(alias = new TitleAlias(client, this, x, y+yS(110))); if( alias->get_w() > w1 ) w1 = drag->get_w(); @@ -572,6 +574,10 @@ void TitleWindow::update_gui() title_y->update((int64_t)client->config.title_y); title_w->update((int64_t)client->config.title_w); title_h->update((int64_t)client->config.title_h); + drag->drag_x = client->config.title_x; + drag->drag_y = client->config.title_y; + drag->drag_w = client->config.title_w; + drag->drag_h = client->config.title_h; italic->update(client->config.style & BC_FONT_ITALIC); bold->update(client->config.style & BC_FONT_BOLD); alias->update(client->config.style & FONT_ALIAS); @@ -1228,7 +1234,7 @@ int TitleBottom::handle_event() } TitleDrag::TitleDrag(TitleMain *client, TitleWindow *window, int x, int y) - : DragCheckBox(client->server->mwindow, x, y, _("Drag"), &client->config.drag, + : DragCheckBox(client->server->mwindow, x, y, _("Drag"), &client->drag, client->config.title_x, client->config.title_y, client->config.title_w, client->config.title_h) { @@ -1250,7 +1256,7 @@ int64_t TitleDrag::get_drag_position() void TitleDrag::update_gui() { - client->config.drag = get_value(); + client->drag = get_value(); client->config.title_x = drag_x; client->config.title_y = drag_y; client->config.title_w = drag_w+0.5; @@ -1265,6 +1271,7 @@ void TitleDrag::update_gui() int TitleDrag::handle_event() { int ret = DragCheckBox::handle_event(); + client->drag = get_value(); window->send_configure_change(); return ret; }