Blur's box blur moves to effects/box_blur.hpp so both share it; Blur renders exactly as before. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
28 lines
982 B
C++
28 lines
982 B
C++
#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<ParamSpec>& params() const override;
|
|
|
|
protected:
|
|
Image animate(Image input, const ParamValues& values, const Moment& at) const override;
|
|
};
|
|
|
|
} // namespace effector
|