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 8 namespace aura { 9 class Window; 10 } // namespace aura 11 12 namespace gfx { 13 class Rect; 14 } // namespace gfx 15 16 namespace ash { 17 18 // Delegate for taking screenshots. 19 class 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