X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=synfig-core%2Ftrunk%2Fsrc%2Fsynfig%2Flayer_duplicate.cpp;h=6fa857c79d86742bd5a4ab1128e69f9c67ad0646;hb=ee1f3282996b981db5c3107c87afd58b082bce44;hp=5a8719d767829e9bf5d14e9d2bb1fc033ec4441c;hpb=3174d697b7c970d74d239984f6cd699600952b3c;p=synfig.git diff --git a/synfig-core/trunk/src/synfig/layer_duplicate.cpp b/synfig-core/trunk/src/synfig/layer_duplicate.cpp index 5a8719d..6fa857c 100644 --- a/synfig-core/trunk/src/synfig/layer_duplicate.cpp +++ b/synfig-core/trunk/src/synfig/layer_duplicate.cpp @@ -127,7 +127,7 @@ Layer::Vocab Layer_Duplicate::get_param_vocab()const { Layer::Vocab ret; - //ret=Layer_Composite::get_param_vocab(); + ret=Layer_Composite::get_param_vocab(); ret.push_back(ParamDesc("index") .set_local_name(_("Index")) @@ -173,6 +173,7 @@ Layer_Duplicate::accelerated_render(Context context,Surface *surface,int quality Color::BlendMethod blend_method(get_blend_method()); int steps = duplicate_param->count_steps(time_cur); + Mutex::Lock lock(mutex); duplicate_param->reset_index(time_cur); do { @@ -183,14 +184,12 @@ Layer_Duplicate::accelerated_render(Context context,Surface *surface,int quality if(!context.accelerated_render(&tmp,quality,renddesc,&subimagecb)) return false; Surface::alpha_pen apen(surface->begin()); - apen.set_alpha(1.0); + apen.set_alpha(get_amount()); // \todo have a checkbox allowing use of 'behind' to reverse the order? - apen.set_blend_method(blend_method); + apen.set_blend_method(i ? blend_method : Color::BLEND_COMPOSITE); tmp.blit_to(apen); i++; } while (duplicate_param->step(time_cur)); - duplicate_param->reset_index(time_cur); - return true; }