OLD | NEW |
---|---|
1 // Copyright 2013 The Chromium Authors. All rights reserved. | 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 | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #ifndef ASH_DISPLAY_RESOLUTION_NOTIFICATION_CONTROLLER_H_ | 5 #ifndef ASH_DISPLAY_RESOLUTION_NOTIFICATION_CONTROLLER_H_ |
6 #define ASH_DISPLAY_RESOLUTION_NOTIFICATION_CONTROLLER_H_ | 6 #define ASH_DISPLAY_RESOLUTION_NOTIFICATION_CONTROLLER_H_ |
7 | 7 |
8 #include "ash/ash_export.h" | 8 #include "ash/ash_export.h" |
9 #include "ash/display/display_controller.h" | 9 #include "ash/display/display_controller.h" |
10 #include "base/callback.h" | 10 #include "base/callback.h" |
11 #include "base/gtest_prod_util.h" | 11 #include "base/gtest_prod_util.h" |
12 #include "base/timer/timer.h" | 12 #include "base/timer/timer.h" |
13 #include "ui/gfx/display_observer.h" | 13 #include "ui/gfx/display_observer.h" |
14 #include "ui/gfx/size.h" | 14 #include "ui/gfx/size.h" |
15 | 15 |
16 namespace chromeos { | 16 namespace chromeos { |
17 FORWARD_DECLARE_TEST(DisplayPreferencesTest, PreventStore); | 17 FORWARD_DECLARE_TEST(DisplayPreferencesTest, PreventStore); |
18 } // namespace chromeos | 18 } // namespace chromeos |
19 | 19 |
20 namespace views { | 20 namespace views { |
21 class Label; | 21 class Label; |
22 class Widget; | 22 class Widget; |
23 } // namespace views | 23 } // namespace views |
24 | 24 |
25 namespace ash { | 25 namespace ash { |
26 | 26 |
27 struct DisplayMode; | |
28 | |
27 // A class which manages the notification of display resolution change and | 29 // A class which manages the notification of display resolution change and |
28 // also manages the timeout in case the new resolution is unusable. | 30 // also manages the timeout in case the new resolution is unusable. |
29 class ASH_EXPORT ResolutionNotificationController | 31 class ASH_EXPORT ResolutionNotificationController |
30 : public gfx::DisplayObserver, | 32 : public gfx::DisplayObserver, |
31 public DisplayController::Observer { | 33 public DisplayController::Observer { |
32 public: | 34 public: |
33 ResolutionNotificationController(); | 35 ResolutionNotificationController(); |
34 virtual ~ResolutionNotificationController(); | 36 virtual ~ResolutionNotificationController(); |
35 | 37 |
36 // Updates the display resolution for |display_id| to |new_resolution| and | 38 // Updates the display resolution for |display_id| to |new_resolution| and |
37 // creates a notification for this change which offers a button to revert the | 39 // creates a notification for this change which offers a button to revert the |
38 // change in case something goes wrong. The notification times out if there's | 40 // change in case something goes wrong. The notification times out if there's |
39 // only one display connected and the user is trying to modify its resolution. | 41 // only one display connected and the user is trying to modify its resolution. |
40 // In that case, the timeout has to be set since the user cannot make any | 42 // In that case, the timeout has to be set since the user cannot make any |
41 // changes if something goes wrong. | 43 // changes if something goes wrong. |
42 void SetDisplayResolutionAndNotify( | 44 void SetDisplayResolutionAndNotify( |
43 int64 display_id, | 45 int64 display_id, |
44 const gfx::Size& old_resolution, | 46 const ash::DisplayMode& old_resolution, |
45 const gfx::Size& new_resolution, | 47 const ash::DisplayMode& new_resolution, |
oshima
2014/07/30 02:09:45
remove ash::
Jun Mukai
2014/07/30 02:18:31
Done.
| |
46 const base::Closure& accept_callback); | 48 const base::Closure& accept_callback); |
47 | 49 |
48 // Returns true if the notification is visible or scheduled to be visible and | 50 // Returns true if the notification is visible or scheduled to be visible and |
49 // the notification times out. | 51 // the notification times out. |
50 bool DoesNotificationTimeout(); | 52 bool DoesNotificationTimeout(); |
51 | 53 |
52 // Called by the notification delegate when the user accepts the display | 54 // Called by the notification delegate when the user accepts the display |
53 // resolution change. Set |close_notification| to true when the notification | 55 // resolution change. Set |close_notification| to true when the notification |
54 // should be removed. | 56 // should be removed. |
55 void AcceptResolutionChange(bool close_notification); | 57 void AcceptResolutionChange(bool close_notification); |
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
90 static void SuppressTimerForTest(); | 92 static void SuppressTimerForTest(); |
91 | 93 |
92 scoped_ptr<ResolutionChangeInfo> change_info_; | 94 scoped_ptr<ResolutionChangeInfo> change_info_; |
93 | 95 |
94 DISALLOW_COPY_AND_ASSIGN(ResolutionNotificationController); | 96 DISALLOW_COPY_AND_ASSIGN(ResolutionNotificationController); |
95 }; | 97 }; |
96 | 98 |
97 } // namespace ash | 99 } // namespace ash |
98 | 100 |
99 #endif // ASH_DISPLAY_RESOLUTION_NOTIFICATION_CONTROLLER_H_ | 101 #endif // ASH_DISPLAY_RESOLUTION_NOTIFICATION_CONTROLLER_H_ |
OLD | NEW |