blob: 6992de2177e2d5629877bfaef1ff46adb8711105 [file] [log] [blame]
commit-queue@webkit.org39a6dc92017-10-24 07:51:59 +00001/*
graouts@webkit.org071e0ad2018-11-06 11:15:30 +00002 * Copyright (C) 2018 Apple Inc. All rights reserved.
commit-queue@webkit.org39a6dc92017-10-24 07:51:59 +00003 *
4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions
6 * are met:
7 * 1. Redistributions of source code must retain the above copyright
8 * notice, this list of conditions and the following disclaimer.
9 * 2. Redistributions in binary form must reproduce the above copyright
10 * notice, this list of conditions and the following disclaimer in the
11 * documentation and/or other materials provided with the distribution.
12 *
13 * THIS SOFTWARE IS PROVIDED BY APPLE INC. ``AS IS'' AND ANY
14 * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
15 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
16 * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR
17 * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
18 * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
19 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
20 * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
21 * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
22 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
23 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
24 */
25
graouts@webkit.org071e0ad2018-11-06 11:15:30 +000026#pragma once
27
28#include "FillMode.h"
29#include "PlaybackDirection.h"
graouts@webkit.org46075bc2020-03-12 07:48:06 +000030#include "WebAnimationTypes.h"
commit-queue@webkit.org82511e32021-10-14 23:30:09 +000031#include <variant>
graouts@webkit.org071e0ad2018-11-06 11:15:30 +000032#include <wtf/text/WTFString.h>
commit-queue@webkit.org39a6dc92017-10-24 07:51:59 +000033
34namespace WebCore {
35
graouts@webkit.org071e0ad2018-11-06 11:15:30 +000036struct OptionalEffectTiming {
commit-queue@webkit.org79445f22021-10-13 01:40:07 +000037 std::optional<std::variant<double, String>> duration;
darin@apple.coma4ddc782021-05-30 16:11:40 +000038 std::optional<double> iterations; // This value cannot be a MarkableDouble since we need to check for a NaN value.
graouts@webkit.org15ad6b72019-01-10 08:19:39 +000039 MarkableDouble delay;
40 MarkableDouble endDelay;
41 MarkableDouble iterationStart;
graouts@webkit.org071e0ad2018-11-06 11:15:30 +000042 String easing;
graouts@webkit.org15ad6b72019-01-10 08:19:39 +000043 OptionalFillMode fill;
44 OptionalPlaybackDirection direction;
graouts@webkit.org071e0ad2018-11-06 11:15:30 +000045};
commit-queue@webkit.org39a6dc92017-10-24 07:51:59 +000046
commit-queue@webkit.org39a6dc92017-10-24 07:51:59 +000047} // namespace WebCore