| OLD | NEW | 
|---|
| 1 /* | 1 /* | 
| 2  * Copyright (C) 2012 Google Inc. All rights reserved. | 2  * Copyright (C) 2012 Google Inc. All rights reserved. | 
| 3  * | 3  * | 
| 4  * Redistribution and use in source and binary forms, with or without | 4  * Redistribution and use in source and binary forms, with or without | 
| 5  * modification, are permitted provided that the following conditions | 5  * modification, are permitted provided that the following conditions | 
| 6  * are met: | 6  * are met: | 
| 7  * 1.  Redistributions of source code must retain the above copyright | 7  * 1.  Redistributions of source code must retain the above copyright | 
| 8  *     notice, this list of conditions and the following disclaimer. | 8  *     notice, this list of conditions and the following disclaimer. | 
| 9  * 2.  Redistributions in binary form must reproduce the above copyright | 9  * 2.  Redistributions in binary form must reproduce the above copyright | 
| 10  *     notice, this list of conditions and the following disclaimer in the | 10  *     notice, this list of conditions and the following disclaimer in the | 
| 11  *     documentation and/or other materials provided with the distribution. | 11  *     documentation and/or other materials provided with the distribution. | 
| 12  * | 12  * | 
| 13  * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' AND AN
    Y | 13  * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' AND AN
    Y | 
| 14  * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED | 14  * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED | 
| 15  * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE | 15  * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE | 
| 16  * DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS BE LIABLE FOR AN
    Y | 16  * DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS BE LIABLE FOR AN
    Y | 
| 17  * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES | 17  * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES | 
| 18  * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; | 18  * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; | 
| 19  * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND O
    N | 19  * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND O
    N | 
| 20  * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | 20  * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | 
| 21  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS | 21  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS | 
| 22  * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | 22  * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | 
| 23  */ | 23  */ | 
| 24 | 24 | 
| 25 #ifndef WebTransformAnimationCurve_h | 25 #ifndef WebTransformAnimationCurve_h | 
| 26 #define WebTransformAnimationCurve_h | 26 #define WebTransformAnimationCurve_h | 
| 27 | 27 | 
| 28 #include "WebCommon.h" | 28 #include "base/memory/scoped_ptr.h" | 
| 29 #include "WebCompositorAnimationCurve.h" | 29 #include "platform/PlatformExport.h" | 
| 30 #include "WebTransformKeyframe.h" | 30 #include "platform/animation/WebCompositorAnimationCurve.h" | 
|  | 31 #include "platform/animation/WebTransformKeyframe.h" | 
|  | 32 | 
|  | 33 namespace cc { | 
|  | 34 class AnimationCurve; | 
|  | 35 class KeyframedTransformAnimationCurve; | 
|  | 36 } | 
|  | 37 | 
|  | 38 namespace blink { | 
|  | 39 class WebTransformKeyframe; | 
|  | 40 } | 
| 31 | 41 | 
| 32 namespace blink { | 42 namespace blink { | 
| 33 | 43 | 
| 34 // A keyframed transform animation curve. | 44 // A keyframed transform animation curve. | 
| 35 class WebTransformAnimationCurve : public WebCompositorAnimationCurve { | 45 class PLATFORM_EXPORT WebTransformAnimationCurve : public WebCompositorAnimation
    Curve { | 
| 36 public: | 46 public: | 
| 37     virtual ~WebTransformAnimationCurve() { } | 47     WebTransformAnimationCurve(); | 
|  | 48     ~WebTransformAnimationCurve() override; | 
| 38 | 49 | 
| 39     // Adds the keyframe with the default timing function (ease). | 50     // Adds the keyframe with the default timing function (ease). | 
| 40     virtual void add(const WebTransformKeyframe&) = 0; | 51     virtual void add(const WebTransformKeyframe&); | 
| 41     virtual void add(const WebTransformKeyframe&, TimingFunctionType) = 0; | 52     virtual void add(const WebTransformKeyframe&, TimingFunctionType); | 
| 42     // Adds the keyframe with a custom, bezier timing function. Note, it is | 53     // Adds the keyframe with a custom, bezier timing function. Note, it is | 
| 43     // assumed that x0 = y0 = 0, and x3 = y3 = 1. | 54     // assumed that x0 = y0, and x3 = y3 = 1. | 
| 44     virtual void add(const WebTransformKeyframe&, double x1, double y1, double x
    2, double y2) = 0; | 55     virtual void add(const WebTransformKeyframe&, double x1, double y1, double x
    2, double y2); | 
| 45     // Adds the keyframe with a steps timing function. | 56     // Adds the keyframe with a steps timing function. | 
| 46     virtual void add(const WebTransformKeyframe&, int steps, float stepsStartOff
    set) = 0; | 57     virtual void add(const WebTransformKeyframe&, int steps, float stepsStartOff
    set); | 
| 47 | 58 | 
| 48     virtual void setLinearTimingFunction() = 0; | 59     virtual void setLinearTimingFunction(); | 
| 49     virtual void setCubicBezierTimingFunction(TimingFunctionType) = 0; | 60     virtual void setCubicBezierTimingFunction(TimingFunctionType); | 
| 50     virtual void setCubicBezierTimingFunction(double x1, double y1, double x2, d
    ouble y2) = 0; | 61     virtual void setCubicBezierTimingFunction(double x1, double y1, double x2, d
    ouble y2); | 
| 51     virtual void setStepsTimingFunction(int numberOfSteps, float stepsStartOffse
    t) = 0; | 62     virtual void setStepsTimingFunction(int numberOfSteps, float stepsStartOffse
    t); | 
|  | 63 | 
|  | 64     // WebCompositorAnimationCurve implementation. | 
|  | 65     AnimationCurveType type() const override; | 
|  | 66 | 
|  | 67     scoped_ptr<cc::AnimationCurve> CloneToAnimationCurve() const; | 
|  | 68 | 
|  | 69 private: | 
|  | 70     scoped_ptr<cc::KeyframedTransformAnimationCurve> m_curve; | 
| 52 }; | 71 }; | 
| 53 | 72 | 
| 54 } // namespace blink | 73 } // namespace blink | 
| 55 | 74 | 
| 56 #endif // WebTransformAnimationCurve_h | 75 #endif // WebTransformAnimationCurve_h | 
| OLD | NEW | 
|---|