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.
5 #ifndef UI_GFX_MAC_SCOPED_NS_DISABLE_SCREEN_UPDATES_H_
6 #define UI_GFX_MAC_SCOPED_NS_DISABLE_SCREEN_UPDATES_H_
8 #import <Cocoa/Cocoa.h>
10 #include "base/basictypes.h"
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
19 class ScopedNSDisableScreenUpdates
{
21 ScopedNSDisableScreenUpdates() {
22 NSDisableScreenUpdates();
24 ~ScopedNSDisableScreenUpdates() {
25 NSEnableScreenUpdates();
29 DISALLOW_COPY_AND_ASSIGN(ScopedNSDisableScreenUpdates
);
34 #endif // UI_GFX_MAC_SCOPED_NS_DISABLE_SCREEN_UPDATES_H_