Home | History | Annotate | Download | only in ash
      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