X-Git-Url: https://git.sesse.net/?p=movit;a=blobdiff_plain;f=diffusion_effect.h;h=77625ae439568b8fb6f043b5da796ddad067490d;hp=390787d9a3dc4c54c2dd8408538fd43d480ab471;hb=6f1efa8348a90a393187c12d70fd10d81bbd2c99;hpb=ac4fc36aa70ffefb6b9632dc0abea5cbbce5387b diff --git a/diffusion_effect.h b/diffusion_effect.h index 390787d..77625ae 100644 --- a/diffusion_effect.h +++ b/diffusion_effect.h @@ -12,12 +12,14 @@ // where we first blur the picture, and then overlay it on the original // using the original as a matte. -#include +#include #include #include #include "effect.h" +namespace movit { + class BlurEffect; class EffectChain; class Node; @@ -26,6 +28,7 @@ class OverlayMatteEffect; class DiffusionEffect : public Effect { public: DiffusionEffect(); + ~DiffusionEffect(); virtual std::string effect_type_id() const { return "DiffusionEffect"; } virtual void rewrite_graph(EffectChain *graph, Node *self); @@ -41,6 +44,7 @@ public: private: BlurEffect *blur; OverlayMatteEffect *overlay_matte; + bool owns_overlay_matte; }; // Used internally by DiffusionEffect; combines the blurred and the original @@ -53,10 +57,12 @@ public: virtual AlphaHandling alpha_handling() const { return INPUT_PREMULTIPLIED_ALPHA_KEEP_BLANK; } unsigned num_inputs() const { return 2; } + virtual bool one_to_one_sampling() const { return true; } private: float blurred_mix_amount; }; +} // namespace movit #endif // !defined(_MOVIT_DIFFUSION_EFFECT_H)