X-Git-Url: http://git.cinelerra-gg.org/git/?a=blobdiff_plain;f=cinelerra-5.1%2Fcinelerra%2Fcwindowgui.C;h=113a8cda6e2e3da0e1b02ef91215bbf4d3f07e4c;hb=5249bc8407920effc00e13940d3d4ccea0dd5d9f;hp=172ee6e3cbbc88c115aa80fdb8887d4b964009da;hpb=2f28632d8209ef735de1698a596bc94fa9613497;p=goodguy%2Fhistory.git diff --git a/cinelerra-5.1/cinelerra/cwindowgui.C b/cinelerra-5.1/cinelerra/cwindowgui.C index 172ee6e3..113a8cda 100644 --- a/cinelerra-5.1/cinelerra/cwindowgui.C +++ b/cinelerra-5.1/cinelerra/cwindowgui.C @@ -1584,6 +1584,7 @@ int CWindowCanvas::do_mask(int &redraw, int &rerender, } else { if(!gui->shift_down()) { + output_to_canvas(mwindow->edl, 0, canvas_x0, canvas_y0); if(test_bbox(cursor_x, cursor_y, canvas_x0, canvas_y0)) { selected_point = i; } @@ -1605,6 +1606,7 @@ int CWindowCanvas::do_mask(int &redraw, int &rerender, } else if(i < points.size() - 1) { if(!gui->shift_down()) { + output_to_canvas(mwindow->edl, 0, canvas_x3, canvas_y3); if(test_bbox(cursor_x, cursor_y, canvas_x3, canvas_y3)) { selected_point = (i < points.size() - 1 ? i + 1 : 0); } @@ -1641,15 +1643,14 @@ int CWindowCanvas::do_mask(int &redraw, int &rerender, // sprintf(string, "%d", (i < points.size() - 1 ? i + 1 : 0)); // canvas->draw_text((int)canvas_x + CONTROL_W, (int)canvas_y + CONTROL_W, string); } - -// Draw second control point. Discard x2 and y2 after this. - output_to_canvas(mwindow->edl, 0, x2, y2); +// Draw second control point. + output_to_canvas(mwindow->edl, 0, canvas_x2, canvas_y2); get_canvas()->draw_line( (int)canvas_x, (int)canvas_y, (int)canvas_x2, (int)canvas_y2); get_canvas()->draw_rectangle( - (int)x2 - CONTROL_W / 2, - (int)y2 - CONTROL_H / 2, + (int)canvas_x2 - CONTROL_W / 2, + (int)canvas_y2 - CONTROL_H / 2, CONTROL_W, CONTROL_H); } } @@ -3342,7 +3343,9 @@ int CWindowCanvas::button_release_event() gui->mask_keyframe = 0; mwindow->undo->update_undo_after(_("mask"), LOAD_AUTOMATION); break; - + case CWINDOW_NONE: + result = Canvas::button_release_event(); + break; } gui->current_operation = CWINDOW_NONE;