#ifndef UI_VIEWS_ANIMATION_PULSING_PATH_INK_DROP_MASK_H_
#define UI_VIEWS_ANIMATION_PULSING_PATH_INK_DROP_MASK_H_
#include "ui/gfx/animation/throb_animation.h"
#include "ui/gfx/geometry/skia_conversions.h"
#include "ui/views/animation/animation_delegate_views.h"
#include "ui/views/animation/ink_drop_mask.h"
namespace views {
class VIEWS_EXPORT PulsingPathInkDropMask
: public views::AnimationDelegateViews,
public views::InkDropMask {
public:
explicit PulsingPathInkDropMask(views::View* layer_container, SkPath path);
~PulsingPathInkDropMask() override;
private:
void OnPaintLayer(const ui::PaintContext& context) override;
void AnimationProgressed(const gfx::Animation* animation) override;
const raw_ptr<views::View> layer_container_;
const SkPath path_;
const SkRect initial_rect_;
const double throb_inset_;
gfx::ThrobAnimation throb_animation_;
};
}
#endif