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