[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [48939] trunk/blender/source/blender/ editors/space_node/node_edit.c: fix: node background image move operator didn' t take zoom into account when clamping pan bounds.

Campbell Barton ideasman42 at gmail.com
Sun Jul 15 13:33:14 CEST 2012


Revision: 48939
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=48939
Author:   campbellbarton
Date:     2012-07-15 11:33:13 +0000 (Sun, 15 Jul 2012)
Log Message:
-----------
fix: node background image move operator didn't take zoom into account when clamping pan bounds.

Modified Paths:
--------------
    trunk/blender/source/blender/editors/space_node/node_edit.c

Modified: trunk/blender/source/blender/editors/space_node/node_edit.c
===================================================================
--- trunk/blender/source/blender/editors/space_node/node_edit.c	2012-07-15 10:51:36 UTC (rev 48938)
+++ trunk/blender/source/blender/editors/space_node/node_edit.c	2012-07-15 11:33:13 UTC (rev 48939)
@@ -1573,11 +1573,13 @@
 
 static int snode_bg_viewmove_invoke(bContext *C, wmOperator *op, wmEvent *event)
 {
+	SpaceNode *snode = CTX_wm_space_node(C);
 	ARegion *ar = CTX_wm_region(C);
 	NodeViewMove *nvm;
 	Image *ima;
 	ImBuf *ibuf;
-	int pad = 10;
+	const float pad = 32.0f; /* better be bigger then scrollbars */
+
 	void *lock;
 	
 	ima = BKE_image_verify_viewer(IMA_TYPE_COMPOSITE, "Viewer Node");
@@ -1593,10 +1595,10 @@
 	nvm->mvalo[0] = event->mval[0];
 	nvm->mvalo[1] = event->mval[1];
 
-	nvm->xmin = -(ar->winx / 2) - ibuf->x / 2 + pad;
-	nvm->xmax = ar->winx / 2 + ibuf->x / 2 - pad;
-	nvm->ymin = -(ar->winy / 2) - ibuf->y / 2 + pad;
-	nvm->ymax = ar->winy / 2 + ibuf->y / 2 - pad;
+	nvm->xmin = -(ar->winx / 2) - (ibuf->x * (0.5f * snode->zoom)) + pad;
+	nvm->xmax =  (ar->winx / 2) + (ibuf->x * (0.5f * snode->zoom)) - pad;
+	nvm->ymin = -(ar->winy / 2) - (ibuf->y * (0.5f * snode->zoom)) + pad;
+	nvm->ymax =  (ar->winy / 2) + (ibuf->y * (0.5f * snode->zoom)) - pad;
 
 	BKE_image_release_ibuf(ima, lock);
 	




More information about the Bf-blender-cvs mailing list