fix popup_menu icon placement, add layout_name feature, preset edit resize wdw fix...
[goodguy/cinelerra.git] / cinelerra-5.1 / cinelerra / zoombar.C
index 274961c0473df18b7d21dd1742a4d40ae9baa296..51d0df733e3fab5ae79e61b4bac651af1939f811 100644 (file)
@@ -148,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:
@@ -176,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);
@@ -201,7 +215,7 @@ TitleAlphaBar::TitleAlphaBar(MWindow *mwindow, ZoomBar *zoombar, int x, int y)
        this->mwindow = mwindow;
        this->zoombar = zoombar;
        set_precision(0.01);
-       set_tooltip(_("Title Alpha"));
+       enable_show_value(0);
 }
 
 int TitleAlphaBar::handle_event()
@@ -224,7 +238,7 @@ TitleAlphaText::TitleAlphaText(MWindow *mwindow, ZoomBar *zoombar, int x, int y)
 
 int TitleAlphaText::handle_event()
 {
-       float v = atof(get_text())*100;
+       float v = atof(get_text());
        mwindow->session->title_bar_alpha = v;
        zoombar->title_alpha_bar->update(v);
        mwindow->gui->draw_trackmovement();
@@ -347,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;
@@ -361,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;
@@ -374,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;
@@ -426,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;
@@ -467,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());