Implement MoveFileLocal (with creating a snapshot).
[chromium-blink-merge.git] / ui / gfx / mac / scoped_ns_disable_screen_updates.h
blob86b368cc8b5d67ac8b5ca4c5a5ffa72ef4cc0d68
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"
12 namespace gfx {
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();
24 ~ScopedNSDisableScreenUpdates() {
25 NSEnableScreenUpdates();
28 private:
29 DISALLOW_COPY_AND_ASSIGN(ScopedNSDisableScreenUpdates);
32 } // namespace gfx
34 #endif // UI_GFX_MAC_SCOPED_NS_DISABLE_SCREEN_UPDATES_H_