#include "pluginserver.h"
#include "theme.h"
#include "track.h"
+#include "tracks.h"
#include "titlerwindow.h"
#include "bcfontentry.h"
delete timecode_format;
delete title_x;
delete title_y;
+ delete title_w;
+ delete title_h;
}
void TitleWindow::create_objects()
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");
- }
+ if( client->config.drag && 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();
{
int ibeam = cur_ibeam;
int ilen = strlen(txt)+1;
- wchar_t wtxt[ilen];
+ wchr_t wtxt[ilen];
int len = BC_Resources::encode(client->config.encoding, BC_Resources::wide_encoding,
- (char*)txt,ilen, (char *)wtxt,ilen*sizeof(wtxt[0])) / sizeof(wchar_t);
+ (char*)txt,ilen, (char *)wtxt,ilen*sizeof(wtxt[0])) / sizeof(wchr_t);
client->insert_text(wtxt, ibeam);
while( len > 0 && !wtxt[len] ) --len;
int adv = len+1 + ofs;
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);
fade_out->update((float)client->config.fade_out);
font->update(client->config.font);
check_style(client->config.font,0);
- text->update(client->config.wtext ? &client->config.wtext[0] : L"");
+ wchr_t wz[1] = { 0 };
+ text->update(client->config.wtext ? &client->config.wtext[0] : wz);
speed->update(client->config.pixels_per_second);
outline->update((int64_t)client->config.outline_size);
#ifdef USE_STROKER
int TitleText::handle_event()
{
window->fonts_popup->deactivate();
- const wchar_t *wtext = get_wtext();
- long wlen = wcslen(wtext);
+ const wchr_t *wtext = get_wtext();
+ long wlen = wstrlen(wtext);
client->config.demand(wlen);
- wcsncpy(client->config.wtext, wtext, client->config.wsize);
+ wstrncpy(client->config.wtext, wtext, client->config.wsize);
client->config.wlen = wlen;
window->update_stats();
window->send_configure_change();
Track *TitleDrag::get_drag_track()
{
- return !client->server->plugin ? 0 :
- client->server->plugin->track;
+ PluginServer *server = client->server;
+ int plugin_id = server->plugin_id;
+ Plugin *plugin = server->edl->tracks->plugin_exists(plugin_id);
+ return !plugin ? 0 : plugin->track;
}
int64_t TitleDrag::get_drag_position()
{
if( result ) return;
BrowseButtonWindow *gui = (BrowseButtonWindow *)get_gui();
const char *path = gui->get_submitted_path();
- char txt[BCSTRLEN]; sprintf(txt, "<%s %s>", _(KW_PNG), path);
+ char txt[BCTEXTLEN]; sprintf(txt, "<%s %s>", _(KW_PNG), path);
window->lock_window("TitlePngPopup::handle_done_event");
window->insert_ibeam(txt);
window->unlock_window();