Flatten media_router.js.
[chromium-blink-merge.git] / ash / screenshot_delegate.h
blob9e7af06134f0aa907e0aa3d61c156831c320e7d7
1 // Copyright (c) 2012 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 ASH_SCREENSHOT_DELEGATE_H_
6 #define ASH_SCREENSHOT_DELEGATE_H_
8 namespace aura {
9 class Window;
10 } // namespace aura
12 namespace gfx {
13 class Rect;
14 } // namespace gfx
16 namespace ash {
18 // Delegate for taking screenshots.
19 class ScreenshotDelegate {
20 public:
21 virtual ~ScreenshotDelegate() {}
23 // The actual task of taking a screenshot for each root window.
24 // This method is called when the user wants to take a screenshot manually.
25 virtual void HandleTakeScreenshotForAllRootWindows() = 0;
27 // The actual task of taking a partial screenshot for the given
28 // window.
29 virtual void HandleTakePartialScreenshot(
30 aura::Window* window, const gfx::Rect& rect) = 0;
32 // Returns true if the system is ready to take screenshot.
33 virtual bool CanTakeScreenshot() = 0;
35 } // namespace ash
37 #endif // ASH_SCREENSHOT_DELEGATE_H_