halftone.size=(synfig::Vector(0.25,0.25));
halftone.angle=(Angle::zero());
halftone.type=TYPE_SYMMETRIC;
-
+
set_blend_method(Color::BLEND_STRAIGHT);
}
else if(amount>=1.0f)
halfcolor=color_light;
else
- halfcolor=Color::blend(color_light,color_dark,amount,Color::BLEND_STRAIGHT);
-
+ halfcolor=Color::blend(color_light,color_dark,amount,Color::BLEND_STRAIGHT);
+
halfcolor.set_a(color.get_a());
return halfcolor;
IMPORT_AS(halftone.type,"type");
IMPORT_AS(halftone.angle,"angle");
IMPORT_AS(halftone.offset,"offset");
-
- return Layer_Composite::set_param(param,value);
+
+ return Layer_Composite::set_param(param,value);
}
ValueBase
EXPORT(color_dark);
EXPORT(color_light);
-
+
EXPORT_NAME();
EXPORT_VERSION();
-
- return Layer_Composite::get_param(param);
+
+ return Layer_Composite::get_param(param);
}
Layer::Vocab
Halftone2::get_param_vocab()const
{
Layer::Vocab ret(Layer_Composite::get_param_vocab());
-
+
ret.push_back(ParamDesc("offset")
.set_local_name(_("Mask Offset"))
.set_is_distance()
.add_enum_value(TYPE_DIAMOND,"diamond",_("Diamond"))
.add_enum_value(TYPE_STRIPE,"stripe",_("Stripe"))
);
-
+
return ret;
}
return false;
if(get_amount()==0)
return true;
-
+
const Real pw(renddesc.get_pw()),ph(renddesc.get_ph());
const Point tl(renddesc.get_tl());
const int w(surface->get_w());
Surface::pen pen(surface->begin());
Point pos;
int x,y;
-
+
if(is_solid_color())
{
for(y=0,pos[1]=tl[1];y<h;y++,pen.inc_y(),pen.dec_x(x),pos[1]+=ph)
)
);
}
-
+
// Mark our progress as finished
if(cb && !cb->amount_complete(10000,10000))
return false;