X-Git-Url: https://git.cinelerra-gg.org/git/?a=blobdiff_plain;f=cinelerra-5.1%2Fcinelerra%2Fpatchgui.C;h=e69b707acb387a4b6b50bf9af0446af96cd4eae4;hb=84b52741889e1afee840d7c24009cc139244ce74;hp=169ff60049ed24d843c783cb91fce92bfb4eb2ab;hpb=3fc547b01e919d3044bacf2a78baddeaed04e3a0;p=goodguy%2Fcinelerra.git diff --git a/cinelerra-5.1/cinelerra/patchgui.C b/cinelerra-5.1/cinelerra/patchgui.C index 169ff600..e69b707a 100644 --- a/cinelerra-5.1/cinelerra/patchgui.C +++ b/cinelerra-5.1/cinelerra/patchgui.C @@ -63,6 +63,7 @@ PatchGUI::PatchGUI(MWindow *mwindow, gang = 0; draw = 0; mute = 0; + zoom = 0; expand = 0; nudge = 0; mix = 0; @@ -80,6 +81,7 @@ PatchGUI::~PatchGUI() delete gang; delete draw; delete mute; + delete zoom; delete expand; delete nudge; delete mix; @@ -118,6 +120,7 @@ int PatchGUI::reposition(int x, int y) x1 += draw->get_w(); mute->reposition_window(mute->get_x(), y1 + y); x1 += mute->get_w(); + zoom->reposition_window(zoom->get_x(), y1 + y); } y1 += mwindow->theme->play_h; } @@ -171,6 +174,7 @@ int PatchGUI::update(int x, int y) delete gang; gang = 0; delete draw; draw = 0; delete mute; mute = 0; + delete zoom; zoom = 0; } else { play->update(track->play); @@ -192,6 +196,7 @@ int PatchGUI::update(int x, int y) x1 += draw->get_w(); patchbay->add_subwindow(mute = new MutePatch(mwindow, this, x1 + x, y1 + y)); x1 += mute->get_w(); + patchbay->add_subwindow(zoom = new ZoomPatch(mwindow, this, x1 + x, y1 + y)); } if( play ) y1 = y2; @@ -386,6 +391,7 @@ int RecordPatch::button_press_event() get_resources()->text_background : get_resources()->text_background_disarmed); patch->title->set_text_row(0); + mwindow->gui->draw_overlays(1); return 1; } return 0; @@ -573,6 +579,31 @@ int MutePatch::button_release_event() } +ZoomPatch::ZoomPatch(MWindow *mwindow, PatchGUI *patch, int x, int y) + : BC_Tumbler(x, y, mwindow->theme->get_image_set("tumblepatch_data")) +{ + this->mwindow = mwindow; + this->patch = patch; + set_tooltip(_("Track Data Height")); +} + +int ZoomPatch::handle_up_event() +{ + patch->track->data_h *= 2; + bclamp(patch->track->data_h, MIN_TRACK_ZOOM, MAX_TRACK_ZOOM); + mwindow->edl->tracks->update_y_pixels(mwindow->theme); + mwindow->gui->draw_trackmovement(); + return 1; +} +int ZoomPatch::handle_down_event() +{ + patch->track->data_h /= 2; + bclamp(patch->track->data_h, MIN_TRACK_ZOOM, MAX_TRACK_ZOOM); + mwindow->edl->tracks->update_y_pixels(mwindow->theme); + mwindow->gui->draw_trackmovement(); + return 1; +} + ExpandPatch::ExpandPatch(MWindow *mwindow, PatchGUI *patch, int x, int y) : BC_Toggle(x,