Merge branch 'master' into blender2.8
[blender.git] / source / blender / makesrna / intern / rna_userdef.c
index 19a25b4df11d55d2b89940f2b2a54a5b70355b1a..438735d371d95e0388b218d80f75492d448725bb 100644 (file)
@@ -98,13 +98,14 @@ static EnumPropertyItem rna_enum_language_default_items[] = {
 #include "DNA_screen_types.h"
 
 #include "BKE_blender.h"
-#include "BKE_depsgraph.h"
 #include "BKE_global.h"
 #include "BKE_main.h"
 #include "BKE_idprop.h"
 #include "BKE_pbvh.h"
 #include "BKE_paint.h"
 
+#include "DEG_depsgraph.h"
+
 #include "GPU_draw.h"
 #include "GPU_select.h"
 
@@ -175,10 +176,12 @@ static void rna_userdef_show_manipulator_update(Main *bmain, Scene *scene, Point
                        for (sl = sa->spacedata.first; sl; sl = sl->next) {
                                if (sl->spacetype == SPACE_VIEW3D) {
                                        View3D *v3d = (View3D *)sl;
-                                       if (userdef->tw_flag & V3D_USE_MANIPULATOR)
-                                               v3d->twflag |= V3D_USE_MANIPULATOR;
-                                       else
-                                               v3d->twflag &= ~V3D_USE_MANIPULATOR;
+                                       if (userdef->manipulator_flag & USER_MANIPULATOR_DRAW) {
+                                               v3d->twflag |= V3D_MANIPULATOR_DRAW;
+                                       }
+                                       else {
+                                               v3d->twflag &= ~V3D_MANIPULATOR_DRAW;
+                                       }
                                }
                        }
                }
@@ -363,7 +366,7 @@ static void rna_UserDef_weight_color_update(Main *bmain, Scene *scene, PointerRN
 
        for (ob = bmain->object.first; ob; ob = ob->id.next) {
                if (ob->mode & OB_MODE_WEIGHT_PAINT)
-                       DAG_id_tag_update(&ob->id, OB_RECALC_DATA);
+                       DEG_id_tag_update(&ob->id, OB_RECALC_DATA);
        }
 
        rna_userdef_update(bmain, scene, ptr);
@@ -502,7 +505,7 @@ static void rna_userdef_opensubdiv_update(Main *bmain, Scene *UNUSED(scene), Poi
                if (object->derivedFinal != NULL &&
                    object->derivedFinal->type == DM_TYPE_CCGDM)
                {
-                       DAG_id_tag_update(&object->id, OB_RECALC_OB);
+                       DEG_id_tag_update(&object->id, OB_RECALC_OB);
                }
        }
 }
@@ -1071,6 +1074,37 @@ static void rna_def_userdef_theme_ui(BlenderRNA *brna)
        RNA_def_property_array(prop, 3);
        RNA_def_property_ui_text(prop, "Z Axis", "");
        RNA_def_property_update(prop, 0, "rna_userdef_update");
+
+       /* Generic manipulator colors. */
+       prop = RNA_def_property(srna, "manipulator_hi", PROP_FLOAT, PROP_COLOR_GAMMA);
+       RNA_def_property_float_sdna(prop, NULL, "manipulator_hi");
+       RNA_def_property_array(prop, 3);
+       RNA_def_property_ui_text(prop, "Manipulator Highlight", "");
+       RNA_def_property_update(prop, 0, "rna_userdef_update");
+
+       prop = RNA_def_property(srna, "manipulator_primary", PROP_FLOAT, PROP_COLOR_GAMMA);
+       RNA_def_property_float_sdna(prop, NULL, "manipulator_primary");
+       RNA_def_property_array(prop, 3);
+       RNA_def_property_ui_text(prop, "Manipulator Primary", "");
+       RNA_def_property_update(prop, 0, "rna_userdef_update");
+
+       prop = RNA_def_property(srna, "manipulator_secondary", PROP_FLOAT, PROP_COLOR_GAMMA);
+       RNA_def_property_float_sdna(prop, NULL, "manipulator_secondary");
+       RNA_def_property_array(prop, 3);
+       RNA_def_property_ui_text(prop, "Manipulator Secondary", "");
+       RNA_def_property_update(prop, 0, "rna_userdef_update");
+
+       prop = RNA_def_property(srna, "manipulator_a", PROP_FLOAT, PROP_COLOR_GAMMA);
+       RNA_def_property_float_sdna(prop, NULL, "manipulator_a");
+       RNA_def_property_array(prop, 3);
+       RNA_def_property_ui_text(prop, "Manipulator A", "");
+       RNA_def_property_update(prop, 0, "rna_userdef_update");
+
+       prop = RNA_def_property(srna, "manipulator_b", PROP_FLOAT, PROP_COLOR_GAMMA);
+       RNA_def_property_float_sdna(prop, NULL, "manipulator_b");
+       RNA_def_property_array(prop, 3);
+       RNA_def_property_ui_text(prop, "Manipulator B", "");
+       RNA_def_property_update(prop, 0, "rna_userdef_update");
 }
 
 static void rna_def_userdef_theme_space_common(StructRNA *srna)
@@ -1274,7 +1308,7 @@ static void rna_def_userdef_theme_spaces_vertex(StructRNA *srna)
        RNA_def_property_update(prop, 0, "rna_userdef_update");
 
        prop = RNA_def_property(srna, "vertex_size", PROP_INT, PROP_NONE);
-       RNA_def_property_range(prop, 1, 10);
+       RNA_def_property_range(prop, 1, 32);
        RNA_def_property_ui_text(prop, "Vertex Size", "");
        RNA_def_property_update(prop, 0, "rna_userdef_update");
 
@@ -1496,7 +1530,7 @@ static void rna_def_userdef_theme_spaces_curves(StructRNA *srna, bool incl_nurbs
                RNA_def_property_update(prop, 0, "rna_userdef_update");
 
                prop = RNA_def_property(srna, "handle_vertex_size", PROP_INT, PROP_NONE);
-               RNA_def_property_range(prop, 0, 255);
+               RNA_def_property_range(prop, 1, 100);
                RNA_def_property_ui_text(prop, "Handle Vertex Size", "");
                RNA_def_property_update(prop, 0, "rna_userdef_update");
        }
@@ -3348,11 +3382,6 @@ static void rna_def_userdef_view(BlenderRNA *brna)
        RNA_def_property_ui_text(prop, "Display Object Info", "Display objects name and frame number in 3D view");
        RNA_def_property_update(prop, 0, "rna_userdef_update");
 
-       prop = RNA_def_property(srna, "use_global_scene", PROP_BOOLEAN, PROP_NONE);
-       RNA_def_property_boolean_sdna(prop, NULL, "flag", USER_SCENEGLOBAL);
-       RNA_def_property_ui_text(prop, "Global Scene", "Force the current Scene to be displayed in all Screens");
-       RNA_def_property_update(prop, 0, "rna_userdef_update");
-
        prop = RNA_def_property(srna, "show_large_cursors", PROP_BOOLEAN, PROP_NONE);
        RNA_def_property_boolean_sdna(prop, NULL, "curssize", 0);
        RNA_def_property_ui_text(prop, "Large Cursors", "Use large mouse cursors when available");
@@ -3518,30 +3547,25 @@ static void rna_def_userdef_view(BlenderRNA *brna)
 
        /* 3D transform widget */
        prop = RNA_def_property(srna, "show_manipulator", PROP_BOOLEAN, PROP_NONE);
-       RNA_def_property_boolean_sdna(prop, NULL, "tw_flag", V3D_USE_MANIPULATOR);
+       RNA_def_property_boolean_sdna(prop, NULL, "manipulator_flag", USER_MANIPULATOR_DRAW);
        RNA_def_property_ui_text(prop, "Manipulator", "Use 3D transform manipulator");
        RNA_def_property_update(prop, 0, "rna_userdef_show_manipulator_update");
 
+       /* TODO, expose once it's working. */
+#if 0
+       prop = RNA_def_property(srna, "show_manipulator_shaded", PROP_BOOLEAN, PROP_NONE);
+       RNA_def_property_boolean_sdna(prop, NULL, "manipulator_flag", USER_MANIPULATOR_SHADED);
+       RNA_def_property_ui_text(prop, "Manipulator Shaded", "Use 3D transform manipulator");
+       RNA_def_property_update(prop, 0, "rna_userdef_update");
+#endif
+
        prop = RNA_def_property(srna, "manipulator_size", PROP_INT, PROP_PIXEL);
-       RNA_def_property_int_sdna(prop, NULL, "tw_size");
+       RNA_def_property_int_sdna(prop, NULL, "manipulator_size");
        RNA_def_property_range(prop, 10, 200);
        RNA_def_property_int_default(prop, 75);
        RNA_def_property_ui_text(prop, "Manipulator Size", "Diameter of the manipulator");
        RNA_def_property_update(prop, 0, "rna_userdef_update");
 
-       prop = RNA_def_property(srna, "manipulator_handle_size", PROP_INT, PROP_PERCENTAGE);
-       RNA_def_property_int_sdna(prop, NULL, "tw_handlesize");
-       RNA_def_property_range(prop, 2, 40);
-       RNA_def_property_int_default(prop, 25);
-       RNA_def_property_ui_text(prop, "Manipulator Handle Size", "Size of manipulator handles as percentage of the radius");
-       RNA_def_property_update(prop, 0, "rna_userdef_update");
-
-       prop = RNA_def_property(srna, "manipulator_hotspot", PROP_INT, PROP_PIXEL);
-       RNA_def_property_int_sdna(prop, NULL, "tw_hotspot");
-       RNA_def_property_range(prop, 4, 40);
-       RNA_def_property_int_default(prop, 14);
-       RNA_def_property_ui_text(prop, "Manipulator Hotspot", "Distance around the handles to accept mouse clicks");
-
        prop = RNA_def_property(srna, "object_origin_size", PROP_INT, PROP_PIXEL);
        RNA_def_property_int_sdna(prop, NULL, "obcenter_dia");
        RNA_def_property_range(prop, 4, 10);