#include "ui/compositor/scoped_layer_animation_settings.h"
#include <stddef.h>
#include "base/memory/raw_ptr.h"
#include "base/observer_list.h"
#include "ui/compositor/layer.h"
#include "ui/compositor/layer_animation_observer.h"
#include "ui/compositor/layer_animation_sequence.h"
#include "ui/compositor/layer_animator.h"
#include "ui/compositor/layer_observer.h"
namespace ui {
namespace {
const int kScopedLayerAnimationDefaultTransitionDurationMs = …;
template <typename Trait>
class ScopedLayerAnimationObserver : public ui::ImplicitAnimationObserver,
public ui::LayerObserver { … };
struct RenderSurfaceCachingTrait { … };
ScopedRenderSurfaceCaching;
struct DeferredPaintingTrait { … };
ScopedDeferredPainting;
struct TrilinearFilteringTrait { … };
ScopedTrilinearFiltering;
void AddObserverToSettings(
ui::ScopedLayerAnimationSettings* settings,
std::unique_ptr<ui::ImplicitAnimationObserver> observer) { … }
void AddScopedDeferredPaintingObserverRecursive(
ui::Layer* layer,
ui::ScopedLayerAnimationSettings* settings) { … }
}
ScopedLayerAnimationSettings::ScopedLayerAnimationSettings(
scoped_refptr<LayerAnimator> animator)
: … { … }
ScopedLayerAnimationSettings::~ScopedLayerAnimationSettings() { … }
void ScopedLayerAnimationSettings::AddObserver(
ImplicitAnimationObserver* observer) { … }
void ScopedLayerAnimationSettings::SetTransitionDuration(
base::TimeDelta duration) { … }
base::TimeDelta ScopedLayerAnimationSettings::GetTransitionDuration() const { … }
void ScopedLayerAnimationSettings::LockTransitionDuration() { … }
void ScopedLayerAnimationSettings::SetTweenType(gfx::Tween::Type tween_type) { … }
gfx::Tween::Type ScopedLayerAnimationSettings::GetTweenType() const { … }
void ScopedLayerAnimationSettings::SetPreemptionStrategy(
LayerAnimator::PreemptionStrategy strategy) { … }
LayerAnimator::PreemptionStrategy
ScopedLayerAnimationSettings::GetPreemptionStrategy() const { … }
void ScopedLayerAnimationSettings::CacheRenderSurface() { … }
void ScopedLayerAnimationSettings::DeferPaint() { … }
void ScopedLayerAnimationSettings::TrilinearFiltering() { … }
}