1// Copyright 2014 The Chromium Authors. All rights reserved. 2// Use of this source code is governed by a BSD-style license that can be 3// found in the LICENSE file. 4 5#ifndef AnimationNodeTiming_h 6#define AnimationNodeTiming_h 7 8#include "bindings/core/v8/Nullable.h" 9#include "bindings/core/v8/ScriptWrappable.h" 10#include "core/animation/AnimationNode.h" 11#include "wtf/RefCounted.h" 12#include "wtf/text/WTFString.h" 13 14namespace blink { 15 16class AnimationNodeTiming : public RefCountedWillBeGarbageCollectedFinalized<AnimationNodeTiming>, public ScriptWrappable { 17 DEFINE_WRAPPERTYPEINFO(); 18public: 19 static PassRefPtrWillBeRawPtr<AnimationNodeTiming> create(AnimationNode* parent); 20 double delay(); 21 double endDelay(); 22 String fill(); 23 double iterationStart(); 24 double iterations(); 25 void getDuration(String propertyName, Nullable<double>& element0, String& element1); 26 double playbackRate(); 27 String direction(); 28 String easing(); 29 30 void setDelay(double); 31 void setEndDelay(double); 32 void setFill(String); 33 void setIterationStart(double); 34 void setIterations(double); 35 bool setDuration(String name, double duration); 36 void setPlaybackRate(double); 37 void setDirection(String); 38 void setEasing(String); 39 40 void trace(Visitor*); 41 42private: 43 RefPtrWillBeMember<AnimationNode> m_parent; 44 explicit AnimationNodeTiming(AnimationNode*); 45}; 46 47} // namespace blink 48 49#endif 50