Index: ash/autoclick/common/autoclick_ring_handler.h |
diff --git a/chrome/browser/chromeos/ui/autoclick_ring_handler.h b/ash/autoclick/common/autoclick_ring_handler.h |
similarity index 71% |
rename from chrome/browser/chromeos/ui/autoclick_ring_handler.h |
rename to ash/autoclick/common/autoclick_ring_handler.h |
index 991dfd68b866317ba58e20c016a5a6ae102a794d..b52e5883e64f31920fd250e874bd054e5bbe5ebe 100644 |
--- a/chrome/browser/chromeos/ui/autoclick_ring_handler.h |
+++ b/ash/autoclick/common/autoclick_ring_handler.h |
@@ -2,38 +2,40 @@ |
// Use of this source code is governed by a BSD-style license that can be |
// found in the LICENSE file. |
-#ifndef CHROME_BROWSER_CHROMEOS_UI_AUTOCLICK_RING_HANDLER_H_ |
-#define CHROME_BROWSER_CHROMEOS_UI_AUTOCLICK_RING_HANDLER_H_ |
+#ifndef ASH_AUTOCLICK_COMMON_AUTOCLICK_RING_HANDLER_H_ |
+#define ASH_AUTOCLICK_COMMON_AUTOCLICK_RING_HANDLER_H_ |
-#include <memory> |
- |
-#include "ash/autoclick/autoclick_controller.h" |
#include "base/macros.h" |
#include "base/timer/timer.h" |
#include "ui/aura/window_observer.h" |
-#include "ui/events/event.h" |
#include "ui/gfx/animation/linear_animation.h" |
#include "ui/gfx/geometry/point.h" |
-namespace chromeos { |
+namespace views { |
+class Widget; |
+} |
+ |
+namespace ash { |
// AutoclickRingHandler displays an animated affordance that is shown |
// on autoclick gesture. The animation sequence consists of two circles which |
// shrink towards the spot the autoclick will generate a mouse event. |
class AutoclickRingHandler : public gfx::LinearAnimation, |
- public aura::WindowObserver, |
- public ash::AutoclickController::Delegate { |
+ public aura::WindowObserver { |
public: |
AutoclickRingHandler(); |
~AutoclickRingHandler() override; |
- private: |
- // Overriden from ash::AutoclickController::Delegate. |
void StartGesture(base::TimeDelta duration, |
- const gfx::Point& center_point_in_screen) override; |
- void StopGesture() override; |
- void SetGestureCenter(const gfx::Point& center_point_in_screen) override; |
+ const gfx::Point& center_point_in_screen, |
+ aura::Window* target, |
+ views::Widget* widget); |
+ void StopGesture(); |
+ void SetGestureCenter(const gfx::Point& center_point_in_screen, |
+ aura::Window* target, |
+ views::Widget* widget); |
+ private: |
class AutoclickRingView; |
enum class AnimationType { |
@@ -42,8 +44,6 @@ class AutoclickRingHandler : public gfx::LinearAnimation, |
SHRINK_ANIMATION, |
}; |
- aura::Window* GetTargetWindow(); |
- void SetTapDownTarget(); |
void StartAnimation(base::TimeDelta duration); |
void StopAutoclickRing(); |
void SetTapDownTarget(aura::Window* target); |
@@ -56,6 +56,7 @@ class AutoclickRingHandler : public gfx::LinearAnimation, |
void OnWindowDestroying(aura::Window* window) override; |
std::unique_ptr<AutoclickRingView> view_; |
+ views::Widget* ring_widget_; |
// Location of the simulated mouse event from auto click in screen |
// coordinates. |
gfx::Point tap_down_location_; |
@@ -68,6 +69,6 @@ class AutoclickRingHandler : public gfx::LinearAnimation, |
DISALLOW_COPY_AND_ASSIGN(AutoclickRingHandler); |
}; |
-} // namespace chromeos |
+} // namespace ash |
-#endif // CHROME_BROWSER_CHROMEOS_UI_AUTOCLICK_RING_HANDLER_H_ |
+#endif // ASH_AUTOCLICK_COMMON_AUTOCLICK_RING_HANDLER_H_ |