summaryrefslogtreecommitdiffstats
path: root/Source/WebCore/svg/SVGPathBlender.h
diff options
context:
space:
mode:
Diffstat (limited to 'Source/WebCore/svg/SVGPathBlender.h')
-rw-r--r--Source/WebCore/svg/SVGPathBlender.h17
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