diff options
Diffstat (limited to 'Source/WebCore/svg/SVGPathBlender.h')
-rw-r--r-- | Source/WebCore/svg/SVGPathBlender.h | 17 |
1 files changed, 14 insertions, 3 deletions
diff --git a/Source/WebCore/svg/SVGPathBlender.h b/Source/WebCore/svg/SVGPathBlender.h index 8e43b94..2290fbb 100644 --- a/Source/WebCore/svg/SVGPathBlender.h +++ b/Source/WebCore/svg/SVGPathBlender.h @@ -26,6 +26,11 @@ namespace WebCore { +enum FloatBlendMode { + BlendHorizontal, + BlendVertical +}; + class SVGPathBlender { WTF_MAKE_NONCOPYABLE(SVGPathBlender); WTF_MAKE_FAST_ALLOCATED; public: @@ -45,14 +50,20 @@ private: bool blendCurveToQuadraticSmoothSegment(); bool blendArcToSegment(); - float blendAnimatedFloat(float, float); - FloatPoint blendAnimatedFloatPoint(FloatPoint&, FloatPoint&); + float blendAnimatedDimensonalFloat(float, float, FloatBlendMode); + FloatPoint blendAnimatedFloatPoint(const FloatPoint& from, const FloatPoint& to); SVGPathSource* m_fromSource; SVGPathSource* m_toSource; SVGPathConsumer* m_consumer; - PathCoordinateMode m_mode; + + FloatPoint m_fromCurrentPoint; + FloatPoint m_toCurrentPoint; + + PathCoordinateMode m_fromMode; + PathCoordinateMode m_toMode; float m_progress; + bool m_isInFirstHalfOfAnimation; }; } // namespace WebCore |