x += length_value->get_w() + 5;
add_subwindow(to_value = new ToTextBox(mwindow, this, x, y));
x += to_value->get_w() + 5;
- add_subwindow(title_alpha = new TitleBarAlpha(mwindow, this, x, y));
+ add_subwindow(title_alpha_bar = new TitleAlphaBar(mwindow, this, x, y));
+ x += title_alpha_bar->get_w() + 5;
+ add_subwindow(title_alpha_text = new TitleAlphaText(mwindow, this, x, y));
update_formatting(from_value);
update_formatting(length_value);
}
void ZoomBar::update_autozoom()
+{
+ update_autozoom(mwindow->edl->local_session->zoombar_showautocolor);
+}
+
+void ZoomBar::update_autozoom(int grouptype, int color)
+{
+ mwindow->edl->local_session->zoombar_showautotype = grouptype;
+ update_autozoom(color);
+}
+
+void ZoomBar::update_autozoom(int color)
{
char string[BCTEXTLEN];
int autogroup_type = mwindow->edl->local_session->zoombar_showautotype;
+ mwindow->edl->local_session->zoombar_showautocolor = color;
+ if( color < 0 ) color = get_resources()->default_text_color;
switch( autogroup_type ) {
case AUTOGROUPTYPE_AUDIO_FADE:
case AUTOGROUPTYPE_VIDEO_FADE:
auto_type->set_text(group_name);
}
+
int ZoomBar::update()
{
sample_zoom->update(mwindow->edl->local_session->zoom_sample);
return 0;
}
-TitleBarAlpha::TitleBarAlpha(MWindow *mwindow, ZoomBar *zoombar, int x, int y)
+TitleAlphaBar::TitleAlphaBar(MWindow *mwindow, ZoomBar *zoombar, int x, int y)
: BC_FSlider(x, y, 0, 150, 200, 0, 1.0, mwindow->session->title_bar_alpha, 0)
{
this->mwindow = mwindow;
this->zoombar = zoombar;
set_precision(0.01);
- set_tooltip(_("TitleBar Alpha"));
+ enable_show_value(0);
}
-int TitleBarAlpha::handle_event()
+int TitleAlphaBar::handle_event()
{
- mwindow->session->title_bar_alpha = get_value();
+ float v = get_value();
+ mwindow->session->title_bar_alpha = v;
+ zoombar->title_alpha_text->update(v);
+ mwindow->gui->draw_trackmovement();
+ mwindow->gui->flush();
+ return 1;
+}
+
+TitleAlphaText::TitleAlphaText(MWindow *mwindow, ZoomBar *zoombar, int x, int y)
+ : BC_TextBox(x, y, 48, 1, mwindow->session->title_bar_alpha, 0, MEDIUMFONT, 2)
+{
+ this->mwindow = mwindow;
+ this->zoombar = zoombar;
+ set_tooltip(_("Title Alpha"));
+}
+
+int TitleAlphaText::handle_event()
+{
+ float v = atof(get_text());
+ mwindow->session->title_bar_alpha = v;
+ zoombar->title_alpha_bar->update(v);
mwindow->gui->draw_trackmovement();
mwindow->gui->flush();
return 1;
SampleZoomPanel::SampleZoomPanel(MWindow *mwindow, ZoomBar *zoombar, int x, int y)
: ZoomPanel(mwindow, zoombar, mwindow->edl->local_session->zoom_sample,
- x, y, 110, MIN_ZOOM_TIME, MAX_ZOOM_TIME, ZOOM_TIME)
+ x, y, 130, MIN_ZOOM_TIME, MAX_ZOOM_TIME, ZOOM_TIME)
{
this->mwindow = mwindow;
this->zoombar = zoombar;
AmpZoomPanel::AmpZoomPanel(MWindow *mwindow, ZoomBar *zoombar, int x, int y)
: ZoomPanel(mwindow, zoombar, mwindow->edl->local_session->zoom_y,
- x, y, 80, MIN_AMP_ZOOM, MAX_AMP_ZOOM, ZOOM_LONG)
+ x, y, 100, MIN_AMP_ZOOM, MAX_AMP_ZOOM, ZOOM_LONG)
{
this->mwindow = mwindow;
this->zoombar = zoombar;
TrackZoomPanel::TrackZoomPanel(MWindow *mwindow, ZoomBar *zoombar, int x, int y)
: ZoomPanel(mwindow, zoombar, mwindow->edl->local_session->zoom_track,
- x, y, 70, MIN_TRACK_ZOOM, MAX_TRACK_ZOOM, ZOOM_LONG)
+ x, y, 90, MIN_TRACK_ZOOM, MAX_TRACK_ZOOM, ZOOM_LONG)
{
this->mwindow = mwindow;
this->zoombar = zoombar;
AutoTypeMenu::AutoTypeMenu(MWindow *mwindow, ZoomBar *zoombar, int x, int y, int wid)
- : BC_PopupMenu(x, y, wid, to_text(mwindow->edl->local_session->zoombar_showautotype), 1)
+ : BC_PopupMenu(x, y, wid + 24,
+ to_text(mwindow->edl->local_session->zoombar_showautotype), 1, 0, 12)
{
this->mwindow = mwindow;
this->zoombar = zoombar;
return AUTOGROUPTYPE_INT255;
}
+int AutoTypeMenu::draw_face(int dx, int color)
+{
+ BC_PopupMenu::draw_face(dx+8, color);
+ color = mwindow->edl->local_session->zoombar_showautocolor;
+ if( color >= 0 ) {
+ set_color(color);
+ int margin = get_margin();
+ int mx = margin+8, my = 3*margin/8;
+ int bh = get_h() - 2*my;
+ draw_box(mx,my, bh,bh);
+ }
+ return 1;
+}
+
int AutoTypeMenu::handle_event()
{
mwindow->edl->local_session->zoombar_showautotype = from_text(this->get_text());