| 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_;
|
|
|