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

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

Issue 8391035: Drag and rotate windows (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: " 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.h
diff --git a/ui/aura_shell/workspace/workspace.h b/ui/aura_shell/workspace/workspace.h
index 136c88bc24ee9dfef4a62e3ef880edaa081e94cf..86a9849c2bd7504870739e5870315dfebe3ab7bc 100644
--- a/ui/aura_shell/workspace/workspace.h
+++ b/ui/aura_shell/workspace/workspace.h
@@ -55,12 +55,26 @@ class AURA_SHELL_EXPORT Workspace {
// Return true if this workspace has the |window|.
bool Contains(aura::Window* window) const;
+ // Returns a window to swap based on the |position|. See implementation
sky 2011/10/27 00:53:03 I would nuke the second sentence and leave it at t
oshima 2011/10/27 16:16:27 Done.
+ // for more details about exactly how a window is selected.
+ aura::Window* FindSwapWindowForLocation(const gfx::Point& position);
+
+ // Swaps the location of window |drag| and window |target| within this
+ // workspace. It re-layouts windows except for the window |drag|.
+ void SwapWindow(aura::Window* drag, aura::Window* target);
sky 2011/10/27 00:53:03 nit: rename 'drag' to 'source' and name this SwapW
oshima 2011/10/27 16:16:27 Done.
+
+ // Replaces the window |window| in this workspace with |with|. It re-layouts
+ // only when |relayout| is true.
+ void ReplaceWindow(aura::Window* window, aura::Window* with, bool relayout);
+
// Activates this workspace.
void Activate();
- // Layout windows. Moving animation is applied to all windows except
- // for the window specified by |no_animation|.
- void Layout(aura::Window* no_animation);
+ // Layout windows. The workspace doesn't set bounds on the |ignore| if it's
+ // given. It still uses the |ignore| window's bounds to calculate
+ // bounds for other windows. Moving animation is applied to all
+ // windows except for the window specified by |no_animation| and |ignore|.
+ void Layout(aura::Window* ignore, aura::Window* no_animation);
private:
FRIEND_TEST_ALL_PREFIXES(WorkspaceTest, WorkspaceBasic);
@@ -77,6 +91,9 @@ class AURA_SHELL_EXPORT Workspace {
const gfx::Point& origin,
bool animate);
+ // Returns the sum of all window's width.
+ int GetTotalWindowsWidth() const;
+
WorkspaceManager* workspace_manager_;
gfx::Rect bounds_;

Powered by Google App Engine
This is Rietveld 408576698