| Index: athena/screen/screen_manager_impl.h
|
| diff --git a/athena/screen/screen_manager_impl.h b/athena/screen/screen_manager_impl.h
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..17385428a9c9a6a4f3d34fd0c2790ed8136c2a9b
|
| --- /dev/null
|
| +++ b/athena/screen/screen_manager_impl.h
|
| @@ -0,0 +1,72 @@
|
| +// Copyright 2014 The Chromium Authors. All rights reserved.
|
| +// Use of this source code is governed by a BSD-style license that can be
|
| +// found in the LICENSE file.
|
| +
|
| +#ifndef ATHENA_SCREEN_SCREEN_MANAGER_IMPL_H_
|
| +#define ATHENA_SCREEN_SCREEN_MANAGER_IMPL_H_
|
| +
|
| +#include "athena/athena_export.h"
|
| +#include "athena/screen/public/screen_manager.h"
|
| +#include "base/memory/scoped_ptr.h"
|
| +#include "ui/aura/client/window_tree_client.h"
|
| +
|
| +namespace aura {
|
| +namespace client {
|
| +class FocusClient;
|
| +class ScreenPositionClient;
|
| +}
|
| +}
|
| +
|
| +namespace wm {
|
| +class ScopedCaptureClient;
|
| +}
|
| +
|
| +namespace athena {
|
| +class AcceleratorHandler;
|
| +
|
| +class ATHENA_EXPORT ScreenManagerImpl : public ScreenManager,
|
| + public aura::client::WindowTreeClient {
|
| + public:
|
| + explicit ScreenManagerImpl(aura::Window* root_window);
|
| + virtual ~ScreenManagerImpl();
|
| +
|
| + void Init();
|
| +
|
| + // Returns a container which has |priority|. Null if such container
|
| + // doesn't exist.
|
| + aura::Window* FindContainerByPriority(int priority);
|
| +
|
| + private:
|
| + // ScreenManager:
|
| + virtual aura::Window* CreateContainer(const ContainerParams& params) override;
|
| + virtual aura::Window* GetContext() override;
|
| + virtual void SetRotation(gfx::Display::Rotation rotation) override;
|
| + virtual void SetRotationLocked(bool rotation_locked) override;
|
| +
|
| + // aura::client::WindowTreeClient:
|
| + virtual aura::Window* GetDefaultParent(aura::Window* context,
|
| + aura::Window* window,
|
| + const gfx::Rect& bounds) override;
|
| +
|
| + int GetModalContainerPriority(aura::Window* window, aura::Window* parent);
|
| +
|
| + // Returns a container with |params.default_parent| == true.
|
| + aura::Window* GetDefaultContainer();
|
| +
|
| + // Not owned.
|
| + aura::Window* root_window_;
|
| +
|
| + scoped_ptr<aura::client::FocusClient> focus_client_;
|
| + scoped_ptr<AcceleratorHandler> accelerator_handler_;
|
| + scoped_ptr<::wm::ScopedCaptureClient> capture_client_;
|
| + scoped_ptr<aura::client::ScreenPositionClient> screen_position_client_;
|
| +
|
| + gfx::Display::Rotation last_requested_rotation_;
|
| + bool rotation_locked_;
|
| +
|
| + DISALLOW_COPY_AND_ASSIGN(ScreenManagerImpl);
|
| +};
|
| +
|
| +} // namespace athena
|
| +
|
| +#endif // ATHENA_SCREEN_SCREEN_MANAGER_IMPL_H_
|
|
|