X-Git-Url: https://git.cinelerra-gg.org/git/?a=blobdiff_plain;f=cinelerra-5.1%2Fcinelerra%2Fzoombar.C;h=51d0df733e3fab5ae79e61b4bac651af1939f811;hb=cdb8b00f2f7ecf0b4910a40e1d90a87540d2891d;hp=9f1c95bcb0e9d596f7562176179350e226ec2fe9;hpb=3d7a882d0808f456957f823454bd84ff8317a51a;p=goodguy%2Fcinelerra.git diff --git a/cinelerra-5.1/cinelerra/zoombar.C b/cinelerra-5.1/cinelerra/zoombar.C index 9f1c95bc..51d0df73 100644 --- a/cinelerra-5.1/cinelerra/zoombar.C +++ b/cinelerra-5.1/cinelerra/zoombar.C @@ -104,7 +104,9 @@ void ZoomBar::create_objects() 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); @@ -146,9 +148,22 @@ int ZoomBar::draw() } 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: @@ -174,6 +189,7 @@ void ZoomBar::update_autozoom() auto_type->set_text(group_name); } + int ZoomBar::update() { sample_zoom->update(mwindow->edl->local_session->zoom_sample); @@ -193,18 +209,38 @@ int ZoomBar::update_clocks() 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; @@ -325,7 +361,7 @@ int ZoomBar::set_selection(int which_one) 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; @@ -339,7 +375,7 @@ int SampleZoomPanel::handle_event() 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; @@ -352,7 +388,7 @@ int AmpZoomPanel::handle_event() 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; @@ -404,7 +440,8 @@ int AutoZoom::handle_down_event() 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; @@ -445,6 +482,20 @@ int AutoTypeMenu::from_text(char *text) 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());