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);

_______________________________________________
Bf-blender-cvs mailing list
[email protected]
http://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to