OLD | NEW |
| (Empty) |
1 // Copyright (c) 2011 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 UI_GFX_MAC_SCOPED_NS_DISABLE_SCREEN_UPDATES_H_ | |
6 #define UI_GFX_MAC_SCOPED_NS_DISABLE_SCREEN_UPDATES_H_ | |
7 | |
8 #import <Cocoa/Cocoa.h> | |
9 | |
10 #include "base/basictypes.h" | |
11 | |
12 namespace gfx { | |
13 | |
14 // A stack-based class to disable Cocoa screen updates. When instantiated, it | |
15 // disables screen updates and enables them when destroyed. Update disabling | |
16 // can be nested, and there is a time-maximum (about 1 second) after which | |
17 // Cocoa will automatically re-enable updating. This class doesn't attempt to | |
18 // overrule that. | |
19 class ScopedNSDisableScreenUpdates { | |
20 public: | |
21 ScopedNSDisableScreenUpdates() { | |
22 NSDisableScreenUpdates(); | |
23 } | |
24 ~ScopedNSDisableScreenUpdates() { | |
25 NSEnableScreenUpdates(); | |
26 } | |
27 | |
28 private: | |
29 DISALLOW_COPY_AND_ASSIGN(ScopedNSDisableScreenUpdates); | |
30 }; | |
31 | |
32 } // namespace gfx | |
33 | |
34 #endif // UI_GFX_MAC_SCOPED_NS_DISABLE_SCREEN_UPDATES_H_ | |
OLD | NEW |