chromium/cc/trees/layer_tree_mutator.h

// Copyright 2016 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#ifndef CC_TREES_LAYER_TREE_MUTATOR_H_
#define CC_TREES_LAYER_TREE_MUTATOR_H_

#include <memory>
#include <optional>
#include <string>
#include <unordered_map>
#include <vector>

#include "base/check.h"
#include "base/functional/callback_forward.h"
#include "base/time/time.h"
#include "cc/cc_export.h"
#include "cc/trees/animation_effect_timings.h"
#include "cc/trees/animation_options.h"

namespace cc {

// TOOD(kevers): Remove kDrop once confirmed that it is no longer needed under
// any circumstances.
enum class MutateQueuingStrategy {};

enum class MutateStatus {};

struct CC_EXPORT WorkletAnimationId {};

struct CC_EXPORT AnimationWorkletInput {};

class CC_EXPORT MutatorInputState {};

struct CC_EXPORT AnimationWorkletOutput {};

// LayerTreeMutatorClient processes worklet outputs individually so we can
// define mutator output to be the same as animation worklet output.
MutatorOutputState;

class LayerTreeMutatorClient {};

class CC_EXPORT LayerTreeMutator {};

}  // namespace cc

#endif  // CC_TREES_LAYER_TREE_MUTATOR_H_