#include "third_party/blink/renderer/core/animation/css_transform_interpolation_type.h"
#include <memory>
#include <utility>
#include "third_party/blink/renderer/core/animation/interpolable_transform_list.h"
#include "third_party/blink/renderer/core/animation/length_units_checker.h"
#include "third_party/blink/renderer/core/css/css_function_value.h"
#include "third_party/blink/renderer/core/css/css_primitive_value.h"
#include "third_party/blink/renderer/core/css/css_value_list.h"
#include "third_party/blink/renderer/core/css/resolver/style_resolver.h"
#include "third_party/blink/renderer/core/css/resolver/style_resolver_state.h"
#include "third_party/blink/renderer/core/css/resolver/transform_builder.h"
#include "third_party/blink/renderer/core/style/computed_style.h"
#include "third_party/blink/renderer/platform/transforms/transform_operations.h"
#include "third_party/blink/renderer/platform/transforms/translate_transform_operation.h"
namespace blink {
namespace {
InterpolationValue ConvertTransform(TransformOperations&& transform) { … }
InterpolationValue ConvertTransform(const TransformOperations& transform) { … }
class InheritedTransformChecker
: public CSSInterpolationType::CSSConversionChecker { … };
class AlwaysInvalidateChecker
: public CSSInterpolationType::CSSConversionChecker { … };
}
InterpolationValue CSSTransformInterpolationType::MaybeConvertNeutral(
const InterpolationValue& underlying,
ConversionCheckers&) const { … }
InterpolationValue CSSTransformInterpolationType::MaybeConvertInitial(
const StyleResolverState& state,
ConversionCheckers&) const { … }
InterpolationValue CSSTransformInterpolationType::MaybeConvertInherit(
const StyleResolverState& state,
ConversionCheckers& conversion_checkers) const { … }
InterpolationValue CSSTransformInterpolationType::MaybeConvertValue(
const CSSValue& value,
const StyleResolverState* state,
ConversionCheckers& conversion_checkers) const { … }
InterpolationValue
CSSTransformInterpolationType::PreInterpolationCompositeIfNeeded(
InterpolationValue value,
const InterpolationValue& underlying,
EffectModel::CompositeOperation composite,
ConversionCheckers& conversion_checkers) const { … }
PairwiseInterpolationValue CSSTransformInterpolationType::MaybeMergeSingles(
InterpolationValue&& start,
InterpolationValue&& end) const { … }
InterpolationValue
CSSTransformInterpolationType::MaybeConvertStandardPropertyUnderlyingValue(
const ComputedStyle& style) const { … }
void CSSTransformInterpolationType::Composite(
UnderlyingValueOwner& underlying_value_owner,
double underlying_fraction,
const InterpolationValue& value,
double interpolation_fraction) const { … }
void CSSTransformInterpolationType::ApplyStandardPropertyValue(
const InterpolableValue& interpolable_value,
const NonInterpolableValue* untyped_non_interpolable_value,
StyleResolverState& state) const { … }
}