// Copyright 2018 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #ifndef ASH_SCOPED_ANIMATION_DISABLER_H_ #define ASH_SCOPED_ANIMATION_DISABLER_H_ #include "ash/ash_export.h" namespace aura { class Window; } namespace ash { // Helper class to perform window state changes without animations. Used to hide // /show/minimize windows without having their animation interfere with the ones // this class is in charge of. class ASH_EXPORT ScopedAnimationDisabler { public: explicit ScopedAnimationDisabler(aura::Window* window); ScopedAnimationDisabler(const ScopedAnimationDisabler&) = delete; ScopedAnimationDisabler& operator=(const ScopedAnimationDisabler&) = delete; ~ScopedAnimationDisabler(); private: aura::Window* const window_; bool needs_disable_ = false; }; } // namespace ash #endif // ASH_SCOPED_ANIMATION_DISABLER_H_