X-Git-Url: https://git.sesse.net/?p=movit;a=blobdiff_plain;f=glow_effect.h;h=91106e03b08927ab3498d784f3611b05e36aafa8;hp=c0ac9ce5ee4163516ee2806557196447786099a7;hb=68fd0c4ec98ed00d3ddeb87cfd809372a8b01e4b;hpb=b10c546f579c7ccb5939161e61a71cd18a3f9bbd diff --git a/glow_effect.h b/glow_effect.h index c0ac9ce..91106e0 100644 --- a/glow_effect.h +++ b/glow_effect.h @@ -1,17 +1,20 @@ -#ifndef _GLOW_EFFECT_H -#define _GLOW_EFFECT_H 1 +#ifndef _MOVIT_GLOW_EFFECT_H +#define _MOVIT_GLOW_EFFECT_H 1 // Glow: Cut out the highlights of the image (everything above a certain threshold), // blur them, and overlay them onto the original image. -// -// FIXME: This might be broken after MixEffect started working in premultiplied alpha. -// We need to think about how this is going to work, and then add a test. + +#include +#include +#include #include "effect.h" class BlurEffect; -class MixEffect; +class EffectChain; class HighlightCutoffEffect; +class MixEffect; +class Node; class GlowEffect : public Effect { public: @@ -45,9 +48,11 @@ public: HighlightCutoffEffect(); virtual std::string effect_type_id() const { return "HighlightCutoffEffect"; } std::string output_fragment_shader(); + + virtual AlphaHandling alpha_handling() const { return INPUT_PREMULTIPLIED_ALPHA_KEEP_BLANK; } private: float cutoff; }; -#endif // !defined(_GLOW_EFFECT_H) +#endif // !defined(_MOVIT_GLOW_EFFECT_H)