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

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

Issue 8381015: Add workspace to desktop (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: temporarily exlucde tests failing on win 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
« no previous file with comments | « ui/aura_shell/shell.cc ('k') | ui/aura_shell/workspace/workspace.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: ui/aura_shell/workspace/workspace.h
diff --git a/ui/aura_shell/workspace/workspace.h b/ui/aura_shell/workspace/workspace.h
index 6bd4bb879c109b06e7554e842416642e2149d1a3..136c88bc24ee9dfef4a62e3ef880edaa081e94cf 100644
--- a/ui/aura_shell/workspace/workspace.h
+++ b/ui/aura_shell/workspace/workspace.h
@@ -20,15 +20,13 @@ namespace aura_shell {
class WorkspaceManager;
class WorkspaceTest;
-// A workspace is a partial area of the entire desktop that is visible to
-// a user at a given time. The size of workspace is generally same as
-// the size of the monitor, and the desktiop can have multiple workspaces.
-// One workspace can contains limited number of windows and
-// the workspace manager may create new workspace if there is
-// no room for new windowk.
-//
-// TODO(oshima): Add a work area bounds for workspace. It will be used to
-// limit the resize, layout and as bounds for a maximized window.
+// A workspace is a partial area of the entire desktop (viewport) that
+// is visible to the user at a given time. The size of the workspace is
+// generally the same as the size of the monitor, and the desktop can
+// have multiple workspaces.
+// A workspace contains a limited number of windows and the workspace
+// manager may create a new workspace if there is not enough room for
+// a new window.
class AURA_SHELL_EXPORT Workspace {
public:
explicit Workspace(WorkspaceManager* manager);
@@ -41,6 +39,10 @@ class AURA_SHELL_EXPORT Workspace {
const gfx::Rect& bounds() { return bounds_; }
void SetBounds(const gfx::Rect& bounds);
+ // Returns the work area bounds of this workspace in viewport
+ // coordinates.
+ gfx::Rect GetWorkAreaBounds() const;
+
// Adds the |window| at the position after the window |after|. It
// inserts at the end if |after| is NULL. Return true if the
// |window| was successfully added to this workspace, or false if it
@@ -56,6 +58,10 @@ class AURA_SHELL_EXPORT Workspace {
// 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);
+
private:
FRIEND_TEST_ALL_PREFIXES(WorkspaceTest, WorkspaceBasic);
@@ -65,6 +71,12 @@ class AURA_SHELL_EXPORT Workspace {
// Returns true if the given |window| can be added to this workspace.
bool CanAdd(aura::Window* window) const;
+ // Moves |window| to the given point. It performs animation when
+ // |animate| is true.
+ void MoveWindowTo(aura::Window* window,
+ const gfx::Point& origin,
+ bool animate);
+
WorkspaceManager* workspace_manager_;
gfx::Rect bounds_;
« no previous file with comments | « ui/aura_shell/shell.cc ('k') | ui/aura_shell/workspace/workspace.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698