[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