#include "modules/skottie/src/effects/MotionBlurEffect.h"
#include "include/core/SkCanvas.h"
#include "include/core/SkPixmap.h"
#include "include/private/base/SkMath.h"
#include "modules/skottie/src/animator/Animator.h"
#include "src/base/SkMathPriv.h"
#include "src/base/SkVx.h"
namespace skottie {
namespace internal {
class MotionBlurEffect::AutoInvalBlocker { … };
sk_sp<MotionBlurEffect> MotionBlurEffect::Make(sk_sp<Animator> animator,
sk_sp<sksg::RenderNode> child,
size_t samples_per_frame,
float shutter_angle, float shutter_phase) { … }
MotionBlurEffect::MotionBlurEffect(sk_sp<Animator> animator,
sk_sp<sksg::RenderNode> child,
size_t samples, float phase, float dt)
: … { … }
const sksg::RenderNode* MotionBlurEffect::onNodeAt(const SkPoint&) const { … }
SkRect MotionBlurEffect::seekToSample(size_t sample_idx, const SkMatrix& ctm) const { … }
SkRect MotionBlurEffect::onRevalidate(sksg::InvalidationController*, const SkMatrix& ctm) { … }
void MotionBlurEffect::renderToRaster8888Pow2Samples(SkCanvas* canvas,
const RenderContext* ctx) const { … }
void MotionBlurEffect::onRender(SkCanvas* canvas, const RenderContext* ctx) const { … }
}
}