#pragma once #include "effects/video_effect.hpp" namespace effector { // The blur effect in motion, as a lens being focused: either the whole // picture drifts out of focus and back, or a band of sharpness travels down // the picture and back up with the rest blurred, as a tilted lens shows it. // // The pull goes there and back once a cycle, so the clip loops without a // jump; nothing in it is random. class FocusPullEffect : public VideoEffect { public: std::string name() const override { return "focuspull"; } std::string title() const override { return "Focus pull"; } std::string description() const override { return "Blurs the picture as Blur does, pulling it out of focus and back, or moving a " "band of sharpness up and down it."; } const std::vector& params() const override; protected: Image animate(Image input, const ParamValues& values, const Moment& at) const override; }; } // namespace effector