[Bf-blender-cvs] [76772f29f43] greasepencil-object: Merge remote-tracking branch 'origin/blender2.8' into greasepencil-object

Dalai Felinto noreply at git.blender.org
Mon Oct 23 22:49:13 CEST 2017


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. @@



More information about the Bf-blender-cvs mailing list