summaryrefslogtreecommitdiffstats
path: root/webkit/compositor_bindings/web_animation_curve_common.cc
blob: 3fcf4c714b5079518584433664027362de27d6c3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
// Copyright 2012 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#include "webkit/compositor_bindings/web_animation_curve_common.h"

#include "cc/timing_function.h"

namespace WebKit {

scoped_ptr<cc::TimingFunction> createTimingFunction(WebAnimationCurve::TimingFunctionType type)
{
    switch (type) {
    case WebAnimationCurve::TimingFunctionTypeEase:
        return cc::EaseTimingFunction::create();
    case WebAnimationCurve::TimingFunctionTypeEaseIn:
        return cc::EaseInTimingFunction::create();
    case WebAnimationCurve::TimingFunctionTypeEaseOut:
        return cc::EaseOutTimingFunction::create();
    case WebAnimationCurve::TimingFunctionTypeEaseInOut:
        return cc::EaseInOutTimingFunction::create();
    case WebAnimationCurve::TimingFunctionTypeLinear:
        return scoped_ptr<cc::TimingFunction>();
    }
    return scoped_ptr<cc::TimingFunction>();
}

} // namespace WebKit