X-Git-Url: https://git.sesse.net/?p=movit;a=blobdiff_plain;f=saturation_effect.h;h=8a3aece844aa45b9cce0d0d36e0fb4231189c33d;hp=4dd72e4da09b4b0805ecf6d6d7b0104e68f9cd1e;hb=b3d1c89c7c8953cb4c73b7dba50c9813042976fa;hpb=f99ad333a7acbb6c8c995dbb036484ae8940c490 diff --git a/saturation_effect.h b/saturation_effect.h index 4dd72e4..8a3aece 100644 --- a/saturation_effect.h +++ b/saturation_effect.h @@ -1,5 +1,5 @@ -#ifndef _SATURATION_EFFECT_H -#define _SATURATION_EFFECT_H 1 +#ifndef _MOVIT_SATURATION_EFFECT_H +#define _MOVIT_SATURATION_EFFECT_H 1 // A simple desaturation/saturation effect. We use the Rec. 709 // definition of luminance (in linear light, of course) and linearly @@ -7,16 +7,24 @@ // (saturation=1). Extrapolating that curve further (ie., saturation > 1) // gives us increased saturation if so desired. +#include + #include "effect.h" +namespace movit { + class SaturationEffect : public Effect { public: SaturationEffect(); - virtual std::string effect_type_id() const { return "SaturationEffect"; } - std::string output_fragment_shader(); + std::string effect_type_id() const override { return "SaturationEffect"; } + AlphaHandling alpha_handling() const override { return DONT_CARE_ALPHA_TYPE; } + bool strong_one_to_one_sampling() const override { return true; } + std::string output_fragment_shader() override; private: float saturation; }; -#endif // !defined(_SATURATION_EFFECT_H) +} // namespace movit + +#endif // !defined(_MOVIT_SATURATION_EFFECT_H)