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()
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;
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();
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();
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++)
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;
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;
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;
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();