[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [23520] trunk/blender/source/blender/ editors: Fix #19482: setting cursor position in uv editor was not correct

Brecht Van Lommel brecht at blender.org
Mon Sep 28 10:52:02 CEST 2009


Revision: 23520
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=23520
Author:   blendix
Date:     2009-09-28 10:52:02 +0200 (Mon, 28 Sep 2009)

Log Message:
-----------
Fix #19482: setting cursor position in uv editor was not correct
zoomed in, needed to make view2d offset for pixel rounding dependent
on zoom level.

Modified Paths:
--------------
    trunk/blender/source/blender/editors/interface/view2d.c
    trunk/blender/source/blender/editors/space_image/space_image.c

Modified: trunk/blender/source/blender/editors/interface/view2d.c
===================================================================
--- trunk/blender/source/blender/editors/interface/view2d.c	2009-09-28 06:03:55 UTC (rev 23519)
+++ trunk/blender/source/blender/editors/interface/view2d.c	2009-09-28 08:52:02 UTC (rev 23520)
@@ -973,8 +973,8 @@
 
 	/* XXX brecht: instead of zero at least use a tiny offset, otherwise
 	 * pixel rounding is effectively random due to float inaccuracy */
-	xofs= 0.001f;
-	yofs= 0.001f;
+	xofs= 0.001f*(v2d->cur.xmax - v2d->cur.xmin)/(v2d->mask.xmax - v2d->mask.xmin);
+	yofs= 0.001f*(v2d->cur.ymax - v2d->cur.ymin)/(v2d->mask.ymax - v2d->mask.ymin);
 	
 	/* apply mask-based adjustments to cur rect (due to scrollers), to eliminate scaling artifacts */
 	view2d_map_cur_using_mask(v2d, &curmasked);

Modified: trunk/blender/source/blender/editors/space_image/space_image.c
===================================================================
--- trunk/blender/source/blender/editors/space_image/space_image.c	2009-09-28 06:03:55 UTC (rev 23519)
+++ trunk/blender/source/blender/editors/space_image/space_image.c	2009-09-28 08:52:02 UTC (rev 23520)
@@ -374,8 +374,8 @@
 	ar->v2d.mask.ymax= winy;
 
 	/* which part of the image space do we see? */
-	x1= ar->winrct.xmin+(winx-sima->zoom*w)/2;
-	y1= ar->winrct.ymin+(winy-sima->zoom*h)/2;
+	x1= ar->winrct.xmin+(winx-sima->zoom*w)/2.0f;
+	y1= ar->winrct.ymin+(winy-sima->zoom*h)/2.0f;
 
 	x1-= sima->zoom*sima->xof;
 	y1-= sima->zoom*sima->yof;
@@ -440,11 +440,13 @@
 
 	/* and uvs in 0.0-1.0 space */
 	UI_view2d_view_ortho(C, v2d);
-		draw_uvedit_main(sima, ar, scene, obedit);
-		ED_region_draw_cb_draw(C, ar, REGION_DRAW_POST);
+	draw_uvedit_main(sima, ar, scene, obedit);
+
+	ED_region_draw_cb_draw(C, ar, REGION_DRAW_POST);
 		
-		/* Grease Pencil too (in addition to UV's) */
-		draw_image_grease_pencil((bContext *)C, 1); 
+	/* Grease Pencil too (in addition to UV's) */
+	draw_image_grease_pencil((bContext *)C, 1); 
+
 	UI_view2d_view_restore(C);
 	
 	/* draw Grease Pencil - screen space only */





More information about the Bf-blender-cvs mailing list