[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [49428] trunk/blender/source/blender: changes to mask editing

Campbell Barton ideasman42 at gmail.com
Tue Jul 31 19:31:34 CEST 2012


Revision: 49428
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=49428
Author:   campbellbarton
Date:     2012-07-31 17:31:34 +0000 (Tue, 31 Jul 2012)
Log Message:
-----------
changes to mask editing
- use Alt to modify all mask feather at once while dragging.
- copying a multi-user mask from the interface works now.
- show masks when UV editing isnt used, rather then checking editmode (would give some odd/annoying image space header).
- add a fake mask user by default.
- moving points with LMB drag no longer selects them.

Modified Paths:
--------------
    trunk/blender/source/blender/blenkernel/intern/library.c
    trunk/blender/source/blender/blenkernel/intern/mask.c
    trunk/blender/source/blender/editors/mask/mask_ops.c
    trunk/blender/source/blender/editors/space_image/image_edit.c
    trunk/blender/source/blender/editors/space_image/space_image.c
    trunk/blender/source/blender/makesrna/intern/rna_space.c

Modified: trunk/blender/source/blender/blenkernel/intern/library.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/library.c	2012-07-31 17:24:55 UTC (rev 49427)
+++ trunk/blender/source/blender/blenkernel/intern/library.c	2012-07-31 17:31:34 UTC (rev 49428)
@@ -362,6 +362,7 @@
 			return 0; /* not implemented */
 		case ID_MSK:
 			if (!test) *newid = (ID *)BKE_mask_copy((Mask *)id);
+			return 1;
 	}
 	
 	return 0;

Modified: trunk/blender/source/blender/blenkernel/intern/mask.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/mask.c	2012-07-31 17:24:55 UTC (rev 49427)
+++ trunk/blender/source/blender/blenkernel/intern/mask.c	2012-07-31 17:31:34 UTC (rev 49428)
@@ -1339,6 +1339,8 @@
 
 	mask = BKE_libblock_alloc(&G.main->mask, ID_MSK, name);
 
+	mask->id.flag |= LIB_FAKEUSER;
+
 	return mask;
 }
 

Modified: trunk/blender/source/blender/editors/mask/mask_ops.c
===================================================================
--- trunk/blender/source/blender/editors/mask/mask_ops.c	2012-07-31 17:24:55 UTC (rev 49427)
+++ trunk/blender/source/blender/editors/mask/mask_ops.c	2012-07-31 17:31:34 UTC (rev 49428)
@@ -526,6 +526,7 @@
 
 		WM_event_add_modal_handler(C, op);
 
+#if 0
 		if (slidedata->uw) {
 			if ((slidedata->uw->flag & SELECT) == 0) {
 				ED_mask_select_toggle_all(mask, SEL_DESELECT);
@@ -542,6 +543,7 @@
 
 			ED_mask_select_flush_all(mask);
 		}
+#endif
 
 		slidedata->masklay->act_spline = slidedata->spline;
 		slidedata->masklay->act_point = slidedata->point;
@@ -629,19 +631,19 @@
 	float co[2], dco[2];
 
 	switch (event->type) {
-		case LEFTCTRLKEY:
-		case RIGHTCTRLKEY:
+		case LEFTALTKEY:
+		case RIGHTALTKEY:
 		case LEFTSHIFTKEY:
 		case RIGHTSHIFTKEY:
-			if (ELEM(event->type, LEFTCTRLKEY, RIGHTCTRLKEY)) {
+			if (ELEM(event->type, LEFTALTKEY, RIGHTALTKEY)) {
 				if (data->action == SLIDE_ACTION_FEATHER)
-					data->overall_feather = event->val == KM_PRESS;
+					data->overall_feather = (event->val == KM_PRESS);
 				else
-					data->curvature_only = event->val == KM_PRESS;
+					data->curvature_only = (event->val == KM_PRESS);
 			}
 
 			if (ELEM(event->type, LEFTSHIFTKEY, RIGHTSHIFTKEY))
-				data->accurate = event->val == KM_PRESS;
+				data->accurate = (event->val == KM_PRESS);
 
 		/* no break! update CV position */
 

Modified: trunk/blender/source/blender/editors/space_image/image_edit.c
===================================================================
--- trunk/blender/source/blender/editors/space_image/image_edit.c	2012-07-31 17:24:55 UTC (rev 49427)
+++ trunk/blender/source/blender/editors/space_image/image_edit.c	2012-07-31 17:31:34 UTC (rev 49428)
@@ -95,6 +95,10 @@
 {
 	sima->mask_info.mask = mask;
 
+	/* weak, but same as image/space */
+	if (sima->mask_info.mask && sima->mask_info.mask->id.us == 0)
+		sima->mask_info.mask->id.us = 1;
+
 	if (C) {
 		WM_event_add_notifier(C, NC_MASK | NA_SELECTED, mask);
 	}
@@ -356,7 +360,7 @@
 {
 	/* check editmode - this is reserved for UV editing */
 	Object *ob = OBACT;
-	if (ob && ob->mode & OB_MODE_EDIT) {
+	if (ob && ob->mode & OB_MODE_EDIT && ED_space_image_show_uvedit(sima, ob)) {
 		return FALSE;
 	}
 

Modified: trunk/blender/source/blender/editors/space_image/space_image.c
===================================================================
--- trunk/blender/source/blender/editors/space_image/space_image.c	2012-07-31 17:24:55 UTC (rev 49427)
+++ trunk/blender/source/blender/editors/space_image/space_image.c	2012-07-31 17:31:34 UTC (rev 49428)
@@ -613,7 +613,7 @@
 	draw_uvedit_main(sima, ar, scene, obedit, obact);
 
 	/* check for mask (delay draw) */
-	if (obedit) {
+	if (ED_space_image_show_uvedit(sima, obedit)) {
 		/* pass */
 	}
 	else if (sima->mode == SI_MODE_MASK) {

Modified: trunk/blender/source/blender/makesrna/intern/rna_space.c
===================================================================
--- trunk/blender/source/blender/makesrna/intern/rna_space.c	2012-07-31 17:24:55 UTC (rev 49427)
+++ trunk/blender/source/blender/makesrna/intern/rna_space.c	2012-07-31 17:31:34 UTC (rev 49428)
@@ -123,7 +123,7 @@
 	{SC_MODE_RECONSTRUCTION, "RECONSTRUCTION", ICON_SNAP_FACE, "Reconstruction",
 	                         "Show tracking/reconstruction tools"},
 	{SC_MODE_DISTORTION, "DISTORTION", ICON_GRID, "Distortion", "Show distortion tools"},
-	{SC_MODE_MASKEDIT, "MASK", ICON_MOD_MASK, "Mask editing", "Show mask editing tools"},
+	{SC_MODE_MASKEDIT, "MASK", ICON_MOD_MASK, "Mask", "Show mask editing tools"},
 	{0, NULL, 0, NULL, NULL}
 };
 




More information about the Bf-blender-cvs mailing list