Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1233)

Unified Diff: content/browser/android/composited_touch_handle_drawable.h

Issue 335943002: [Android] Composited selection handle rendering (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@input_native_handles_final
Patch Set: Clean up paste popup interaction Created 6 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: content/browser/android/composited_touch_handle_drawable.h
diff --git a/content/browser/android/composited_touch_handle_drawable.h b/content/browser/android/composited_touch_handle_drawable.h
new file mode 100644
index 0000000000000000000000000000000000000000..7b1f5969f75720fd80e1646ce843005d916d7f8a
--- /dev/null
+++ b/content/browser/android/composited_touch_handle_drawable.h
@@ -0,0 +1,46 @@
+// 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_ANDROID_COMPOSITED_TOUCH_HANDLE_DRAWABLE_H_
+#define CONTENT_BROWSER_ANDROID_COMPOSITED_TOUCH_HANDLE_DRAWABLE_H_
+
+#include "content/browser/renderer_host/input/touch_handle.h"
+
+#include "base/android/jni_android.h"
+#include "cc/layers/ui_resource_layer.h"
+
+namespace content {
+
+// Touch handle drawable implementation backed by a cc layer.
+class CompositedTouchHandleDrawable : public TouchHandleDrawable {
+ public:
+ CompositedTouchHandleDrawable(cc::Layer* root_layer, float dpi_scale);
+ virtual ~CompositedTouchHandleDrawable();
+
+ // TouchHandleDrawable implementation.
+ virtual void SetOrientation(TouchHandleOrientation orientation) OVERRIDE;
+ virtual void SetAlpha(float alpha) OVERRIDE;
+ virtual void SetFocus(const gfx::PointF& position) OVERRIDE;
+ virtual void SetVisible(bool visible) OVERRIDE;
+ virtual bool ContainsPoint(const gfx::PointF& point) const OVERRIDE;
+
+ static bool RegisterHandleViewResources(JNIEnv* env);
+
+ private:
+ void Detach();
+ gfx::RectF BoundingRect() const;
+
+ const float dpi_scale_;
+ TouchHandleOrientation orientation_;
+ gfx::PointF focal_position_;
+ gfx::Vector2dF focal_offset_from_origin_;
+
+ scoped_refptr<cc::UIResourceLayer> layer_;
+
+ DISALLOW_COPY_AND_ASSIGN(CompositedTouchHandleDrawable);
+};
+
+} // namespace content
+
+#endif // CONTENT_BROWSER_ANDROID_COMPOSITED_TOUCH_HANDLE_DRAWABLE_H_

Powered by Google App Engine
This is Rietveld 408576698