/* * Copyright (c) 2024, Sam Atkins * * SPDX-License-Identifier: BSD-2-Clause */ #pragma once #include #include namespace Web::CSS { ValueComparingRefPtr interpolate_property(DOM::Element&, PropertyID, CSSStyleValue const& from, CSSStyleValue const& to, float delta); // https://drafts.csswg.org/css-transitions/#transitionable bool property_values_are_transitionable(PropertyID, CSSStyleValue const& old_value, CSSStyleValue const& new_value); NonnullRefPtr interpolate_value(DOM::Element&, CSSStyleValue const& from, CSSStyleValue const& to, float delta); NonnullRefPtr interpolate_box_shadow(DOM::Element&, CSSStyleValue const& from, CSSStyleValue const& to, float delta); RefPtr interpolate_transform(DOM::Element&, CSSStyleValue const& from, CSSStyleValue const& to, float delta); Color interpolate_color(Color from, Color to, float delta); }