// There are many different effects that go under the name of "diffusion",
// seemingly all of the inspired by the effect you get when you put a
// There are many different effects that go under the name of "diffusion",
// seemingly all of the inspired by the effect you get when you put a
// where we first blur the picture, and then overlay it on the original
// using the original as a matte.
// where we first blur the picture, and then overlay it on the original
// using the original as a matte.
virtual std::string effect_type_id() const { return "DiffusionEffect"; }
virtual void rewrite_graph(EffectChain *graph, Node *self);
virtual std::string effect_type_id() const { return "DiffusionEffect"; }
virtual void rewrite_graph(EffectChain *graph, Node *self);
virtual AlphaHandling alpha_handling() const { return INPUT_PREMULTIPLIED_ALPHA_KEEP_BLANK; }
unsigned num_inputs() const { return 2; }
virtual AlphaHandling alpha_handling() const { return INPUT_PREMULTIPLIED_ALPHA_KEEP_BLANK; }
unsigned num_inputs() const { return 2; }