summaryrefslogtreecommitdiff
path: root/Source/WebCore/css/CSSTimingFunctionValue.h
diff options
context:
space:
mode:
authorLorry Tar Creator <lorry-tar-importer@lorry>2017-06-27 06:07:23 +0000
committerLorry Tar Creator <lorry-tar-importer@lorry>2017-06-27 06:07:23 +0000
commit1bf1084f2b10c3b47fd1a588d85d21ed0eb41d0c (patch)
tree46dcd36c86e7fbc6e5df36deb463b33e9967a6f7 /Source/WebCore/css/CSSTimingFunctionValue.h
parent32761a6cee1d0dee366b885b7b9c777e67885688 (diff)
downloadWebKitGtk-tarball-master.tar.gz
Diffstat (limited to 'Source/WebCore/css/CSSTimingFunctionValue.h')
-rw-r--r--Source/WebCore/css/CSSTimingFunctionValue.h58
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())