Index: ash/wm/gestures/border_gesture_handler.cc |
diff --git a/ash/wm/gestures/border_gesture_handler.cc b/ash/wm/gestures/border_gesture_handler.cc |
deleted file mode 100644 |
index 5124ff174aa010bf1dd20055cebbcb8e2201d856..0000000000000000000000000000000000000000 |
--- a/ash/wm/gestures/border_gesture_handler.cc |
+++ /dev/null |
@@ -1,171 +0,0 @@ |
-// Copyright (c) 2013 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 "ash/wm/gestures/border_gesture_handler.h" |
- |
-#include "ash/root_window_controller.h" |
-#include "ash/shelf/shelf_layout_manager.h" |
-#include "ash/shelf/shelf_types.h" |
-#include "ash/shelf/shelf_widget.h" |
-#include "ash/shell.h" |
-#include "base/command_line.h" |
-#include "base/string_util.h" |
-#include "base/strings/string_number_conversions.h" |
-#include "ui/aura/root_window.h" |
-#include "ui/base/events/event.h" |
-#include "ui/base/ui_base_switches.h" |
-#include "ui/gfx/screen.h" |
- |
-namespace ash { |
-namespace internal { |
- |
-BorderGestureHandler::BorderGestureHandler() |
- : orientation_(BORDER_SCROLL_ORIENTATION_UNSET) { |
-} |
- |
-BorderGestureHandler::~BorderGestureHandler() { |
-} |
- |
-bool BorderGestureHandler::ProcessGestureEvent(aura::Window* target, |
- const ui::GestureEvent& event) { |
- switch (event.type()) { |
- case ui::ET_GESTURE_SCROLL_BEGIN: |
- return HandleBorderGestureStart(target, event); |
- case ui::ET_GESTURE_SCROLL_UPDATE: |
- if (start_location_.any() && |
- DetermineGestureOrientation(event)) |
- return HandleBorderGestureUpdate(target, event); |
- break; |
- case ui::ET_GESTURE_SCROLL_END: |
- case ui::ET_SCROLL_FLING_START: |
- return HandleBorderGestureEnd(target, event); |
- default: |
- break; |
- } |
- // If the event is outside of the display region and targetted at the root |
- // window then it is on a bezel and not in another window. All bezel events |
- // should be consumed here since no other part of the stack handles them. |
- gfx::Rect screen = |
- Shell::GetScreen()->GetDisplayNearestWindow(target).bounds(); |
- if (!screen.Contains(event.location()) && |
- target == target->GetRootWindow()) |
- return true; |
- return false; |
-} |
- |
-bool BorderGestureHandler::HandleLauncherControl( |
- const ui::GestureEvent& event) { |
- ShelfLayoutManager* shelf = |
- Shell::GetPrimaryRootWindowController()->GetShelfLayoutManager(); |
- switch (shelf->GetAlignment()) { |
- case SHELF_ALIGNMENT_BOTTOM: |
- if (start_location_.test(BORDER_LOCATION_BOTTOM)) |
- return shelf_handler_.ProcessGestureEvent(event); |
- break; |
- case SHELF_ALIGNMENT_LEFT: |
- if (start_location_.test(BORDER_LOCATION_LEFT)) |
- return shelf_handler_.ProcessGestureEvent(event); |
- break; |
- case SHELF_ALIGNMENT_TOP: |
- if (start_location_.test(BORDER_LOCATION_TOP)) |
- return shelf_handler_.ProcessGestureEvent(event); |
- break; |
- case SHELF_ALIGNMENT_RIGHT: |
- if (start_location_.test(BORDER_LOCATION_RIGHT)) |
- return shelf_handler_.ProcessGestureEvent(event); |
- break; |
- } |
- return false; |
-} |
- |
-bool BorderGestureHandler::HandleBorderGestureStart( |
- aura::Window* target, |
- const ui::GestureEvent& event) { |
- orientation_ = BORDER_SCROLL_ORIENTATION_UNSET; |
- start_location_.reset(); |
- |
- gfx::Rect screen = |
- Shell::GetScreen()->GetDisplayNearestWindow(target).bounds(); |
- GestureStartInTargetArea(screen, event); |
- |
- if (start_location_.any()) |
- return HandleLauncherControl(event); |
- return false; |
-} |
- |
-bool BorderGestureHandler::HandleBorderGestureUpdate( |
- aura::Window* target, |
- const ui::GestureEvent& event) { |
- if (IsGestureInLauncherOrientation(event)) |
- return HandleLauncherControl(event); |
- return false; |
-} |
- |
-bool BorderGestureHandler::HandleBorderGestureEnd( |
- aura::Window* target, |
- const ui::GestureEvent& event) { |
- bool ret_val = HandleLauncherControl(event); |
- start_location_.reset(); |
- return ret_val; |
-} |
- |
-void BorderGestureHandler::GestureStartInTargetArea( |
- const gfx::Rect& screen, |
- const ui::GestureEvent& event) { |
- if (event.y() > screen.bottom()) |
- start_location_[BORDER_LOCATION_BOTTOM] = 1; |
- if (event.x() < screen.x()) |
- start_location_[BORDER_LOCATION_LEFT] = 1; |
- if (event.y() < screen.y()) |
- start_location_[BORDER_LOCATION_TOP] = 1; |
- if (event.x() > screen.right()) |
- start_location_[BORDER_LOCATION_RIGHT] = 1; |
-} |
- |
-bool BorderGestureHandler::DetermineGestureOrientation( |
- const ui::GestureEvent& event) { |
- if (orientation_ == BORDER_SCROLL_ORIENTATION_UNSET) { |
- if (!event.details().scroll_x() && !event.details().scroll_y()) |
- return false; |
- orientation_ = abs(event.details().scroll_y()) > |
- abs(event.details().scroll_x()) ? |
- BORDER_SCROLL_ORIENTATION_VERTICAL : |
- BORDER_SCROLL_ORIENTATION_HORIZONTAL; |
- } |
- return true; |
-} |
- |
-bool BorderGestureHandler::IsGestureInLauncherOrientation( |
- const ui::GestureEvent& event) { |
- BorderScrollOrientation new_orientation = abs(event.details().scroll_y()) > |
- abs(event.details().scroll_x()) ? |
- BORDER_SCROLL_ORIENTATION_VERTICAL : BORDER_SCROLL_ORIENTATION_HORIZONTAL; |
- if (new_orientation != orientation_) |
- return false; |
- |
- ShelfLayoutManager* shelf = |
- Shell::GetPrimaryRootWindowController()->GetShelfLayoutManager(); |
- switch (shelf->GetAlignment()) { |
- case SHELF_ALIGNMENT_BOTTOM: |
- if (orientation_ == BORDER_SCROLL_ORIENTATION_VERTICAL) |
- return true; |
- break; |
- case SHELF_ALIGNMENT_LEFT: |
- if (orientation_ == BORDER_SCROLL_ORIENTATION_HORIZONTAL) |
- return true; |
- break; |
- case SHELF_ALIGNMENT_TOP: |
- if (orientation_ == BORDER_SCROLL_ORIENTATION_VERTICAL) |
- return true; |
- break; |
- case SHELF_ALIGNMENT_RIGHT: |
- if (orientation_ == BORDER_SCROLL_ORIENTATION_HORIZONTAL) |
- return true; |
- break; |
- } |
- return false; |
-} |
- |
-} // namespace internal |
-} // namespace ash |