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. 4 5#ifndef ASH_SCREENSHOT_DELEGATE_H_ 6#define ASH_SCREENSHOT_DELEGATE_H_ 7 8namespace aura { 9class Window; 10} // namespace aura 11 12namespace gfx { 13class Rect; 14} // namespace gfx 15 16namespace ash { 17 18// Delegate for taking screenshots. 19class ScreenshotDelegate { 20 public: 21 virtual ~ScreenshotDelegate() {} 22 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; 26 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; 31 32 // Returns true if the system is ready to take screenshot. 33 virtual bool CanTakeScreenshot() = 0; 34}; 35} // namespace ash 36 37#endif // ASH_SCREENSHOT_DELEGATE_H_ 38