Quad view split 3D window: didn't work for "box lock" option when
using "view all" or "view selected".
Made it work nicely for animated 'smooth' view too.
This commit is contained in:
Ton Roosendaal 2010-11-07 14:57:24 +00:00
parent fb20c1b184
commit c7fab53ccb
2 changed files with 6 additions and 7 deletions

@ -1348,9 +1348,6 @@ static int view3d_all_exec(bContext *C, wmOperator *op) /* was view3d_home() in
} }
// XXX BIF_view3d_previewrender_signal(curarea, PR_DBASE|PR_DISPRECT); // XXX BIF_view3d_previewrender_signal(curarea, PR_DBASE|PR_DISPRECT);
if(rv3d->viewlock & RV3D_BOXVIEW)
view3d_boxview_copy(CTX_wm_area(C), ar);
WM_event_add_notifier(C, NC_SPACE|ND_SPACE_VIEW3D, v3d); WM_event_add_notifier(C, NC_SPACE|ND_SPACE_VIEW3D, v3d);
return OPERATOR_FINISHED; return OPERATOR_FINISHED;
@ -1492,9 +1489,9 @@ static int viewselected_exec(bContext *C, wmOperator *UNUSED(op)) /* like a loca
smooth_view(C, NULL, NULL, new_ofs, NULL, ok_dist ? &new_dist : NULL, NULL); smooth_view(C, NULL, NULL, new_ofs, NULL, ok_dist ? &new_dist : NULL, NULL);
} }
/* smooth view does viewlock RV3D_BOXVIEW copy */
// XXX BIF_view3d_previewrender_signal(curarea, PR_DBASE|PR_DISPRECT); // XXX BIF_view3d_previewrender_signal(curarea, PR_DBASE|PR_DISPRECT);
if(rv3d->viewlock & RV3D_BOXVIEW)
view3d_boxview_copy(CTX_wm_area(C), ar);
return OPERATOR_FINISHED; return OPERATOR_FINISHED;
} }
@ -1527,8 +1524,7 @@ static int viewcenter_cursor_exec(bContext *C, wmOperator *UNUSED(op))
negate_v3_v3(new_ofs, give_cursor(scene, v3d)); negate_v3_v3(new_ofs, give_cursor(scene, v3d));
smooth_view(C, NULL, NULL, new_ofs, NULL, NULL, NULL); smooth_view(C, NULL, NULL, new_ofs, NULL, NULL, NULL);
if (rv3d->viewlock & RV3D_BOXVIEW) /* smooth view does viewlock RV3D_BOXVIEW copy */
view3d_boxview_copy(CTX_wm_area(C), CTX_wm_region(C));
} }
return OPERATOR_FINISHED; return OPERATOR_FINISHED;

@ -347,6 +347,9 @@ static int view3d_smoothview_invoke(bContext *C, wmOperator *UNUSED(op), wmEvent
v3d->lens = sms->new_lens*step + sms->orig_lens*step_inv; v3d->lens = sms->new_lens*step + sms->orig_lens*step_inv;
} }
if(rv3d->viewlock & RV3D_BOXVIEW)
view3d_boxview_copy(CTX_wm_area(C), CTX_wm_region(C));
WM_event_add_notifier(C, NC_SPACE|ND_SPACE_VIEW3D, v3d); WM_event_add_notifier(C, NC_SPACE|ND_SPACE_VIEW3D, v3d);
return OPERATOR_FINISHED; return OPERATOR_FINISHED;