diff options
author | Lorry Tar Creator <lorry-tar-importer@lorry> | 2017-06-27 06:07:23 +0000 |
---|---|---|
committer | Lorry Tar Creator <lorry-tar-importer@lorry> | 2017-06-27 06:07:23 +0000 |
commit | 1bf1084f2b10c3b47fd1a588d85d21ed0eb41d0c (patch) | |
tree | 46dcd36c86e7fbc6e5df36deb463b33e9967a6f7 /Source/WebCore/css/CSSTimingFunctionValue.h | |
parent | 32761a6cee1d0dee366b885b7b9c777e67885688 (diff) | |
download | WebKitGtk-tarball-master.tar.gz |
webkitgtk-2.16.5HEADwebkitgtk-2.16.5master
Diffstat (limited to 'Source/WebCore/css/CSSTimingFunctionValue.h')
-rw-r--r-- | Source/WebCore/css/CSSTimingFunctionValue.h | 58 |
1 files changed, 43 insertions, 15 deletions
diff --git a/Source/WebCore/css/CSSTimingFunctionValue.h b/Source/WebCore/css/CSSTimingFunctionValue.h index c015c97e4..a9bf4ee62 100644 --- a/Source/WebCore/css/CSSTimingFunctionValue.h +++ b/Source/WebCore/css/CSSTimingFunctionValue.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2007, 2008, 2012 Apple Inc. All rights reserved. + * Copyright (C) 2007, 2008, 2012, 2016 Apple Inc. All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions @@ -10,10 +10,10 @@ * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * - * THIS SOFTWARE IS PROVIDED BY APPLE COMPUTER, INC. ``AS IS'' AND ANY + * THIS SOFTWARE IS PROVIDED BY APPLE INC. ``AS IS'' AND ANY * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE COMPUTER, INC. OR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR @@ -23,17 +23,15 @@ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ -#ifndef CSSTimingFunctionValue_h -#define CSSTimingFunctionValue_h +#pragma once #include "CSSValue.h" -#include <wtf/PassRefPtr.h> namespace WebCore { -class CSSCubicBezierTimingFunctionValue : public CSSValue { +class CSSCubicBezierTimingFunctionValue final : public CSSValue { public: - static PassRef<CSSCubicBezierTimingFunctionValue> create(double x1, double y1, double x2, double y2) + static Ref<CSSCubicBezierTimingFunctionValue> create(double x1, double y1, double x2, double y2) { return adoptRef(*new CSSCubicBezierTimingFunctionValue(x1, y1, x2, y2)); } @@ -63,11 +61,9 @@ private: double m_y2; }; -CSS_VALUE_TYPE_CASTS(CSSCubicBezierTimingFunctionValue, isCubicBezierTimingFunctionValue()) - -class CSSStepsTimingFunctionValue : public CSSValue { +class CSSStepsTimingFunctionValue final : public CSSValue { public: - static PassRef<CSSStepsTimingFunctionValue> create(int steps, bool stepAtStart) + static Ref<CSSStepsTimingFunctionValue> create(int steps, bool stepAtStart) { return adoptRef(*new CSSStepsTimingFunctionValue(steps, stepAtStart)); } @@ -91,8 +87,40 @@ private: bool m_stepAtStart; }; -CSS_VALUE_TYPE_CASTS(CSSStepsTimingFunctionValue, isStepsTimingFunctionValue()) +class CSSSpringTimingFunctionValue final : public CSSValue { +public: + static Ref<CSSSpringTimingFunctionValue> create(double mass, double stiffness, double damping, double initialVelocity) + { + return adoptRef(*new CSSSpringTimingFunctionValue(mass, stiffness, damping, initialVelocity)); + } + + double mass() const { return m_mass; } + double stiffness() const { return m_stiffness; } + double damping() const { return m_damping; } + double initialVelocity() const { return m_initialVelocity; } + + String customCSSText() const; + + bool equals(const CSSSpringTimingFunctionValue&) const; + +private: + CSSSpringTimingFunctionValue(double mass, double stiffness, double damping, double initialVelocity) + : CSSValue(SpringTimingFunctionClass) + , m_mass(mass) + , m_stiffness(stiffness) + , m_damping(damping) + , m_initialVelocity(initialVelocity) + { + } + + double m_mass; + double m_stiffness; + double m_damping; + double m_initialVelocity; +}; -} // namespace +} // namespace WebCore -#endif +SPECIALIZE_TYPE_TRAITS_CSS_VALUE(CSSCubicBezierTimingFunctionValue, isCubicBezierTimingFunctionValue()) +SPECIALIZE_TYPE_TRAITS_CSS_VALUE(CSSStepsTimingFunctionValue, isStepsTimingFunctionValue()) +SPECIALIZE_TYPE_TRAITS_CSS_VALUE(CSSSpringTimingFunctionValue, isSpringTimingFunctionValue()) |