X-Git-Url: https://git.cinelerra-gg.org/git/?a=blobdiff_plain;f=cinelerra-5.1%2Fcinelerra%2Fvpatchgui.C;h=1095238feef887aa8b5f68ed09e8df320577986e;hb=3a6c2c4d94e7b24eb50d8ecd3ec0b3c8d8539743;hp=8b9c0b4766d626c5f9c5b05e38999131d61f2363;hpb=0513350234a8dcd08e5a0117d5121724ef7b76b6;p=goodguy%2Fhistory.git diff --git a/cinelerra-5.1/cinelerra/vpatchgui.C b/cinelerra-5.1/cinelerra/vpatchgui.C index 8b9c0b47..1095238f 100644 --- a/cinelerra-5.1/cinelerra/vpatchgui.C +++ b/cinelerra-5.1/cinelerra/vpatchgui.C @@ -89,10 +89,10 @@ int VPatchGUI::update(int x, int y) int x1 = 0; int y1 = PatchGUI::update(x, y); + int y2 = y1 + mwindow->theme->fade_h; if( fade ) { - if( h - y1 < mwindow->theme->fade_h ) { - delete fade; - fade = 0; + if( h < y2 ) { + delete fade; fade = 0; } else { fade->update(fade->get_w(), mwindow->get_float_auto(this, AUTOMATION_FADE)->get_value(), @@ -100,15 +100,15 @@ int VPatchGUI::update(int x, int y) mwindow->edl->local_session->automation_maxs[AUTOGROUPTYPE_VIDEO_FADE]); } } - else - if( h - y1 >= mwindow->theme->fade_h ) { + else if( h >= y2 ) { patchbay->add_subwindow(fade = new VFadePatch(mwindow, this, x1+x, y1+y, patchbay->get_w() - 10)); } - y1 += mwindow->theme->fade_h; + y1 = y2; + y2 = y1 + mwindow->theme->mode_h; if( mode ) { - if( h - y1 < mwindow->theme->mode_h ) { + if( h < y2 ) { delete mix; mix = 0; delete mode; mode = 0; delete nudge; nudge = 0; @@ -122,8 +122,7 @@ int VPatchGUI::update(int x, int y) nudge->update(); } } - else - if( h - y1 >= mwindow->theme->mode_h ) { + else if( h >= y2 ) { patchbay->add_subwindow(mix = new VMixPatch(mwindow, this, x1+x, y1+y+5)); x1 += mix->get_w(); patchbay->add_subwindow(mode = new VModePatch(mwindow, this, x1+x, y1+y)); @@ -132,13 +131,12 @@ int VPatchGUI::update(int x, int y) patchbay->add_subwindow(nudge = new NudgePatch(mwindow, this, x1+x, y1+y, patchbay->get_w() - x1-x - 10)); } + y1 = y2; - y1 += mwindow->theme->mode_h; return y1; } - void VPatchGUI::synchronize_fade(float value_change) { if( fade && !change_source ) {