[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [49243] trunk/blender/source/blender: mask /image: rotate about 2d cursor now works.

Campbell Barton ideasman42 at gmail.com
Thu Jul 26 12:53:00 CEST 2012


Revision: 49243
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=49243
Author:   campbellbarton
Date:     2012-07-26 10:52:59 +0000 (Thu, 26 Jul 2012)
Log Message:
-----------
mask/image: rotate about 2d cursor now works.

Modified Paths:
--------------
    trunk/blender/source/blender/editors/transform/transform_generics.c
    trunk/blender/source/blender/editors/uvedit/uvedit_ops.c
    trunk/blender/source/blender/makesrna/intern/rna_space.c

Modified: trunk/blender/source/blender/editors/transform/transform_generics.c
===================================================================
--- trunk/blender/source/blender/editors/transform/transform_generics.c	2012-07-26 10:06:56 UTC (rev 49242)
+++ trunk/blender/source/blender/editors/transform/transform_generics.c	2012-07-26 10:52:59 UTC (rev 49243)
@@ -73,6 +73,7 @@
 #include "BKE_context.h"
 #include "BKE_tessmesh.h"
 #include "BKE_tracking.h"
+#include "BKE_mask.h"
 
 #include "ED_anim_api.h"
 #include "ED_armature.h"
@@ -1449,8 +1450,26 @@
 	}
 	
 	if (cursor) {
-		t->center[0] = cursor[0] * aspx;
-		t->center[1] = cursor[1] * aspy;
+		if (t->options & CTX_MASK) {
+			float co[2];
+			int width, height;
+			float frame_size[2];
+			SpaceImage *sima = (SpaceImage *)t->sa->spacedata.first;
+			ED_space_image_get_size(sima, &width, &height);
+			frame_size[0] = width;
+			frame_size[1] = height;
+
+			BKE_mask_coord_from_frame(co, cursor, frame_size);
+
+			ED_space_image_get_aspect(sima, &aspx, &aspy);
+
+			t->center[0] = co[0] * aspx;
+			t->center[1] = co[1] * aspy;
+		}
+		else {
+			t->center[0] = cursor[0] * aspx;
+			t->center[1] = cursor[1] * aspy;
+		}
 	}
 	
 	calculateCenter2D(t);

Modified: trunk/blender/source/blender/editors/uvedit/uvedit_ops.c
===================================================================
--- trunk/blender/source/blender/editors/uvedit/uvedit_ops.c	2012-07-26 10:06:56 UTC (rev 49242)
+++ trunk/blender/source/blender/editors/uvedit/uvedit_ops.c	2012-07-26 10:52:59 UTC (rev 49243)
@@ -3380,14 +3380,11 @@
 static int set_2d_cursor_exec(bContext *C, wmOperator *op)
 {
 	SpaceImage *sima = CTX_wm_space_image(C);
-	float location[2];
 
 	if (!sima)
 		return OPERATOR_CANCELLED;
 
-	RNA_float_get_array(op->ptr, "location", location);
-	sima->cursor[0] = location[0];
-	sima->cursor[1] = location[1];
+	RNA_float_get_array(op->ptr, "location", sima->cursor);
 	
 	WM_event_add_notifier(C, NC_SPACE | ND_SPACE_IMAGE, NULL);
 	

Modified: trunk/blender/source/blender/makesrna/intern/rna_space.c
===================================================================
--- trunk/blender/source/blender/makesrna/intern/rna_space.c	2012-07-26 10:06:56 UTC (rev 49242)
+++ trunk/blender/source/blender/makesrna/intern/rna_space.c	2012-07-26 10:52:59 UTC (rev 49243)
@@ -2044,7 +2044,7 @@
 	RNA_def_property_enum_sdna(prop, NULL, "mode");
 	RNA_def_property_enum_items(prop, image_space_mode_items);
 	RNA_def_property_ui_text(prop, "Mode", "Editing context being displayed");
-	RNA_def_property_update(prop, NC_SPACE | ND_SPACE_CLIP, "rna_SpaceImageEditor_mode_update");
+	RNA_def_property_update(prop, NC_SPACE | ND_SPACE_IMAGE, "rna_SpaceImageEditor_mode_update");
 
 	/* grease pencil */
 	prop = RNA_def_property(srna, "grease_pencil", PROP_POINTER, PROP_NONE);




More information about the Bf-blender-cvs mailing list