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

Unified Diff: ui/aura_shell/workspace/workspace_manager.h

Issue 8391035: Drag and rotate windows (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: rotate windows Created 9 years, 2 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: ui/aura_shell/workspace/workspace_manager.h
diff --git a/ui/aura_shell/workspace/workspace_manager.h b/ui/aura_shell/workspace/workspace_manager.h
index 925fea24925d445180e7eb5e2fb4385bb8f81b26..a9a7123da63bdfefef2b32b60c5e8eafceab4dcc 100644
--- a/ui/aura_shell/workspace/workspace_manager.h
+++ b/ui/aura_shell/workspace/workspace_manager.h
@@ -44,6 +44,9 @@ class AURA_SHELL_EXPORT WorkspaceManager : public aura::DesktopObserver {
// Returns the workspace that contanis the |window|.
Workspace* FindBy(aura::Window* window) const;
+ // Returns the window for rotate operation based on the |location|.
+ aura::Window* FindRotateWindowForLocation(const gfx::Point& location);
+
// Sets the bounds of all workspaces.
void LayoutWorkspaces();
@@ -54,6 +57,9 @@ class AURA_SHELL_EXPORT WorkspaceManager : public aura::DesktopObserver {
void SetOverview(bool overview);
bool is_overview() const { return is_overview_; }
+ // Rotate windows by moving |source| window to the position of |target|.
+ void RotateWindows(aura::Window* source, aura::Window* target);
+
// Overridden from aura::DesktopObserver:
virtual void OnDesktopResized(const gfx::Size& new_size) OVERRIDE;
virtual void OnActiveWindowChanged(aura::Window* active) OVERRIDE;
@@ -62,6 +68,7 @@ class AURA_SHELL_EXPORT WorkspaceManager : public aura::DesktopObserver {
friend class Workspace;
FRIEND_TEST_ALL_PREFIXES(WorkspaceManagerTest, Overview);
FRIEND_TEST_ALL_PREFIXES(WorkspaceManagerTest, LayoutWorkspaces);
+ FRIEND_TEST_ALL_PREFIXES(WorkspaceManagerTest, FindRotateWindow);
void AddWorkspace(Workspace* workspace);
void RemoveWorkspace(Workspace* workspace);
@@ -72,6 +79,9 @@ class AURA_SHELL_EXPORT WorkspaceManager : public aura::DesktopObserver {
// Returns the bounds of the work are given |workspace_bounds|.
gfx::Rect GetWorkAreaBounds(const gfx::Rect& workspace_bounds);
+ // Returns the index of the workspace that contains the |window|.
+ int GetWorkspaceIndexContaining(aura::Window* window) const;
+
// Update viewport size and move to the active workspace.
void UpdateViewport();

Powered by Google App Engine
This is Rietveld 408576698