[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [36700] trunk/blender/source/blender/ editors/space_view3d/view3d_edit.c: homekey in camera view now fits the view scale as well as centering the camera .
Campbell Barton
ideasman42 at gmail.com
Sun May 15 16:07:24 CEST 2011
Revision: 36700
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=36700
Author: campbellbarton
Date: 2011-05-15 14:07:24 +0000 (Sun, 15 May 2011)
Log Message:
-----------
homekey in camera view now fits the view scale as well as centering the camera.
Modified Paths:
--------------
trunk/blender/source/blender/editors/space_view3d/view3d_edit.c
Modified: trunk/blender/source/blender/editors/space_view3d/view3d_edit.c
===================================================================
--- trunk/blender/source/blender/editors/space_view3d/view3d_edit.c 2011-05-15 13:13:51 UTC (rev 36699)
+++ trunk/blender/source/blender/editors/space_view3d/view3d_edit.c 2011-05-15 14:07:24 UTC (rev 36700)
@@ -1886,10 +1886,23 @@
static int view3d_center_camera_exec(bContext *C, wmOperator *UNUSED(op)) /* was view3d_home() in 2.4x */
{
+ ARegion *ar= CTX_wm_region(C);
RegionView3D *rv3d= CTX_wm_region_view3d(C);
+ Scene *scene= CTX_data_scene(C);
+ float xfac, yfac;
+ float size[2];
rv3d->camdx= rv3d->camdy= 0.0f;
+ view3d_viewborder_size_get(scene, ar, size);
+
+ /* 4px is just a little room from the edge of the area */
+ xfac= (float)ar->winx / (float)(size[0] + 4);
+ yfac= (float)ar->winy / (float)(size[1] + 4);
+
+ rv3d->camzoom= (sqrtf(4.0f * MIN2(xfac, yfac)) - (float)M_SQRT2) * 50.0f;
+ rv3d->camzoom= CLAMPIS(rv3d->camzoom, RV3D_CAMZOOM_MIN, RV3D_CAMZOOM_MAX);
+
WM_event_add_notifier(C, NC_SPACE|ND_SPACE_VIEW3D, CTX_wm_view3d(C));
return OPERATOR_FINISHED;
More information about the Bf-blender-cvs
mailing list