Merging r50119 through r50132 from trunk into soc-2011-tomato
[blender.git] / source / blender / makesrna / intern / rna_nodetree.c
index 6a732cc26491ddaa1610a13fe29a1d3ad49f489a..7a385103fe380f1426633e591d9c064bf314af40 100644 (file)
@@ -1518,6 +1518,15 @@ static void def_sh_tex_image(StructRNA *srna)
                {0, NULL, 0, NULL, NULL}
        };
 
+       static const EnumPropertyItem prop_projection_items[] = {
+               {SHD_PROJ_FLAT, "FLAT", 0, "Flat",
+                               "Image is projected flat using the X and Y coordinates of the texture vector"},
+               {SHD_PROJ_BOX,  "BOX", 0, "Box",
+                               "Image is projected using different components for each side of the object space bounding box"},
+               {0, NULL, 0, NULL, NULL}
+       };
+
+
        PropertyRNA *prop;
 
        prop = RNA_def_property(srna, "image", PROP_POINTER, PROP_NONE);
@@ -1535,6 +1544,15 @@ static void def_sh_tex_image(StructRNA *srna)
        RNA_def_property_ui_text(prop, "Color Space", "Image file color space");
        RNA_def_property_update(prop, 0, "rna_Node_update");
 
+       prop = RNA_def_property(srna, "projection", PROP_ENUM, PROP_NONE);
+       RNA_def_property_enum_items(prop, prop_projection_items);
+       RNA_def_property_ui_text(prop, "Projection", "Method to project 2D image on object with a 3D texture vector");
+       RNA_def_property_update(prop, 0, "rna_Node_update");
+
+       prop = RNA_def_property(srna, "projection_blend", PROP_FLOAT, PROP_FACTOR);
+       RNA_def_property_ui_text(prop, "Projection Blend", "For box projection, amount of blend to use between sides");
+       RNA_def_property_update(prop, 0, "rna_Node_update");
+
        prop = RNA_def_property(srna, "image_user", PROP_POINTER, PROP_NONE);
        RNA_def_property_flag(prop, PROP_NEVER_NULL);
        RNA_def_property_pointer_sdna(prop, NULL, "iuser");
@@ -2148,6 +2166,23 @@ static void def_cmp_inpaint(StructRNA *srna)
        RNA_def_property_update(prop, NC_NODE | NA_EDITED, "rna_Node_update");
 }
 
+static void def_cmp_despeckle(StructRNA *srna)
+{
+       PropertyRNA *prop;
+
+       prop = RNA_def_property(srna, "threshold", PROP_FLOAT, PROP_NONE);
+       RNA_def_property_float_sdna(prop, NULL, "custom3");
+       RNA_def_property_range(prop, 0.0, 1.0f);
+       RNA_def_property_ui_text(prop, "Threshold", "Threshold for detecting pixels to despeckle");
+       RNA_def_property_update(prop, NC_NODE | NA_EDITED, "rna_Node_update");
+
+       prop = RNA_def_property(srna, "threshold_neighbour", PROP_FLOAT, PROP_NONE);
+       RNA_def_property_float_sdna(prop, NULL, "custom4");
+       RNA_def_property_range(prop, 0.0, 1.0f);
+       RNA_def_property_ui_text(prop, "Neighbour", "Threshold for the number of neighbour pixels that must match");
+       RNA_def_property_update(prop, NC_NODE | NA_EDITED, "rna_Node_update");
+}
+
 static void def_cmp_scale(StructRNA *srna)
 {
        PropertyRNA *prop;