Commit: 76772f29f43e3ecf75a50ef72c51d12fd4224ebc
Author: Dalai Felinto
Date:   Mon Oct 23 18:42:55 2017 -0200
Branches: greasepencil-object
https://developer.blender.org/rB76772f29f43e3ecf75a50ef72c51d12fd4224ebc

Merge remote-tracking branch 'origin/blender2.8' into greasepencil-object

===================================================================



===================================================================

diff --cc source/blender/makesrna/intern/rna_scene.c
index 4cc528981f1,21159bbc240..a6b9f96475d
--- a/source/blender/makesrna/intern/rna_scene.c
+++ b/source/blender/makesrna/intern/rna_scene.c
@@@ -438,21 -438,6 +438,12 @@@ static const EnumPropertyItem rna_enum_
  
  #endif
  
 +/* loaded dynamic only defined as dummy */
 +EnumPropertyItem rna_enum_gpencil_drawing_brushes_items[] = {
 +      { 0, "BASIC", ICON_BRUSH_SCULPT_DRAW, "Basic", "Basic drawing brush" },
 +      { 0, NULL, 0, NULL, NULL }
 +};
 +
- 
- const EnumPropertyItem rna_enum_layer_collection_mode_settings_type_items[] = 
{
-       {COLLECTION_MODE_OBJECT, "OBJECT", 0, "Object", ""},
-       {COLLECTION_MODE_EDIT, "EDIT", 0, "Edit", ""},
-       {COLLECTION_MODE_PAINT_WEIGHT, "PAINT_WEIGHT", 0, "Weight Paint", ""},
-       {COLLECTION_MODE_PAINT_WEIGHT, "PAINT_VERTEX", 0, "Vertex Paint", ""},
-       {0, NULL, 0, NULL, NULL}
- };
- 
  #ifdef RNA_RUNTIME
  
  #include "DNA_anim_types.h"
@@@ -2392,798 -2162,815 +2206,885 @@@ static SceneLayer *rna_SceneLayer_new
        DEG_relations_tag_update(bmain);
        WM_main_add_notifier(NC_SCENE | ND_LAYER, NULL);
  
-       return sc;
+       return sl;
  }
  
- static void rna_SceneCollection_remove(
-         ID *id, SceneCollection *sc_parent, Main *bmain, ReportList *reports, 
PointerRNA *sc_ptr)
+ static void rna_SceneLayer_remove(
+         ID *id, Scene *UNUSED(sce), Main *bmain, ReportList *reports, 
PointerRNA *sl_ptr)
  {
        Scene *scene = (Scene *)id;
-       SceneCollection *sc = sc_ptr->data;
- 
-       const int index = BLI_findindex(&sc_parent->scene_collections, sc);
-       if (index == -1) {
-               BKE_reportf(reports, RPT_ERROR, "Collection '%s' is not a 
sub-collection of '%s'",
-                           sc->name, sc_parent->name);
-               return;
-       }
+       SceneLayer *sl = sl_ptr->data;
  
-       if (!BKE_collection_remove(scene, sc)) {
-               BKE_reportf(reports, RPT_ERROR, "Collection '%s' could not be 
removed from collection '%s'",
-                           sc->name, sc_parent->name);
-               return;
+       if (ED_scene_render_layer_delete(bmain, scene, sl, reports)) {
+               RNA_POINTER_INVALIDATE(sl_ptr);
        }
- 
-       RNA_POINTER_INVALIDATE(sc_ptr);
- 
-       DEG_relations_tag_update(bmain);
-       WM_main_add_notifier(NC_SCENE | ND_LAYER, NULL);
  }
+ #else
  
- static int rna_SceneCollection_objects_active_index_get(PointerRNA *ptr)
+ /* Grease Pencil Interpolation tool settings */
+ static void rna_def_gpencil_interpolate(BlenderRNA *brna)
  {
-       SceneCollection *sc = (SceneCollection *)ptr->data;
-       return sc->active_object_index;
- }
+       StructRNA *srna;
+       PropertyRNA *prop;
+       
+       srna = RNA_def_struct(brna, "GPencilInterpolateSettings", NULL);
+       RNA_def_struct_sdna(srna, "GP_Interpolate_Settings");
+       RNA_def_struct_path_func(srna, "rna_GPencilInterpolateSettings_path");
+       RNA_def_struct_ui_text(srna, "Grease Pencil Interpolate Settings",
+                              "Settings for Grease Pencil interpolation 
tools");
+       
+       /* flags */
+       prop = RNA_def_property(srna, "interpolate_all_layers", PROP_BOOLEAN, 
PROP_NONE);
+       RNA_def_property_boolean_sdna(prop, NULL, "flag", 
GP_TOOLFLAG_INTERPOLATE_ALL_LAYERS);
+       RNA_def_property_ui_text(prop, "Interpolate All Layers", "Interpolate 
all layers, not only active");
+       RNA_def_property_update(prop, NC_SCENE | ND_TOOLSETTINGS, NULL);
  
- static void rna_SceneCollection_objects_active_index_set(PointerRNA *ptr, int 
value)
- {
-       SceneCollection *sc = (SceneCollection *)ptr->data;
-       sc->active_object_index = value;
+       prop = RNA_def_property(srna, "interpolate_selected_only", 
PROP_BOOLEAN, PROP_NONE);
+       RNA_def_property_boolean_sdna(prop, NULL, "flag", 
GP_TOOLFLAG_INTERPOLATE_ONLY_SELECTED);
+       RNA_def_property_ui_text(prop, "Interpolate Selected Strokes", 
"Interpolate only selected strokes in the original frame");
+       RNA_def_property_update(prop, NC_SCENE | ND_TOOLSETTINGS, NULL);
+       
+       /* interpolation type */
+       prop = RNA_def_property(srna, "type", PROP_ENUM, PROP_NONE);
+       RNA_def_property_enum_sdna(prop, NULL, "type");
+       RNA_def_property_enum_items(prop, 
rna_enum_gpencil_interpolation_mode_items);
+       RNA_def_property_enum_funcs(prop, NULL, 
"rna_GPencilInterpolateSettings_type_set", NULL);
+       RNA_def_property_ui_text(prop, "Type",
+                                "Interpolation method to use the next time 
'Interpolate Sequence' is run");
+       RNA_def_property_update(prop, NC_SCENE | ND_TOOLSETTINGS, NULL);
+       
+       /* easing */
+       prop = RNA_def_property(srna, "easing", PROP_ENUM, PROP_NONE);
+       RNA_def_property_enum_sdna(prop, NULL, "easing");
+       RNA_def_property_enum_items(prop, 
rna_enum_beztriple_interpolation_easing_items);
+       RNA_def_property_ui_text(prop, "Easing", 
+                                "Which ends of the segment between the 
preceding and following grease pencil frames "
+                                "easing interpolation is applied to");
+       RNA_def_property_update(prop, NC_SCENE | ND_TOOLSETTINGS, NULL);
+       
+       /* easing options */
+       prop = RNA_def_property(srna, "back", PROP_FLOAT, PROP_NONE);
+       RNA_def_property_float_sdna(prop, NULL, "back");
+       RNA_def_property_ui_text(prop, "Back", "Amount of overshoot for 'back' 
easing");
+       RNA_def_property_update(prop, NC_SCENE | ND_TOOLSETTINGS, NULL);
+       
+       prop = RNA_def_property(srna, "amplitude", PROP_FLOAT, PROP_NONE);
+       RNA_def_property_float_sdna(prop, NULL, "amplitude");
+       RNA_def_property_range(prop, 0.0f, FLT_MAX); /* only positive values... 
*/
+       RNA_def_property_ui_text(prop, "Amplitude", "Amount to boost elastic 
bounces for 'elastic' easing");
+       RNA_def_property_update(prop, NC_SCENE | ND_TOOLSETTINGS, NULL);
+       
+       prop = RNA_def_property(srna, "period", PROP_FLOAT, PROP_NONE);
+       RNA_def_property_float_sdna(prop, NULL, "period");
+       RNA_def_property_ui_text(prop, "Period", "Time between bounces for 
elastic easing");
+       RNA_def_property_update(prop, NC_SCENE | ND_TOOLSETTINGS, NULL);
+       
+       /* custom curvemap */
+       prop = RNA_def_property(srna, "interpolation_curve", PROP_POINTER, 
PROP_NONE);
+       RNA_def_property_pointer_sdna(prop, NULL, "custom_ipo");
+       RNA_def_property_struct_type(prop, "CurveMapping");
+       RNA_def_property_ui_text(prop, "Interpolation Curve", 
+                                "Custom curve to control 'sequence' 
interpolation between Grease Pencil frames");
+       RNA_def_property_update(prop, NC_SCENE | ND_TOOLSETTINGS, NULL);
  }
  
- static void rna_SceneCollection_objects_active_index_range(
-         PointerRNA *ptr, int *min, int *max, int *UNUSED(softmin), int 
*UNUSED(softmax))
+ /* Grease Pencil Drawing Brushes */
+ static void rna_def_gpencil_brush(BlenderRNA *brna)
  {
-       SceneCollection *sc = (SceneCollection *)ptr->data;
-       *min = 0;
-       *max = max_ii(0, BLI_listbase_count(&sc->objects) - 1);
- }
+       StructRNA *srna;
+       PropertyRNA *prop;
  
- void rna_SceneCollection_object_link(
-         ID *id, SceneCollection *sc, Main *bmain, ReportList *reports, Object 
*ob)
- {
-       Scene *scene = (Scene *)id;
+       srna = RNA_def_struct(brna, "GPencilBrush", NULL);
+       RNA_def_struct_sdna(srna, "bGPDbrush");
+       RNA_def_struct_ui_text(srna, "Grease Pencil Brush",
+                              "Collection of brushes being used to control the 
line style of new strokes");
+       RNA_def_struct_ui_icon(srna, ICON_BRUSH_DATA);
  
-       if (BLI_findptr(&sc->objects, ob, offsetof(LinkData, data))) {
-               BKE_reportf(reports, RPT_ERROR, "Object '%s' is already in 
collection '%s'", ob->id.name + 2, sc->name);
-               return;
-       }
+       /* Name */
+       prop = RNA_def_property(srna, "name", PROP_STRING, PROP_NONE);
+       RNA_def_property_string_sdna(prop, NULL, "info");
+       RNA_def_property_ui_text(prop, "Name", "Brush name");
+       RNA_def_property_string_funcs(prop, NULL, NULL, 
"rna_GPencilBrush_name_set");
+       RNA_def_struct_name_property(srna, prop);
+       RNA_def_property_update(prop, NC_GPENCIL | ND_DATA, NULL);
  
-       BKE_collection_object_add(scene, sc, ob);
+       /* Line Thickness */
+       prop = RNA_def_property(srna, "line_width", PROP_INT, PROP_PIXEL);
+       RNA_def_property_int_sdna(prop, NULL, "thickness");
+       RNA_def_property_range(prop, 1, 300);
 -      RNA_def_property_ui_range(prop, 1, 10, 1, 0);
++      RNA_def_property_ui_range(prop, 1, 100, 1, 0);
+       RNA_def_property_ui_text(prop, "Thickness", "Thickness of strokes (in 
pixels)");
+       RNA_def_property_update(prop, NC_GPENCIL | ND_DATA, NULL);
  
-       /* TODO(sergey): Only update relations for the current scene. */
-       DEG_relations_tag_update(bmain);
+       /* Sensitivity factor for new strokes */
+       prop = RNA_def_property(srna, "pen_sensitivity_factor", PROP_FLOAT, 
PROP_NONE);
+       RNA_def_property_float_sdna(prop, NULL, "draw_sensitivity");
+       RNA_def_property_range(prop, 0.1f, 3.0f);
+       RNA_def_property_ui_text(prop, "Sensitivity", "Pressure sensitivity 
factor for new strokes");
+       RNA_def_property_update(prop, NC_GPENCIL | ND_DATA, NULL);
  
-       /* TODO(sergey): Use proper flag for tagging here. */
-       DEG_id_tag_update(&scene->id, 0);
+       /* Strength factor for new strokes */
+       prop = RNA_def_property(srna, "strength", PROP_FLOAT, PROP_NONE);
+       RNA_def_property_float_sdna(prop, NULL, "draw_strength");
+       RNA_def_property_range(prop, 0.0f, 1.0f);
+       RNA_def_property_ui_text(prop, "Strength", "Color strength for new 
strokes (affect alpha factor of color)");
+       RNA_def_property_update(prop, NC_GPENCIL | ND_DATA, NULL);
  
-       DEG_id_tag_update(&ob->id, OB_RECALC_OB | OB_RECALC_DATA | 
OB_RECALC_TIME);
+       /* Jitter factor for new strokes */
+       prop = RNA_def_property(srna, "jitter", PROP_FLOAT, PROP_NONE);
+       RNA_def_property_float_sdna(prop, NULL, "draw_jitter");
+       RNA_def_property_range(prop, 0.0f, 1.0f);
+       RNA_def_property_ui_text(prop, "Jitter", "Jitter factor for new 
strokes");
+       RNA_def_property_update(prop, NC_GPENCIL | ND_DATA, NULL);
  
-       WM_main_add_notifier(NC_SCENE | ND_LAYER | ND_OB_ACTIVE, scene);
- }
+       /* Randomnes factor for sensitivity and strength */
+       prop = RNA_def_property(srna, "random_press", PROP_FLOAT, PROP_NONE);
+       RNA_def_property_float_sdna(prop, NULL, "draw_random_press");
+       RNA_def_property_range(prop, 0.0f, 1.0f);
+       RNA_def_property_ui_text(prop, "Randomness", "Randomness factor for 
pressure and strength in new strokes");
+       RNA_def_property_update(prop, NC_GPENCIL | ND_DATA, NULL);
  
- static void rna_SceneCollection_object_unlink(
-         ID *id, SceneCollection *sc, Main *

@@ Diff output truncated at 10240 characters. @@

_______________________________________________
Bf-blender-cvs mailing list
Bf-blender-cvs@blender.org
https://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to