Chromium Code Reviews| Index: content/browser/renderer_host/input/gesture_text_selector.h |
| diff --git a/content/browser/renderer_host/input/gesture_text_selector.h b/content/browser/renderer_host/input/gesture_text_selector.h |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..f076449ec39dd5c4ff43ed75e5f2c3491e4de32e |
| --- /dev/null |
| +++ b/content/browser/renderer_host/input/gesture_text_selector.h |
| @@ -0,0 +1,62 @@ |
| +// 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_GESTURE_TEXT_SELECTOR_H_ |
| +#define CONTENT_BROWSER_RENDERER_HOST_INPUT_GESTURE_TEXT_SELECTOR_H_ |
| + |
| +#include "base/gtest_prod_util.h" |
| +#include "base/macros.h" |
| +#include "base/memory/scoped_ptr.h" |
| +#include "content/common/content_export.h" |
| + |
| +namespace ui { |
| +class GestureEventData; |
|
benm (inactive)
2014/06/24 15:15:23
s/class/struct/
Changwan Ryu
2014/06/25 07:26:21
Done.
|
| +class MotionEvent; |
| +} |
| + |
| +namespace content { |
| +class GestureTextSelectorTest; |
| + |
| +// Interface with which GestureTextSelector can select, unselect, or show |
| +// selection handles. |
| +class CONTENT_EXPORT GestureTextSelectorClient { |
| + public: |
| + virtual ~GestureTextSelectorClient() {} |
| + |
| + virtual void ShowSelectionHandlesAutomatically() = 0; |
| + virtual void SelectRange(float x1, float y1, float x2, float y2) = 0; |
| + virtual void SelectWord(float x, float y) = 0; |
| + virtual void Unselect() = 0; |
| +}; |
| + |
| +// A class to handle gesture-based text selection, such as when clicking first |
| +// button on stylus input. |
| +class CONTENT_EXPORT GestureTextSelector { |
| + public: |
| + explicit GestureTextSelector(GestureTextSelectorClient* client); |
| + virtual ~GestureTextSelector(); |
| + |
| + // Returns whether it will consume the event. |
|
jdduke (slow)
2014/06/24 15:38:37
Maybe put a note here that this should be called *
Changwan Ryu
2014/06/25 07:26:20
Done.
|
| + bool OnTouchEvent(const ui::MotionEvent& event); |
| + // Returns whether it will consume the event. |
| + bool OnGestureEvent(const ui::GestureEventData& gesture); |
| + |
| + private: |
| + friend class GestureTextSelectorTest; |
| + FRIEND_TEST_ALL_PREFIXES(GestureTextSelectorTest, |
| + ShouldStartTextSelection); |
| + |
| + static bool ShouldStartTextSelection(const ui::MotionEvent& event); |
| + |
| + GestureTextSelectorClient* client_; |
| + bool text_selection_triggered_; |
| + float anchor_x_; |
| + float anchor_y_; |
| + |
| + DISALLOW_COPY_AND_ASSIGN(GestureTextSelector); |
| +}; |
| + |
| +} // namespace content |
| + |
| +#endif // CONTENT_BROWSER_RENDERER_HOST_INPUT_GESTURE_TEXT_SELECTOR_H_ |