Index: content/browser/renderer_host/input/touch_handle.h |
diff --git a/content/browser/renderer_host/input/touch_handle.h b/content/browser/renderer_host/input/touch_handle.h |
deleted file mode 100644 |
index 41e9fcddc18376690fd0abb63d9a0f0cefa21ac7..0000000000000000000000000000000000000000 |
--- a/content/browser/renderer_host/input/touch_handle.h |
+++ /dev/null |
@@ -1,134 +0,0 @@ |
-// Copyright 2014 The Chromium Authors. All rights reserved. |
-// Use of this source code is governed by a BSD-style license that can be |
-// found in the LICENSE file. |
- |
-#ifndef CONTENT_BROWSER_RENDERER_HOST_INPUT_TOUCH_HANDLE_H_ |
-#define CONTENT_BROWSER_RENDERER_HOST_INPUT_TOUCH_HANDLE_H_ |
- |
-#include "base/logging.h" |
-#include "base/memory/scoped_ptr.h" |
-#include "base/time/time.h" |
-#include "content/common/content_export.h" |
-#include "ui/events/gesture_detection/motion_event.h" |
-#include "ui/gfx/geometry/point_f.h" |
-#include "ui/gfx/geometry/rect_f.h" |
-#include "ui/gfx/geometry/vector2d_f.h" |
- |
-namespace content { |
- |
-class TouchHandle; |
- |
-enum TouchHandleOrientation { |
- TOUCH_HANDLE_LEFT, |
- TOUCH_HANDLE_CENTER, |
- TOUCH_HANDLE_RIGHT, |
- TOUCH_HANDLE_ORIENTATION_UNDEFINED, |
-}; |
- |
-// Interface through which |TouchHandle| delegates rendering-specific duties. |
-class CONTENT_EXPORT TouchHandleDrawable { |
- public: |
- virtual ~TouchHandleDrawable() {} |
- virtual void SetEnabled(bool enabled) = 0; |
- virtual void SetOrientation(TouchHandleOrientation orientation) = 0; |
- virtual void SetAlpha(float alpha) = 0; |
- virtual void SetFocus(const gfx::PointF& position) = 0; |
- virtual bool IntersectsWith(const gfx::RectF& rect) const = 0; |
-}; |
- |
-// Interface through which |TouchHandle| communicates handle manipulation and |
-// requests concrete drawable instances. |
-class CONTENT_EXPORT TouchHandleClient { |
- public: |
- virtual ~TouchHandleClient() {} |
- virtual void OnHandleDragBegin(const TouchHandle& handle) = 0; |
- virtual void OnHandleDragUpdate(const TouchHandle& handle, |
- const gfx::PointF& new_position) = 0; |
- virtual void OnHandleDragEnd(const TouchHandle& handle) = 0; |
- virtual void OnHandleTapped(const TouchHandle& handle) = 0; |
- virtual void SetNeedsAnimate() = 0; |
- virtual scoped_ptr<TouchHandleDrawable> CreateDrawable() = 0; |
- virtual base::TimeDelta GetTapTimeout() const = 0; |
- virtual float GetTapSlop() const = 0; |
-}; |
- |
-// Responsible for displaying a selection or insertion handle for text |
-// interaction. |
-class CONTENT_EXPORT TouchHandle { |
- public: |
- // The drawable will be enabled but invisible until otherwise specified. |
- TouchHandle(TouchHandleClient* client, TouchHandleOrientation orientation); |
- ~TouchHandle(); |
- |
- // Sets whether the handle is active, allowing resource cleanup if necessary. |
- // If false, active animations or touch drag sequences will be cancelled. |
- // While disabled, manipulation is *explicitly not supported*, and may lead to |
- // undesirable and/or unstable side-effects. The handle can be safely |
- // re-enabled to allow continued operation. |
- void SetEnabled(bool enabled); |
- |
- enum AnimationStyle { ANIMATION_NONE, ANIMATION_SMOOTH }; |
- // Update the handle visibility, fading in/out according to |animation_style|. |
- // If an animation is in-progress, it will be overriden appropriately. |
- void SetVisible(bool visible, AnimationStyle animation_style); |
- |
- // Update the handle placement to |position|. |
- // Note: If a fade out animation is active or the handle is invisible, the |
- // handle position will not be updated until the handle regains visibility. |
- void SetPosition(const gfx::PointF& position); |
- |
- // Update the handle visuals to |orientation|. |
- // Note: If the handle is being dragged, the orientation change will be |
- // deferred until the drag has ceased. |
- void SetOrientation(TouchHandleOrientation orientation); |
- |
- // Allows touch-dragging of the handle. Returns true if the event was |
- // consumed, in which case the caller should cease further handling. |
- bool WillHandleTouchEvent(const ui::MotionEvent& event); |
- |
- // Ticks an active animation, as requested to the client by |SetNeedsAnimate|. |
- // Returns true if an animation is active and requires further ticking. |
- bool Animate(base::TimeTicks frame_time); |
- |
- bool is_dragging() const { return is_dragging_; } |
- const gfx::PointF& position() const { return position_; } |
- TouchHandleOrientation orientation() const { return orientation_; } |
- |
- private: |
- void BeginDrag(); |
- void EndDrag(); |
- void BeginFade(); |
- void EndFade(); |
- void SetAlpha(float alpha); |
- |
- scoped_ptr<TouchHandleDrawable> drawable_; |
- |
- TouchHandleClient* const client_; |
- |
- gfx::PointF position_; |
- TouchHandleOrientation orientation_; |
- TouchHandleOrientation deferred_orientation_; |
- |
- gfx::PointF touch_down_position_; |
- gfx::Vector2dF touch_to_focus_offset_; |
- base::TimeTicks touch_down_time_; |
- |
- // Note that when a fade animation is active, |is_visible_| and |position_| |
- // may not reflect the actual visibilty and position of the drawable. This |
- // discrepancy is resolved either upon fade completion or cancellation. |
- base::TimeTicks fade_end_time_; |
- gfx::PointF fade_start_position_; |
- float alpha_; |
- bool animate_deferred_fade_; |
- |
- bool enabled_; |
- bool is_visible_; |
- bool is_dragging_; |
- bool is_drag_within_tap_region_; |
- |
- DISALLOW_COPY_AND_ASSIGN(TouchHandle); |
-}; |
- |
-} // namespace content |
- |
-#endif // CONTENT_BROWSER_RENDERER_HOST_INPUT_TOUCH_HANDLE_H_ |