compositor f1-f10/j/p shortcuts, opencv upgrade, new stylize,puzzle opencv plugins
[goodguy/history.git] / cinelerra-5.1 / cinelerra / cwindowtool.C
index bfb7856018b76733d106af2a97a94c491752f964..cb3a1d7e4f7cf4d0187a8ce82e631d34d6702451 100644 (file)
@@ -289,9 +289,28 @@ int CWindowToolGUI::close_event()
 
 int CWindowToolGUI::keypress_event()
 {
-       if(get_keypress() == 'w' || get_keypress() == 'W')
+       int result = 0;
+       int cwindow_operation = CWINDOW_NONE;
+
+       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 +565,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;
@@ -1662,6 +1681,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++)
@@ -1683,6 +1705,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;
@@ -2045,11 +2069,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;
@@ -2117,6 +2138,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;