| Index: chrome/browser/ui/panels/panel_drag_controller.h
|
| diff --git a/chrome/browser/ui/panels/panel_drag_controller.h b/chrome/browser/ui/panels/panel_drag_controller.h
|
| deleted file mode 100644
|
| index 11692d6287737576e8884b265307cdc3b0a19fde..0000000000000000000000000000000000000000
|
| --- a/chrome/browser/ui/panels/panel_drag_controller.h
|
| +++ /dev/null
|
| @@ -1,105 +0,0 @@
|
| -// Copyright (c) 2012 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 CHROME_BROWSER_UI_PANELS_PANEL_DRAG_CONTROLLER_H_
|
| -#define CHROME_BROWSER_UI_PANELS_PANEL_DRAG_CONTROLLER_H_
|
| -
|
| -#include <memory>
|
| -
|
| -#include "base/macros.h"
|
| -#include "chrome/browser/ui/panels/panel_collection.h"
|
| -#include "ui/gfx/geometry/vector2d.h"
|
| -
|
| -class Panel;
|
| -class PanelCollection;
|
| -class PanelManager;
|
| -namespace gfx {
|
| -class Point;
|
| -class Rect;
|
| -}
|
| -
|
| -// Controls all the drags initiated for all panels, including detaching,
|
| -// docking, stacking, snapping and intra-collection dragging.
|
| -class PanelDragController {
|
| - public:
|
| - explicit PanelDragController(PanelManager* panel_manager);
|
| - ~PanelDragController();
|
| -
|
| - // Drags the given panel.
|
| - // |mouse_location| is in screen coordinate system.
|
| - void StartDragging(Panel* panel, const gfx::Point& mouse_location);
|
| - void Drag(const gfx::Point& mouse_location);
|
| - void EndDragging(bool cancelled);
|
| -
|
| - // Asynchronous confirmation of panel having been closed.
|
| - void OnPanelClosed(Panel* panel);
|
| -
|
| - bool is_dragging() const { return dragging_panel_ != NULL; }
|
| - Panel* dragging_panel() const { return dragging_panel_; }
|
| -
|
| - // For testing.
|
| - static int GetDetachDockedPanelThresholdForTesting();
|
| - static int GetDockDetachedPanelThresholdForTesting();
|
| - static int GetGluePanelDistanceThresholdForTesting();
|
| - static int GetGluePanelOverlapThresholdForTesting();
|
| - static int GetSnapPanelToScreenEdgeThresholdForTesting();
|
| -
|
| - private:
|
| - enum GlueAction {
|
| - STACK,
|
| - SNAP
|
| - };
|
| -
|
| - enum GlueEdge {
|
| - TOP_EDGE,
|
| - BOTTOM_EDGE,
|
| - LEFT_EDGE,
|
| - RIGHT_EDGE
|
| - };
|
| -
|
| - gfx::Point GetPanelPositionForMouseLocation(
|
| - const gfx::Point& mouse_location) const;
|
| -
|
| - // |target_position| is in screen coordinate systems. It contains the proposed
|
| - // panel origin to move to. Returns true if the request has been performed.
|
| - void TryDetach(const gfx::Point& target_position);
|
| - void TryDock(const gfx::Point& target_position);
|
| - void TryStack(const gfx::Point& target_position);
|
| - bool TryUnstackFromTop(const gfx::Point& target_position);
|
| - bool TryUnstackFromBottom(const gfx::Point& target_position);
|
| - void TrySnap(gfx::Point* target_position);
|
| -
|
| - // Finds the panel that the dragging panel with |potential_position| could
|
| - // snap to or stack with. If such panel is found, |target_bounds| contains the
|
| - // new bounds for the dragging panel and |target_edge| contains the matched
|
| - // edge.
|
| - Panel* FindPanelToGlue(const gfx::Point& potential_position,
|
| - GlueAction action,
|
| - gfx::Rect* target_bounds,
|
| - GlueEdge* target_edge) const;
|
| -
|
| - // Moves the |panel| (and all panels below if it is in a stack) to a different
|
| - // collection.
|
| - void MovePanelAndBelowToCollection(
|
| - Panel* panel,
|
| - PanelCollection* target_collection,
|
| - PanelCollection::PositioningMask positioning_mask) const;
|
| -
|
| - PanelManager* panel_manager_; // Weak, owns us.
|
| - bool panel_stacking_enabled_;
|
| -
|
| - // Panel currently being dragged.
|
| - Panel* dragging_panel_;
|
| -
|
| - // The original panel collection when the drag is started.
|
| - PanelCollection* dragging_panel_original_collection_;
|
| -
|
| - // The offset from mouse location to the panel position when the drag
|
| - // starts.
|
| - gfx::Vector2d offset_from_mouse_location_on_drag_start_;
|
| -
|
| - DISALLOW_COPY_AND_ASSIGN(PanelDragController);
|
| -};
|
| -
|
| -#endif // CHROME_BROWSER_UI_PANELS_PANEL_DRAG_CONTROLLER_H_
|
|
|