X-Git-Url: http://git.cinelerra-gg.org/git/?a=blobdiff_plain;ds=sidebyside;f=cinelerra-5.1%2Fcinelerra%2Fcwindowtool.C;h=fefe2d4ca28b259e365c4c9489098fbb92c43a5c;hb=17061ff8d289bfa96bef2da5bac789762f631d4a;hp=73f1f23254a5925e7d1e4e28a8f647e4f25bd2fd;hpb=9d832a1fff11b11aaa1108c460690ed05e2bdc05;p=goodguy%2Fhistory.git diff --git a/cinelerra-5.1/cinelerra/cwindowtool.C b/cinelerra-5.1/cinelerra/cwindowtool.C index 73f1f232..fefe2d4c 100644 --- a/cinelerra-5.1/cinelerra/cwindowtool.C +++ b/cinelerra-5.1/cinelerra/cwindowtool.C @@ -289,9 +289,27 @@ int CWindowToolGUI::close_event() int CWindowToolGUI::keypress_event() { - if(get_keypress() == 'w' || get_keypress() == 'W') + int result = 0; + + switch( get_keypress() ) { + case 'w': + case 'W': return close_event(); - return 0; + case KEY_F1: + case KEY_F2: + case KEY_F3: + case KEY_F4: + case KEY_F5: + case KEY_F6: + case KEY_F7: + case KEY_F8: + case KEY_F9: + case KEY_F10: + resend_event(thread->gui); + result = 1; + } + + return result; } int CWindowToolGUI::translation_event() @@ -546,7 +564,7 @@ void CWindowEyedropGUI::update() rgb_hex->update(rgb_text); float y, u, v; - YUV::rgb_to_yuv_f(r, g, b, y, u, v); + YUV::yuv.rgb_to_yuv_f(r, g, b, y, u, v); this->y->update(y); this->u->update(u); u += 0.5; this->v->update(v); v += 0.5; @@ -789,16 +807,12 @@ void CWindowCameraGUI::create_objects() void CWindowCameraGUI::update_preview() { - mwindow->restart_brender(); - mwindow->sync_parameters(CHANGE_PARAMS); - - mwindow->cwindow->playback_engine->que->send_command(CURRENT_FRAME, - CHANGE_NONE, - mwindow->edl, - 1); mwindow->gui->lock_window("CWindowCameraGUI::update_preview"); + mwindow->restart_brender(); mwindow->gui->draw_overlays(1); + mwindow->sync_parameters(CHANGE_PARAMS); mwindow->gui->unlock_window(); + mwindow->cwindow->refresh_frame(CHANGE_NONE); mwindow->cwindow->gui->lock_window("CWindowCameraGUI::update_preview"); mwindow->cwindow->gui->canvas->draw_refresh(); mwindow->cwindow->gui->unlock_window(); @@ -1237,16 +1251,12 @@ void CWindowProjectorGUI::create_objects() void CWindowProjectorGUI::update_preview() { + mwindow->gui->lock_window("CWindowProjectorGUI::update_preview"); mwindow->restart_brender(); mwindow->sync_parameters(CHANGE_PARAMS); - mwindow->cwindow->playback_engine->que->send_command(CURRENT_FRAME, - CHANGE_NONE, - mwindow->edl, - 1); - // TODO: really need to lock the main window?? - mwindow->gui->lock_window("CWindowProjectorGUI::update_preview"); mwindow->gui->draw_overlays(1); mwindow->gui->unlock_window(); + mwindow->cwindow->refresh_frame(CHANGE_NONE); mwindow->cwindow->gui->lock_window("CWindowProjectorGUI::update_preview"); mwindow->cwindow->gui->canvas->draw_refresh(); mwindow->cwindow->gui->unlock_window(); @@ -1670,6 +1680,9 @@ int CWindowMaskDelete::handle_event() temp_keyframe.copy_data(keyframe); // Update parameter SubMask *submask = temp_keyframe.get_submask(mwindow->edl->session->cwindow_mask); + if( shift_down() ) + submask->points.remove_all_objects(); + for(int i = mwindow->cwindow->gui->affected_point; i < submask->points.total - 1; i++) @@ -1691,6 +1704,8 @@ int CWindowMaskDelete::handle_event() current; ) { SubMask *submask = current->get_submask(mwindow->edl->session->cwindow_mask); + if( shift_down() ) + submask->points.remove_all_objects(); for(int i = mwindow->cwindow->gui->affected_point; i < submask->points.total - 1; @@ -2053,11 +2068,8 @@ int CWindowDisableOpenGLMasking::handle_event() CWindowMaskGUI::CWindowMaskGUI(MWindow *mwindow, CWindowTool *thread) - : CWindowToolGUI(mwindow, - thread, - _(PROGRAM_NAME ": Mask"), - 330, - 310) + : CWindowToolGUI(mwindow, thread, + _(PROGRAM_NAME ": Mask"), 330, 320) { this->mwindow = mwindow; this->thread = thread; @@ -2125,6 +2137,8 @@ void CWindowMaskGUI::create_objects() y += title->get_h() + margin; add_subwindow(title = new BC_Title(x, y, _("Press Ctrl to move a control point"))); y += title->get_h() + margin; + add_subwindow(title = new BC_Title(x, y, _("Shift+click Delete to delete the mask"))); + y += title->get_h() + margin; add_subwindow(title = new BC_Title(x, y, _("Press Alt to translate the mask"))); y += 30; @@ -2264,12 +2278,12 @@ void CWindowMaskGUI::handle_event() void CWindowMaskGUI::update_preview() { + mwindow->gui->lock_window("CWindowMaskGUI::update_preview"); mwindow->restart_brender(); mwindow->sync_parameters(CHANGE_PARAMS); - mwindow->cwindow->playback_engine->que->send_command(CURRENT_FRAME, - CHANGE_NONE, - mwindow->edl, - 1); + mwindow->gui->draw_overlays(1); + mwindow->gui->unlock_window(); + mwindow->cwindow->refresh_frame(CHANGE_NONE); mwindow->cwindow->gui->lock_window("CWindowMaskGUI::update_preview"); mwindow->cwindow->gui->canvas->draw_refresh(); mwindow->cwindow->gui->unlock_window();