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

Unified Diff: ash/wm/dock/docked_window_layout_manager.h

Issue 23431009: Windows docking should get triggered by pressing against the screen edge (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Windows docking by pressing against the screen edge (rebase) Created 7 years, 3 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
« no previous file with comments | « no previous file | ash/wm/dock/docked_window_layout_manager.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: ash/wm/dock/docked_window_layout_manager.h
diff --git a/ash/wm/dock/docked_window_layout_manager.h b/ash/wm/dock/docked_window_layout_manager.h
index 399fa2d026c8f17ddf7c090b6c136e6f98213e6d..e4542b357cd270b8c0e202cd0000c56afb345d27 100644
--- a/ash/wm/dock/docked_window_layout_manager.h
+++ b/ash/wm/dock/docked_window_layout_manager.h
@@ -10,6 +10,7 @@
#include "ash/shell_observer.h"
#include "ash/wm/dock/dock_types.h"
#include "ash/wm/property_util.h"
+#include "ash/wm/workspace/snap_types.h"
#include "base/basictypes.h"
#include "base/compiler_specific.h"
#include "base/gtest_prod_util.h"
@@ -61,6 +62,9 @@ class ASH_EXPORT DockedWindowLayoutManager
public keyboard::KeyboardControllerObserver,
public ash::ShelfLayoutManagerObserver {
public:
+ // Maximum width of the docked windows area.
+ static const int kMaxDockWidth;
+
explicit DockedWindowLayoutManager(aura::Window* dock_container);
virtual ~DockedWindowLayoutManager();
@@ -94,6 +98,10 @@ class ASH_EXPORT DockedWindowLayoutManager
// Used to snap docked windows to the side of screen during drag.
DockedAlignment CalculateAlignment() const;
+ // Returns true when a window can be docked. Windows cannot be docked at the
+ // edge used by the launcher shelf or the edge opposite from existing dock.
+ bool CanDockWindow(aura::Window* window, SnapType edge);
+
aura::Window* dock_container() const { return dock_container_; }
// Returns current bounding rectangle of docked windows area.
@@ -102,6 +110,9 @@ class ASH_EXPORT DockedWindowLayoutManager
// Returns last known coordinates of |dragged_window_| after Relayout.
const gfx::Rect dragged_bounds() const { return dragged_bounds_;}
+ // Returns true if currently dragged window is docked at the screen edge.
+ bool is_dragged_window_docked() const { return is_dragged_window_docked_; }
+
// aura::LayoutManager:
virtual void OnWindowResized() OVERRIDE;
virtual void OnWindowAddedToLayout(aura::Window* child) OVERRIDE;
@@ -141,8 +152,6 @@ class ASH_EXPORT DockedWindowLayoutManager
FRIEND_TEST_ALL_PREFIXES(DockedWindowLayoutManagerTest, AutoPlacingLeft);
FRIEND_TEST_ALL_PREFIXES(DockedWindowLayoutManagerTest, AutoPlacingRight);
FRIEND_TEST_ALL_PREFIXES(DockedWindowLayoutManagerTest,
- AutoPlacingLeftSecondScreen);
- FRIEND_TEST_ALL_PREFIXES(DockedWindowLayoutManagerTest,
AutoPlacingRightSecondScreen);
friend class DockedWindowLayoutManagerTest;
friend class DockedWindowResizerTest;
@@ -150,9 +159,6 @@ class ASH_EXPORT DockedWindowLayoutManager
// Minimum width of the docked windows area.
static const int kMinDockWidth;
- // Maximum width of the docked windows area.
- static const int kMaxDockWidth;
-
// Width of the gap between the docked windows and a workspace.
static const int kMinDockGap;
« no previous file with comments | « no previous file | ash/wm/dock/docked_window_layout_manager.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698