Merging r41246 through r41535 from trunk into soc-2011-tomato
[blender.git] / source / blender / makesrna / intern / rna_nodetree.c
index 1445cf3..ab98366 100644 (file)
@@ -465,6 +465,17 @@ static EnumPropertyItem *renderresult_layers_add_enum(RenderLayer *rl)
        return item;
 }
 
+static void rna_Node_image_update(Main *bmain, Scene *scene, PointerRNA *ptr)
+{
+       bNode *node= (bNode*)ptr->data;
+       Image *ima= (Image *)node->id;
+       ImageUser *iuser= node->storage;
+
+       BKE_image_guess_offset(scene, ima, iuser);
+
+       rna_Node_update(bmain, scene, ptr);
+}
+
 static EnumPropertyItem *rna_Node_image_layer_itemf(bContext *UNUSED(C), PointerRNA *ptr, PropertyRNA *UNUSED(prop), int *free)
 {
        bNode *node= (bNode*)ptr->data;
@@ -1396,7 +1407,7 @@ static void def_cmp_image(StructRNA *srna)
        RNA_def_property_struct_type(prop, "Image");
        RNA_def_property_flag(prop, PROP_EDITABLE);
        RNA_def_property_ui_text(prop, "Image", "");
-       RNA_def_property_update(prop, NC_NODE|NA_EDITED, "rna_Node_update");
+       RNA_def_property_update(prop, NC_NODE|NA_EDITED, "rna_Node_image_update");
        
        RNA_def_struct_sdna_from(srna, "ImageUser", "storage");
        
@@ -2414,6 +2425,84 @@ static void def_cmp_ycc(StructRNA *srna)
        RNA_def_property_update(prop, NC_NODE|NA_EDITED, "rna_Node_update");
 }
 
+static void def_cmp_movieclip(StructRNA *srna)
+{
+       PropertyRNA *prop;
+
+       prop = RNA_def_property(srna, "clip", PROP_POINTER, PROP_NONE);
+       RNA_def_property_pointer_sdna(prop, NULL, "id");
+       RNA_def_property_struct_type(prop, "MovieClip");
+       RNA_def_property_flag(prop, PROP_EDITABLE);
+       RNA_def_property_ui_text(prop, "Movie Clip", "");
+       RNA_def_property_update(prop, NC_NODE|NA_EDITED, "rna_Node_update");
+
+       RNA_def_struct_sdna_from(srna, "MovieClipUser", "storage");
+}
+
+static void def_cmp_stabilize2d(StructRNA *srna)
+{
+       PropertyRNA *prop;
+
+       static EnumPropertyItem filter_type_items[] = {
+               {0, "NEAREST",   0, "Nearest",   ""},
+               {1, "BILINEAR",   0, "Bilinear",   ""},
+               {2, "BICUBIC", 0, "Bicubic", ""},
+               {0, NULL, 0, NULL, NULL}};
+
+       prop = RNA_def_property(srna, "clip", PROP_POINTER, PROP_NONE);
+       RNA_def_property_pointer_sdna(prop, NULL, "id");
+       RNA_def_property_struct_type(prop, "MovieClip");
+       RNA_def_property_flag(prop, PROP_EDITABLE);
+       RNA_def_property_ui_text(prop, "Movie Clip", "");
+       RNA_def_property_update(prop, NC_NODE|NA_EDITED, "rna_Node_update");
+
+       prop = RNA_def_property(srna, "filter_type", PROP_ENUM, PROP_NONE);
+       RNA_def_property_enum_sdna(prop, NULL, "custom1");
+       RNA_def_property_enum_items(prop, filter_type_items);
+       RNA_def_property_ui_text(prop, "Filter", "Method to use to filter stabilization");
+       RNA_def_property_update(prop, NC_NODE|NA_EDITED, "rna_Node_update");
+}
+
+static void def_cmp_moviedistortion(StructRNA *srna)
+{
+       PropertyRNA *prop;
+
+       static EnumPropertyItem distortion_type_items[] = {
+               {0, "UNDISTORT",   0, "Undistort",   ""},
+               {1, "DISTORT", 0, "Distort", ""},
+               {0, NULL, 0, NULL, NULL}};
+
+       prop = RNA_def_property(srna, "clip", PROP_POINTER, PROP_NONE);
+       RNA_def_property_pointer_sdna(prop, NULL, "id");
+       RNA_def_property_struct_type(prop, "MovieClip");
+       RNA_def_property_flag(prop, PROP_EDITABLE);
+       RNA_def_property_ui_text(prop, "Movie Clip", "");
+       RNA_def_property_update(prop, NC_NODE|NA_EDITED, "rna_Node_update");
+
+       prop = RNA_def_property(srna, "distortion_type", PROP_ENUM, PROP_NONE);
+       RNA_def_property_enum_sdna(prop, NULL, "custom1");
+       RNA_def_property_enum_items(prop, distortion_type_items);
+       RNA_def_property_ui_text(prop, "Distortion", "Distortion to use to filter image");
+       RNA_def_property_update(prop, NC_NODE|NA_EDITED, "rna_Node_update");
+}
+
+static void dev_cmd_transform(StructRNA *srna)
+{
+       PropertyRNA *prop;
+
+       static EnumPropertyItem filter_type_items[] = {
+               {0, "NEAREST",   0, "Nearest",   ""},
+               {1, "BILINEAR",   0, "Bilinear",   ""},
+               {2, "BICUBIC", 0, "Bicubic", ""},
+               {0, NULL, 0, NULL, NULL}};
+
+       prop = RNA_def_property(srna, "filter_type", PROP_ENUM, PROP_NONE);
+       RNA_def_property_enum_sdna(prop, NULL, "custom1");
+       RNA_def_property_enum_items(prop, filter_type_items);
+       RNA_def_property_ui_text(prop, "Filter", "Method to use to filter transform");
+       RNA_def_property_update(prop, NC_NODE|NA_EDITED, "rna_Node_update");
+}
+
 
 /* -- Texture Nodes --------------------------------------------------------- */