diff options
author | Nathan Craddock <nzcraddock@gmail.com> | 2020-09-15 23:50:21 +0300 |
---|---|---|
committer | Nathan Craddock <nzcraddock@gmail.com> | 2020-09-16 00:29:19 +0300 |
commit | 18701c19fa91572cb44643de31853335a6737925 (patch) | |
tree | 73e97db5da83847f7ffc0e3c77251893974021dc /source/blender/blenkernel/intern/shader_fx.c | |
parent | 1c5d0deb2ac352a37be3b39d0f5e20321cdd0942 (diff) |
GPencil: Add link and copy functions for shaderfx
Adds two functions: one to copy a shaderfx between two gpencil objects,
and another to link all shaderfx between two gpencil objects. Added in
preparation for outliner shaderfx drag and drop.
Differential Revision: https://developer.blender.org/D8642
Diffstat (limited to 'source/blender/blenkernel/intern/shader_fx.c')
-rw-r--r-- | source/blender/blenkernel/intern/shader_fx.c | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/source/blender/blenkernel/intern/shader_fx.c b/source/blender/blenkernel/intern/shader_fx.c index b3d350f5ccd..4ad67a1dd32 100644 --- a/source/blender/blenkernel/intern/shader_fx.c +++ b/source/blender/blenkernel/intern/shader_fx.c @@ -234,6 +234,19 @@ void BKE_shaderfx_copydata(ShaderFxData *fx, ShaderFxData *target) BKE_shaderfx_copydata_ex(fx, target, 0); } +void BKE_shaderfx_copy(ListBase *dst, const ListBase *src) +{ + ShaderFxData *fx; + ShaderFxData *srcfx; + + BLI_listbase_clear(dst); + BLI_duplicatelist(dst, src); + + for (srcfx = src->first, fx = dst->first; srcfx && fx; srcfx = srcfx->next, fx = fx->next) { + BKE_shaderfx_copydata(srcfx, fx); + } +} + ShaderFxData *BKE_shaderfx_findby_type(Object *ob, ShaderFxType type) { ShaderFxData *fx = ob->shader_fx.first; |