1 // Copyright 2017 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_DISPLAY_SCREEN_ORIENTATION_CONTROLLER_TEST_API_H_
6 #define ASH_DISPLAY_SCREEN_ORIENTATION_CONTROLLER_TEST_API_H_
7 
8 #include "ash/display/display_configuration_controller.h"
9 #include "base/macros.h"
10 #include "ui/display/display.h"
11 
12 namespace ash {
13 class ScreenOrientationController;
14 
15 enum class OrientationLockType;
16 
17 class ScreenOrientationControllerTestApi {
18  public:
19   explicit ScreenOrientationControllerTestApi(
20       ScreenOrientationController* controller);
21 
22   void SetDisplayRotation(
23       display::Display::Rotation rotation,
24       display::Display::RotationSource source,
25       DisplayConfigurationController::RotationAnimation mode =
26           DisplayConfigurationController::ANIMATION_ASYNC);
27 
28   void SetRotationLocked(bool rotation_locked);
29 
30   OrientationLockType UserLockedOrientation() const;
31 
32   OrientationLockType GetCurrentOrientation() const;
33 
34   void UpdateNaturalOrientation();
35 
36  private:
37   ScreenOrientationController* controller_;
38 
39   DISALLOW_COPY_AND_ASSIGN(ScreenOrientationControllerTestApi);
40 };
41 
42 }  // namespace ash
43 
44 #endif  // ASH_DISPLAY_SCREEN_ORIENTATION_CONTROLLER_TEST_API_H_
45