#ifndef ASH_DISPLAY_SHARED_DISPLAY_EDGE_INDICATOR_H_
#define ASH_DISPLAY_SHARED_DISPLAY_EDGE_INDICATOR_H_
#include <memory>
#include "ash/ash_export.h"
#include "ui/gfx/animation/animation_delegate.h"
namespace gfx {
class Rect;
class ThrobAnimation;
}
namespace views {
class Widget;
}
namespace ash {
class ASH_EXPORT SharedDisplayEdgeIndicator : public gfx::AnimationDelegate {
public:
SharedDisplayEdgeIndicator();
SharedDisplayEdgeIndicator(const SharedDisplayEdgeIndicator&) = delete;
SharedDisplayEdgeIndicator& operator=(const SharedDisplayEdgeIndicator&) =
delete;
~SharedDisplayEdgeIndicator() override;
void Show(const gfx::Rect& src_bounds, const gfx::Rect& dst_bounds);
void AnimationProgressed(const gfx::Animation* animation) override;
private:
std::unique_ptr<views::Widget> src_widget_;
std::unique_ptr<views::Widget> dst_widget_;
std::unique_ptr<gfx::ThrobAnimation> animation_;
};
}
#endif