| Index: content/browser/renderer_host/touch_handle_drawable_aura.cc
|
| diff --git a/content/browser/renderer_host/touch_handle_drawable_aura.cc b/content/browser/renderer_host/touch_handle_drawable_aura.cc
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..244407c9cfe4c5123ac369485b68725e9388a39e
|
| --- /dev/null
|
| +++ b/content/browser/renderer_host/touch_handle_drawable_aura.cc
|
| @@ -0,0 +1,143 @@
|
| +// 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.
|
| +
|
| +#include "content/browser/renderer_host/touch_handle_drawable_aura.h"
|
| +
|
| +#include "ui/aura/window.h"
|
| +#include "ui/aura/window_targeter.h"
|
| +#include "ui/base/cursor/cursor.h"
|
| +#include "ui/base/hit_test.h"
|
| +#include "ui/events/event.h"
|
| +#include "ui/gfx/canvas.h"
|
| +
|
| +namespace content {
|
| +namespace {
|
| +
|
| +class TouchHandleDrawableAuraTargeter : public aura::WindowTargeter {
|
| + protected:
|
| + virtual bool EventLocationInsideBounds(
|
| + ui::EventTarget* target,
|
| + const ui::LocatedEvent& event) const override;
|
| +};
|
| +
|
| +bool TouchHandleDrawableAuraTargeter::EventLocationInsideBounds(
|
| + ui::EventTarget* target,
|
| + const ui::LocatedEvent& event) const {
|
| + return false;
|
| +}
|
| +
|
| +}
|
| +
|
| +TouchHandleDrawableAura::TouchHandleDrawableAura(aura::Window* parent)
|
| + : window_(new aura::Window(this)) {
|
| + window_->SetTransparent(true);
|
| + window_->Init(aura::WINDOW_LAYER_TEXTURED);
|
| + window_->set_owned_by_parent(false);
|
| + window_->SetEventTargeter(
|
| + scoped_ptr<ui::EventTargeter>(new TouchHandleDrawableAuraTargeter));
|
| + parent->AddChild(window_.get());
|
| +}
|
| +
|
| +TouchHandleDrawableAura::~TouchHandleDrawableAura() {
|
| +}
|
| +
|
| +void TouchHandleDrawableAura::SetEnabled(bool enabled) {
|
| + if (enabled == enabled_)
|
| + return;
|
| +
|
| + enabled_ = enabled;
|
| + if (enabled_ && visible_)
|
| + window_->Show();
|
| + else
|
| + window_->Hide();
|
| +}
|
| +
|
| +void TouchHandleDrawableAura::SetOrientation(
|
| + TouchHandleOrientation orientation) {
|
| +}
|
| +
|
| +void TouchHandleDrawableAura::SetAlpha(float alpha) {
|
| + window_->layer()->SetOpacity(alpha);
|
| +}
|
| +
|
| +void TouchHandleDrawableAura::SetFocus(const gfx::PointF& position) {
|
| + window_->SetBounds(gfx::Rect(position.x() - 10, position.y(), 20, 50));
|
| +}
|
| +
|
| +void TouchHandleDrawableAura::SetVisible(bool visible) {
|
| + if (visible == visible_)
|
| + return;
|
| +
|
| + visible_ = visible;
|
| + if (enabled_ && visible_)
|
| + window_->Show();
|
| + else
|
| + window_->Hide();
|
| +}
|
| +
|
| +bool TouchHandleDrawableAura::IntersectsWith(const gfx::RectF& rect) const {
|
| + gfx::RectF r(window_->bounds());
|
| + r.Inset(-25, -25);
|
| + return r.Intersects(rect);
|
| +}
|
| +
|
| +gfx::Size TouchHandleDrawableAura::GetMinimumSize() const {
|
| + return gfx::Size(20, 50);
|
| +}
|
| +
|
| +gfx::Size TouchHandleDrawableAura::GetMaximumSize() const {
|
| + return gfx::Size(20, 50);
|
| +}
|
| +
|
| +void TouchHandleDrawableAura::OnBoundsChanged(const gfx::Rect& old_bounds,
|
| + const gfx::Rect& new_bounds) {
|
| +}
|
| +
|
| +gfx::NativeCursor TouchHandleDrawableAura::GetCursor(const gfx::Point& point) {
|
| + return gfx::kNullCursor;
|
| +}
|
| +
|
| +int TouchHandleDrawableAura::GetNonClientComponent(
|
| + const gfx::Point& point) const {
|
| + return HTCLIENT;
|
| +}
|
| +
|
| +bool TouchHandleDrawableAura::ShouldDescendIntoChildForEventHandling(
|
| + aura::Window* child,
|
| + const gfx::Point& location) {
|
| + return false;
|
| +}
|
| +
|
| +bool TouchHandleDrawableAura::CanFocus() {
|
| + return false;
|
| +}
|
| +
|
| +void TouchHandleDrawableAura::OnCaptureLost() {
|
| +}
|
| +
|
| +void TouchHandleDrawableAura::OnPaint(gfx::Canvas* canvas) {
|
| + canvas->DrawColor(SK_ColorYELLOW);
|
| +}
|
| +
|
| +void TouchHandleDrawableAura::OnDeviceScaleFactorChanged(
|
| + float device_scale_factor) {
|
| +}
|
| +
|
| +void TouchHandleDrawableAura::OnWindowDestroying(aura::Window* window) {
|
| +}
|
| +
|
| +void TouchHandleDrawableAura::OnWindowDestroyed(aura::Window* window) {
|
| +}
|
| +
|
| +void TouchHandleDrawableAura::OnWindowTargetVisibilityChanged(bool visible) {
|
| +}
|
| +
|
| +bool TouchHandleDrawableAura::HasHitTestMask() const {
|
| + return false;
|
| +}
|
| +
|
| +void TouchHandleDrawableAura::GetHitTestMask(gfx::Path* mask) const {
|
| +}
|
| +
|
| +}
|
|
|