diff --git a/Userland/Libraries/LibWeb/Animations/AnimationEffect.cpp b/Userland/Libraries/LibWeb/Animations/AnimationEffect.cpp index c2cbad8cff..6214af5476 100644 --- a/Userland/Libraries/LibWeb/Animations/AnimationEffect.cpp +++ b/Userland/Libraries/LibWeb/Animations/AnimationEffect.cpp @@ -1,5 +1,5 @@ /* - * Copyright (c) 2023, Matthew Olsson + * Copyright (c) 2023-2024, Matthew Olsson * * SPDX-License-Identifier: BSD-2-Clause */ @@ -16,6 +16,38 @@ namespace Web::Animations { JS_DEFINE_ALLOCATOR(AnimationEffect); +Bindings::FillMode css_fill_mode_to_bindings_fill_mode(CSS::AnimationFillMode mode) +{ + switch (mode) { + case CSS::AnimationFillMode::Backwards: + return Bindings::FillMode::Backwards; + case CSS::AnimationFillMode::Both: + return Bindings::FillMode::Both; + case CSS::AnimationFillMode::Forwards: + return Bindings::FillMode::Forwards; + case CSS::AnimationFillMode::None: + return Bindings::FillMode::None; + default: + VERIFY_NOT_REACHED(); + } +} + +Bindings::PlaybackDirection css_animation_direction_to_bindings_playback_direction(CSS::AnimationDirection direction) +{ + switch (direction) { + case CSS::AnimationDirection::Alternate: + return Bindings::PlaybackDirection::Alternate; + case CSS::AnimationDirection::AlternateReverse: + return Bindings::PlaybackDirection::AlternateReverse; + case CSS::AnimationDirection::Normal: + return Bindings::PlaybackDirection::Normal; + case CSS::AnimationDirection::Reverse: + return Bindings::PlaybackDirection::Reverse; + default: + VERIFY_NOT_REACHED(); + } +} + JS::NonnullGCPtr AnimationEffect::create(JS::Realm& realm) { return realm.heap().allocate(realm, realm); diff --git a/Userland/Libraries/LibWeb/Animations/AnimationEffect.h b/Userland/Libraries/LibWeb/Animations/AnimationEffect.h index 7713e2d239..4156d92bb2 100644 --- a/Userland/Libraries/LibWeb/Animations/AnimationEffect.h +++ b/Userland/Libraries/LibWeb/Animations/AnimationEffect.h @@ -1,5 +1,5 @@ /* - * Copyright (c) 2023, Matthew Olsson + * Copyright (c) 2023-2024, Matthew Olsson * * SPDX-License-Identifier: BSD-2-Clause */ @@ -12,6 +12,7 @@ #include #include #include +#include namespace Web::Animations { @@ -55,6 +56,9 @@ enum class AnimationDirection { Backwards, }; +Bindings::FillMode css_fill_mode_to_bindings_fill_mode(CSS::AnimationFillMode mode); +Bindings::PlaybackDirection css_animation_direction_to_bindings_playback_direction(CSS::AnimationDirection direction); + // https://www.w3.org/TR/web-animations-1/#the-animationeffect-interface class AnimationEffect : public Bindings::PlatformObject { WEB_PLATFORM_OBJECT(AnimationEffect, Bindings::PlatformObject);