[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