diff options
Diffstat (limited to 'chromium/ui/views/corewm/capture_controller.h')
-rw-r--r-- | chromium/ui/views/corewm/capture_controller.h | 88 |
1 files changed, 0 insertions, 88 deletions
diff --git a/chromium/ui/views/corewm/capture_controller.h b/chromium/ui/views/corewm/capture_controller.h deleted file mode 100644 index e7d1ffd6eca..00000000000 --- a/chromium/ui/views/corewm/capture_controller.h +++ /dev/null @@ -1,88 +0,0 @@ -// Copyright (c) 2012 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 UI_VIEWS_COREWM_CAPTURE_CONTROLLER_H_ -#define UI_VIEWS_COREWM_CAPTURE_CONTROLLER_H_ - -#include <set> - -#include "base/basictypes.h" -#include "base/compiler_specific.h" -#include "ui/aura/client/capture_client.h" -#include "ui/aura/window_observer.h" -#include "ui/views/views_export.h" - -namespace views { -namespace corewm { - -// Internal CaptureClient implementation. See ScopedCaptureClient for details. -class VIEWS_EXPORT CaptureController : public aura::client::CaptureClient { - public: - // Adds |root| to the list of RootWindows notified when capture changes. - void Attach(aura::Window* root); - - // Removes |root| from the list of RootWindows notified when capture changes. - void Detach(aura::Window* root); - - // Returns true if this CaptureController is installed on at least one - // RootWindow. - bool is_active() const { return !root_windows_.empty(); } - - // Overridden from aura::client::CaptureClient: - virtual void SetCapture(aura::Window* window) OVERRIDE; - virtual void ReleaseCapture(aura::Window* window) OVERRIDE; - virtual aura::Window* GetCaptureWindow() OVERRIDE; - virtual aura::Window* GetGlobalCaptureWindow() OVERRIDE; - - private: - friend class ScopedCaptureClient; - typedef std::set<aura::Window*> RootWindows; - - CaptureController(); - virtual ~CaptureController(); - - // The current capture window. NULL if there is no capture window. - aura::Window* capture_window_; - - // Set of RootWindows notified when capture changes. - RootWindows root_windows_; - - DISALLOW_COPY_AND_ASSIGN(CaptureController); -}; - -// ScopedCaptureClient is responsible for creating a CaptureClient for a -// RootWindow. Specifically it creates a single CaptureController that is shared -// among all ScopedCaptureClients and adds the RootWindow to it. -class VIEWS_EXPORT ScopedCaptureClient : public aura::WindowObserver { - public: - explicit ScopedCaptureClient(aura::Window* root); - virtual ~ScopedCaptureClient(); - - // Returns true if there is a CaptureController with at least one RootWindow. - static bool IsActive(); - - aura::client::CaptureClient* capture_client() { - return capture_controller_; - } - - // Overridden from aura::WindowObserver: - virtual void OnWindowDestroyed(aura::Window* window) OVERRIDE; - - private: - // Invoked from destructor and OnWindowDestroyed() to cleanup. - void Shutdown(); - - // The single CaptureController instance. - static CaptureController* capture_controller_; - - // RootWindow this ScopedCaptureClient was create for. - aura::Window* root_window_; - - DISALLOW_COPY_AND_ASSIGN(ScopedCaptureClient); -}; - -} // namespace corewm -} // namespace views - -#endif // UI_VIEWS_COREWM_CAPTURE_CONTROLLER_H_ |