// 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_MUTATOR_HOST_H_ #define CC_TREES_MUTATOR_HOST_H_ #include <memory> #include <vector> #include "base/time/time.h" #include "cc/paint/element_id.h" #include "cc/trees/layer_tree_mutator.h" #include "cc/trees/mutator_host_client.h" #include "ui/gfx/geometry/box_f.h" #include "ui/gfx/geometry/point_f.h" #include "ui/gfx/geometry/vector2d_f.h" namespace cc { class MutatorEvents; class MutatorHostClient; class LayerTreeMutator; class PropertyTrees; class ScrollTree; // Used as the return value of GetAnimationScales() to indicate that there is // no active transform animation or the scale cannot be computed. inline constexpr float kInvalidScale = …; // A MutatorHost owns all the animation and mutation effects. // There is just one MutatorHost for LayerTreeHost on main renderer thread // and just one MutatorHost for LayerTreeHostImpl on the impl thread. // We synchronize them during the commit in a one-way data-flow process // (PushPropertiesTo). // A MutatorHost talks to its correspondent LayerTreeHost via // MutatorHostClient interface. class MutatorHost { … }; class MutatorEvents { … }; } // namespace cc #endif // CC_TREES_MUTATOR_HOST_H_