This is an optimization that uses solid color detection to
[chromium-blink-merge.git] / athena / env / public / athena_env.h
blobb3bc8aa7d4f556967d81df5e31458f6930939d3a
1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 #ifndef ATHENA_ENV_PUBLIC_ATHENA_ENV_H_
6 #define ATHENA_ENV_PUBLIC_ATHENA_ENV_H_
8 #include "athena/athena_export.h"
9 #include "base/callback_forward.h"
11 namespace aura {
12 class WindowTreeHost;
15 namespace gfx {
16 class Insets;
19 namespace athena {
21 // AthenaEnv creates/shuts down the environment necessary to
22 // start Athena shell.
23 class ATHENA_EXPORT AthenaEnv {
24 public:
25 static void Create();
26 static AthenaEnv* Get();
27 static void Shutdown();
29 virtual ~AthenaEnv() {}
31 // Returns the single WindowTreeHost for the primary display.
32 virtual aura::WindowTreeHost* GetHost() = 0;
34 // Sets the insets for the primary displays's work area.
35 virtual void SetDisplayWorkAreaInsets(const gfx::Insets& insets) = 0;
37 // Adds the callback called when the athena is about to exit.
38 virtual void AddTerminatingCallback(const base::Closure& closure) = 0;
39 virtual void RemoveTerminatingCallback(const base::Closure& closure) = 0;
41 // Called when the athena is about to exist.
42 virtual void OnTerminating() = 0;
45 } // namespace athena
47 #endif // ATHENA_ENV_PUBLIC_ATHENA_ENV_H_