// 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 ASH_SCREENSHOT_DELEGATE_H_ #define ASH_SCREENSHOT_DELEGATE_H_ namespace aura { class Window; } // namespace aura namespace gfx { class Rect; } // namespace gfx namespace ash { // Delegate for taking screenshots. class ScreenshotDelegate { public: virtual ~ScreenshotDelegate() {} // The actual task of taking a screenshot for each root window. // This method is called when the user wants to take a screenshot manually. virtual void HandleTakeScreenshotForAllRootWindows() = 0; // The actual task of taking a partial screenshot for the given // window. virtual void HandleTakePartialScreenshot( aura::Window* window, const gfx::Rect& rect) = 0; // Returns true if the system is ready to take screenshot. virtual bool CanTakeScreenshot() = 0; }; } // namespace ash #endif // ASH_SCREENSHOT_DELEGATE_H_