[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [49201] trunk/blender: mask UI for space image

Campbell Barton ideasman42 at gmail.com
Wed Jul 25 14:15:25 CEST 2012


Revision: 49201
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=49201
Author:   campbellbarton
Date:     2012-07-25 12:15:22 +0000 (Wed, 25 Jul 2012)
Log Message:
-----------
mask UI for space image

Modified Paths:
--------------
    trunk/blender/release/scripts/startup/bl_ui/space_image.py
    trunk/blender/source/blender/editors/screen/screen_ops.c
    trunk/blender/source/blender/editors/space_image/image_edit.c
    trunk/blender/source/blender/makesrna/intern/rna_space.c

Modified: trunk/blender/release/scripts/startup/bl_ui/space_image.py
===================================================================
--- trunk/blender/release/scripts/startup/bl_ui/space_image.py	2012-07-25 12:07:19 UTC (rev 49200)
+++ trunk/blender/release/scripts/startup/bl_ui/space_image.py	2012-07-25 12:15:22 UTC (rev 49201)
@@ -349,6 +349,7 @@
         ima = sima.image
         iuser = sima.image_user
         toolsettings = context.tool_settings
+        mode = sima.mode
 
         show_render = sima.show_render
         # show_paint = sima.show_paint
@@ -402,13 +403,16 @@
             mesh = context.edit_object.data
             layout.prop_search(mesh.uv_textures, "active", mesh, "uv_textures", text="")
 
+        layout.prop(sima, "mode", text="")
+
+        if mode == 'MASK':
+            row = layout.row()
+            row.template_ID(sima, "mask", new="mask.new")
+
         if ima:
             # layers
             layout.template_image_layers(ima, iuser)
 
-            # painting
-            layout.prop(sima, "mode", text="")
-
             # draw options
             row = layout.row(align=True)
             row.prop(sima, "draw_channels", text="", expand=True)
@@ -419,7 +423,7 @@
             if ima.type == 'COMPOSITE' and ima.source in {'MOVIE', 'SEQUENCE'}:
                 row.operator("image.play_composite", icon='PLAY')
 
-        if show_uvedit or sima.mode == 'PAINT':
+        if show_uvedit or mode == 'PAINT':
             layout.prop(sima, "use_realtime_update", text="", icon_only=True, icon='LOCKED')
 
 

Modified: trunk/blender/source/blender/editors/screen/screen_ops.c
===================================================================
--- trunk/blender/source/blender/editors/screen/screen_ops.c	2012-07-25 12:07:19 UTC (rev 49200)
+++ trunk/blender/source/blender/editors/screen/screen_ops.c	2012-07-25 12:15:22 UTC (rev 49201)
@@ -65,15 +65,16 @@
 #include "WM_api.h"
 #include "WM_types.h"
 
-#include "ED_util.h"
+#include "ED_armature.h"
+#include "ED_clip.h"
 #include "ED_image.h"
+#include "ED_keyframes_draw.h"
+#include "ED_object.h"
 #include "ED_screen.h"
-#include "ED_object.h"
-#include "ED_armature.h"
 #include "ED_screen_types.h"
-#include "ED_keyframes_draw.h"
+#include "ED_sequencer.h"
+#include "ED_util.h"
 #include "ED_view3d.h"
-#include "ED_clip.h"
 
 #include "RNA_access.h"
 #include "RNA_define.h"
@@ -458,9 +459,29 @@
 
 int ED_operator_mask(bContext *C)
 {
-	SpaceClip *sc = CTX_wm_space_clip(C);
+	ScrArea *sa = CTX_wm_area(C);
+	if (sa && sa->spacedata.first) {
+		switch (sa->spacetype) {
+			case SPACE_CLIP:
+			{
+				SpaceClip *sc = sa->spacedata.first;
+				return ED_space_clip_check_show_maskedit(sc);
+			}
+			case SPACE_SEQ:
+			{
+				SpaceSeq *sseq = sa->spacedata.first;
+				Scene *scene = CTX_data_scene(C);
+				return ED_space_sequencer_check_show_maskedit(sseq, scene);
+			}
+			case SPACE_IMAGE:
+			{
+				SpaceImage *sima = sa->spacedata.first;
+				return ED_space_image_check_show_maskedit(sima);
+			}
+		}
+	}
 
-	return ED_space_clip_check_show_maskedit(sc);
+	return FALSE;
 }
 
 /* *************************** action zone operator ************************** */

Modified: trunk/blender/source/blender/editors/space_image/image_edit.c
===================================================================
--- trunk/blender/source/blender/editors/space_image/image_edit.c	2012-07-25 12:07:19 UTC (rev 49200)
+++ trunk/blender/source/blender/editors/space_image/image_edit.c	2012-07-25 12:15:22 UTC (rev 49201)
@@ -301,9 +301,7 @@
 /* matches clip function */
 int ED_space_image_check_show_maskedit(SpaceImage *sima)
 {
-	/* MASKTODO - whem we have a mask edit option */
-	(void)sima;
-	return TRUE;
+	return (sima->mode == SI_MODE_MASK);
 }
 
 int ED_space_image_maskedit_poll(bContext *C)

Modified: trunk/blender/source/blender/makesrna/intern/rna_space.c
===================================================================
--- trunk/blender/source/blender/makesrna/intern/rna_space.c	2012-07-25 12:07:19 UTC (rev 49200)
+++ trunk/blender/source/blender/makesrna/intern/rna_space.c	2012-07-25 12:15:22 UTC (rev 49201)
@@ -563,6 +563,13 @@
 	ED_space_image_set(sima, sc->scene, sc->scene->obedit, (Image *)value.data);
 }
 
+static void rna_SpaceImageEditor_mask_set(PointerRNA *ptr, PointerRNA value)
+{
+	SpaceImage *sima = (SpaceImage *)(ptr->data);
+
+	ED_space_image_set_mask(NULL, sima, (Mask *)value.data);
+}
+
 static EnumPropertyItem *rna_SpaceImageEditor_draw_channels_itemf(bContext *UNUSED(C), PointerRNA *ptr,
                                                                   PropertyRNA *UNUSED(prop), int *free)
 {
@@ -1104,7 +1111,7 @@
 }
 
 /* for all spaces that use a mask */
-void mask_space_info(StructRNA *srna, int noteflag, const char *mask_set_func)
+void rna_def_space_mask_info(StructRNA *srna, int noteflag, const char *mask_set_func)
 {
 	PropertyRNA *prop;
 
@@ -1245,9 +1252,6 @@
 	RNA_def_property_enum_items(prop, pivot_items);
 	RNA_def_property_ui_text(prop, "Pivot", "Rotation/Scaling Pivot");
 	RNA_def_property_update(prop, NC_SPACE | ND_SPACE_IMAGE, NULL);
-
-	/* mask */
-	mask_space_info(srna, NC_SPACE | ND_SPACE_IMAGE, NULL);
 }
 
 static void rna_def_space_outliner(BlenderRNA *brna)
@@ -2071,6 +2075,9 @@
 	RNA_def_property_ui_text(prop, "Show UV Editor", "Show UV editing related properties");
 
 	rna_def_space_image_uv(brna);
+
+	/* mask */
+	rna_def_space_mask_info(srna, NC_SPACE | ND_SPACE_IMAGE, "rna_SpaceImageEditor_mask_set");
 }
 
 static void rna_def_space_sequencer(BlenderRNA *brna)
@@ -3099,7 +3106,7 @@
 	RNA_def_property_update(prop, NC_SPACE | ND_SPACE_CLIP, NULL);
 
 	/* mask */
-	mask_space_info(srna, NC_SPACE | ND_SPACE_CLIP, "rna_SpaceClipEditor_mask_set");
+	rna_def_space_mask_info(srna, NC_SPACE | ND_SPACE_CLIP, "rna_SpaceClipEditor_mask_set");
 
 	/* mode */
 	prop = RNA_def_property(srna, "mode", PROP_ENUM, PROP_NONE);




More information about the Bf-blender-cvs mailing list