1 // Copyright 2013 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_TEST_SCREENSHOT_DELEGATE_H_ 6 #define ASH_TEST_SCREENSHOT_DELEGATE_H_ 7 8 #include "ash/screenshot_delegate.h" 9 #include "base/macros.h" 10 #include "ui/gfx/geometry/rect.h" 11 12 namespace ash { 13 14 class TestScreenshotDelegate : public ScreenshotDelegate { 15 public: 16 TestScreenshotDelegate(); 17 ~TestScreenshotDelegate() override; 18 19 // Overridden from ScreenshotDelegate: 20 void HandleTakeScreenshotForAllRootWindows() override; 21 void HandleTakePartialScreenshot(aura::Window* window, 22 const gfx::Rect& rect) override; 23 void HandleTakeWindowScreenshot(aura::Window* window) override; 24 bool CanTakeScreenshot() override; 25 handle_take_screenshot_count()26 int handle_take_screenshot_count() const { 27 return handle_take_screenshot_count_; 28 } 29 handle_take_partial_screenshot_count()30 int handle_take_partial_screenshot_count() const { 31 return handle_take_partial_screenshot_count_; 32 } 33 handle_take_window_screenshot_count()34 int handle_take_window_screenshot_count() const { 35 return handle_take_window_screenshot_count_; 36 } 37 reset_handle_take_screenshot_count()38 void reset_handle_take_screenshot_count() { 39 handle_take_screenshot_count_ = 0; 40 } 41 reset_all_screenshot_counts()42 void reset_all_screenshot_counts() { 43 handle_take_screenshot_count_ = 0; 44 handle_take_partial_screenshot_count_ = 0; 45 handle_take_window_screenshot_count_ = 0; 46 } 47 last_rect()48 const gfx::Rect& last_rect() const { return last_rect_; } 49 50 const aura::Window* GetSelectedWindowAndReset(); 51 set_can_take_screenshot(bool can_take_screenshot)52 void set_can_take_screenshot(bool can_take_screenshot) { 53 can_take_screenshot_ = can_take_screenshot; 54 } 55 56 private: 57 int handle_take_screenshot_count_ = 0; 58 int handle_take_partial_screenshot_count_ = 0; 59 int handle_take_window_screenshot_count_ = 0; 60 gfx::Rect last_rect_; 61 bool can_take_screenshot_ = true; 62 aura::Window* selected_window_ = nullptr; 63 64 DISALLOW_COPY_AND_ASSIGN(TestScreenshotDelegate); 65 }; 66 67 } // namespace ash 68 69 #endif // ASH_TEST_SCREENSHOT_DELEGATE_H_ 70