[Bf-blender-cvs] [5354c800374] greasepencil-object: Merge branch 'blender2.8' into greasepencil-object

Joshua Leung noreply at git.blender.org
Fri Nov 10 00:40:47 CET 2017


Commit: 5354c800374d5c41f4d8fa0f562f315fc98ae002
Author: Joshua Leung
Date:   Fri Nov 10 11:43:38 2017 +1300
Branches: greasepencil-object
https://developer.blender.org/rB5354c800374d5c41f4d8fa0f562f315fc98ae002

Merge branch 'blender2.8' into greasepencil-object

Conflicts:
	source/blender/blenloader/intern/readfile.c
	source/blender/depsgraph/intern/builder/deg_builder_nodes.cc
	source/blender/draw/modes/object_mode.c
	source/blender/editors/include/ED_gpencil.h
	source/blender/editors/space_view3d/view3d_draw_legacy.c

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



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

diff --cc source/blender/blenloader/intern/readfile.c
index ddf706a3064,0fc00945b4c..87b4e238d53
--- a/source/blender/blenloader/intern/readfile.c
+++ b/source/blender/blenloader/intern/readfile.c
@@@ -253,9 -252,7 +253,9 @@@ static void *read_struct(FileData *fd, 
  static void direct_link_modifiers(FileData *fd, ListBase *lb);
  static BHead *find_bhead_from_code_name(FileData *fd, const short idcode, const char *name);
  static BHead *find_bhead_from_idname(FileData *fd, const char *idname);
- static SceneCollection *get_scene_collection_active_or_create(struct Scene *scene, struct SceneLayer *sl, const short flag);
+ static SceneCollection *get_scene_collection_active_or_create(struct Scene *scene, struct SceneLayer *scene_layer, const short flag);
 +static void direct_link_animdata(FileData *fd, AnimData *adt);
 +static void lib_link_animdata(FileData *fd, ID *id, AnimData *adt);
  
  /* this function ensures that reports are printed,
   * in the case of libraray linking errors this is important!
diff --cc source/blender/depsgraph/intern/builder/deg_builder_nodes.cc
index 248bc234a72,2c0aa951ffa..82c15a4c2b4
--- a/source/blender/depsgraph/intern/builder/deg_builder_nodes.cc
+++ b/source/blender/depsgraph/intern/builder/deg_builder_nodes.cc
@@@ -447,8 -443,7 +444,8 @@@ void DepsgraphNodeBuilder::build_object
  			case OB_SURF:
  			case OB_MBALL:
  			case OB_LATTICE:
 +			case OB_GPENCIL:
- 				build_obdata_geom(scene, ob);
+ 				build_obdata_geom(ob);
  				/* TODO(sergey): Only for until we support granular
  				 * update of curves.
  				 */
@@@ -502,9 -497,14 +499,9 @@@
  
  	/* particle systems */
  	if (ob->particlesystem.first != NULL) {
- 		build_particles(scene, ob);
+ 		build_particles(ob);
  	}
  
 -	/* Grease pencil. */
 -	if (ob->gpd != NULL) {
 -		build_gpencil(ob->gpd);
 -	}
 -
  	/* Object that this is a proxy for. */
  	if (ob->proxy) {
  		ob->proxy->proxy_from = ob;
diff --cc source/blender/depsgraph/intern/builder/deg_builder_nodes_scene_layer.cc
index abbc8699c22,1a0ce53d0c8..cf60cd88980
--- a/source/blender/depsgraph/intern/builder/deg_builder_nodes_scene_layer.cc
+++ b/source/blender/depsgraph/intern/builder/deg_builder_nodes_scene_layer.cc
@@@ -121,13 -125,8 +125,13 @@@ void DepsgraphNodeBuilder::build_scene_
  		build_gpencil(scene->gpd);
  	}
  
 +	/* Palettes. */
 +	LINKLIST_FOREACH(Palette *, palette, &bmain->palettes) {
 +		build_palette(palette);
 +	}
 +
  	/* Cache file. */
- 	LINKLIST_FOREACH (CacheFile *, cachefile, &bmain->cachefiles) {
+ 	LINKLIST_FOREACH (CacheFile *, cachefile, &bmain_->cachefiles) {
  		build_cachefile(cachefile);
  	}
  
diff --cc source/blender/depsgraph/intern/builder/deg_builder_relations.cc
index ecc46a5a0ae,34df44ae046..2c1ffb45dfa
--- a/source/blender/depsgraph/intern/builder/deg_builder_relations.cc
+++ b/source/blender/depsgraph/intern/builder/deg_builder_relations.cc
@@@ -511,9 -504,8 +504,9 @@@ void DepsgraphRelationBuilder::build_ob
  			case OB_SURF:
  			case OB_MBALL:
  			case OB_LATTICE:
 +			case OB_GPENCIL:
  			{
- 				build_obdata_geom(bmain, scene, ob);
+ 				build_obdata_geom(ob);
  				break;
  			}
  
@@@ -549,9 -541,14 +542,9 @@@
  
  	/* Particle systems. */
  	if (ob->particlesystem.first != NULL) {
- 		build_particles(scene, ob);
+ 		build_particles(ob);
  	}
  
 -	/* Grease pencil. */
 -	if (ob->gpd != NULL) {
 -		build_gpencil(ob->gpd);
 -	}
 -
  	/* Object that this is a proxy for. */
  	if (ob->proxy != NULL) {
  		ob->proxy->proxy_from = ob;
diff --cc source/blender/depsgraph/intern/builder/deg_builder_relations.h
index 097b67dde3e,48d0cf76a7f..166d7793eeb
--- a/source/blender/depsgraph/intern/builder/deg_builder_relations.h
+++ b/source/blender/depsgraph/intern/builder/deg_builder_relations.h
@@@ -45,9 -45,7 +45,8 @@@
  #include "intern/nodes/deg_node.h"
  #include "intern/nodes/deg_node_operation.h"
  
- struct BaseLegacy;
  struct bGPdata;
 +struct Palette;
  struct CacheFile;
  struct ListBase;
  struct GHash;
diff --cc source/blender/depsgraph/intern/builder/deg_builder_relations_scene_layer.cc
index da226802ad7,055c832811b..a0b2f89ea9d
--- a/source/blender/depsgraph/intern/builder/deg_builder_relations_scene_layer.cc
+++ b/source/blender/depsgraph/intern/builder/deg_builder_relations_scene_layer.cc
@@@ -112,13 -114,8 +114,13 @@@ void DepsgraphRelationBuilder::build_sc
  		build_gpencil(scene->gpd);
  	}
  
 +	/* Palettes. */
 +	LINKLIST_FOREACH(Palette *, palette, &bmain->palettes) {
 +		build_palette(palette);
 +	}
 +
  	/* Masks. */
- 	LINKLIST_FOREACH (Mask *, mask, &bmain->mask) {
+ 	LINKLIST_FOREACH (Mask *, mask, &bmain_->mask) {
  		build_mask(mask);
  	}
  
diff --cc source/blender/draw/modes/object_mode.c
index eae884ff4d8,a981a51a846..11915c7d314
--- a/source/blender/draw/modes/object_mode.c
+++ b/source/blender/draw/modes/object_mode.c
@@@ -1409,15 -1402,7 +1409,15 @@@ static void DRW_shgroup_forcefield(OBJE
  	}
  }
  
- static void DRW_shgroup_gpencil(OBJECT_StorageList *stl, Object *ob, SceneLayer *sl)
++static void DRW_shgroup_gpencil(OBJECT_StorageList *stl, Object *ob, SceneLayer *scene_layer)
 +{
 +	float *color;
- 	DRW_object_wire_theme_get(ob, sl, &color);
++	DRW_object_wire_theme_get(ob, scene_layer, &color);
 +
 +	DRW_shgroup_call_dynamic_add(stl->g_data->gpencil_axes, color, &ob->empty_drawsize, ob->obmat);
 +}
 +
- static void DRW_shgroup_speaker(OBJECT_StorageList *stl, Object *ob, SceneLayer *sl)
+ static void DRW_shgroup_speaker(OBJECT_StorageList *stl, Object *ob, SceneLayer *scene_layer)
  {
  	float *color;
  	static float one = 1.0f;
@@@ -1828,22 -1813,19 +1828,22 @@@ static void OBJECT_cache_populate(void 
  			break;
  		}
  		case OB_LAMP:
- 			DRW_shgroup_lamp(stl, ob, sl);
+ 			DRW_shgroup_lamp(stl, ob, scene_layer);
  			break;
  		case OB_CAMERA:
- 			DRW_shgroup_camera(stl, ob, sl);
+ 			DRW_shgroup_camera(stl, ob, scene_layer);
  			break;
  		case OB_EMPTY:
- 			DRW_shgroup_empty(stl, psl, ob, sl);
+ 			DRW_shgroup_empty(stl, psl, ob, scene_layer);
  			break;
 +		case OB_GPENCIL:
 +			DRW_shgroup_gpencil(stl, ob, sl);
 +			break;
  		case OB_SPEAKER:
- 			DRW_shgroup_speaker(stl, ob, sl);
+ 			DRW_shgroup_speaker(stl, ob, scene_layer);
  			break;
  		case OB_LIGHTPROBE:
- 			DRW_shgroup_lightprobe(stl, psl, ob, sl);
+ 			DRW_shgroup_lightprobe(stl, psl, ob, scene_layer);
  			break;
  		case OB_ARMATURE:
  		{
diff --cc source/blender/editors/include/ED_gpencil.h
index 2366f3a2a0b,926f31781e2..9fedded72d9
--- a/source/blender/editors/include/ED_gpencil.h
+++ b/source/blender/editors/include/ED_gpencil.h
@@@ -41,20 -45,14 +41,23 @@@ struct bGPDframe
  struct bGPDstroke;
  struct bGPDpalette;
  struct bGPDpalettecolor;
 -struct bAnimContext;
 +struct bGPDspoint;
 +struct ID;
  struct KeyframeEditData;
 +struct ListBase;
 +struct Object;
 +struct Palette;
 +struct PaletteColor;
  struct PointerRNA;
 +struct RegionView3D;
 +struct ScrArea;
 +struct ToolSettings;
 +struct View3D;
+ struct Scene;
+ struct SceneLayer;
+ struct wmWindowManager;
  struct wmKeyConfig;
 -
 +struct wmWindowManager;
  
  /* ------------- Grease-Pencil Helpers ---------------- */
  typedef struct tGPDinterpolate_layer {
@@@ -185,12 -149,15 +188,22 @@@ void ED_gpencil_strokes_copybuf_free(vo
  
  void ED_gpencil_draw_2dimage(const struct bContext *C);
  void ED_gpencil_draw_view2d(const struct bContext *C, bool onlyv2d);
- void ED_gpencil_draw_view3d(struct wmWindowManager *wm, struct Scene *scene, struct View3D *v3d, struct ARegion *ar, bool only3d);
- void ED_gpencil_draw_view3d_object(struct wmWindowManager *wm, struct Scene *scene, struct Object *ob, struct View3D *v3d, struct ARegion *ar, bool only3d);
+ void ED_gpencil_draw_view3d(struct wmWindowManager *wm,
+                             struct Scene *scene,
+                             struct SceneLayer *scene_layer,
+                             struct View3D *v3d,
+                             struct ARegion *ar,
+                             bool only3d);
++void ED_gpencil_draw_view3d_object(struct wmWindowManager *wm,
++                                   struct Scene *scene,
++                                   struct Object *ob,
++                                   struct View3D *v3d,
++                                   struct ARegion *ar,
++                                   bool only3d);
  void ED_gpencil_draw_ex(struct Scene *scene, struct bGPdata *gpd, int winx, int winy,
                          const int cfra, const char spacetype);
 -void ED_gp_draw_interpolation(struct tGPDinterpolate *tgpi, const int type);
 +void ED_gp_draw_interpolation(const struct bContext *C, struct tGPDinterpolate *tgpi, const int type);
 +void ED_gp_draw_primitives(const struct bContext *C, struct tGPDprimitive *tgpi, const int type);
  
  /* ----------- Grease-Pencil AnimEdit API ------------------ */
  bool  ED_gplayer_frames_looper(struct bGPDlayer *gpl, struct Scene *scene,
diff --cc source/blender/editors/object/object_add.c
index e41f3d5b0d8,ea2c688daa3..c430d52838d
--- a/source/blender/editors/object/object_add.c
+++ b/source/blender/editors/object/object_add.c
@@@ -1337,18 -1271,8 +1337,18 @@@ static int object_delete_exec(bContext 
  			}
  		}
  
 +		/* remove as scene default annotation object */
 +		if (ob->type == OB_GPENCIL) {
 +			Scene *scene_iter;
 +			for (scene_iter = bmain->scene.first; scene_iter; scene_iter = scene_iter->id.next) {
 +				if (scene->gp_object == ob) {
 +					scene->gp_object = NULL;
 +				}
 +			}
 +		}
 +
  		/* remove from current scene only */
- 		ED_base_object_free_and_unlink(bmain, scene, ob);
+ 		ED_object_base_free_and_unlink(bmain, scene, ob);
  		changed = true;
  
  		if (use_global) {
diff --cc source/blender/editors/space_view3d/view3d_draw_legacy.c
index 04c769f2876,90032a2aec9..5f1d0b9550f
--- a/source/blender/editors/space_view3d/view3d_draw_legacy.c
+++ b/source/blender/editors/space_view3d/view3d_draw_legacy.c
@@@ -1637,21 -1577,12 +1637,22 @@@ static void view3d_draw_objects
  			if ((base->flag & BASE_VISIBLED) != 0) {
  				/* dupli drawing */
  				if (base->object->transflag & OB_DUPLI) {
- 					draw_dupli_objects(eval_ctx, scene, sl, ar, v3d, base);
+ 					draw_dupli_objects(eval_ctx, scene, scene_layer, ar, v3d, base);
  				

@@ Diff output truncated at 10240 characters. @@



More information about the Bf-blender-cvs mailing list