Index: Source/core/svg/SVGSVGElement.h |
diff --git a/Source/core/svg/SVGSVGElement.h b/Source/core/svg/SVGSVGElement.h |
index 1992e32c2888bb34741c928cd9ec333104bfc4b7..4b6571914703c5ba3c6c390b3f282f1e33ee113b 100644 |
--- a/Source/core/svg/SVGSVGElement.h |
+++ b/Source/core/svg/SVGSVGElement.h |
@@ -28,6 +28,7 @@ |
#include "core/svg/SVGFitToViewBox.h" |
#include "core/svg/SVGGraphicsElement.h" |
#include "core/svg/SVGLengthTearOff.h" |
+#include "core/svg/SVGPointTearOff.h" |
#include "core/svg/SVGZoomAndPan.h" |
#include "wtf/WeakPtr.h" |
@@ -82,11 +83,9 @@ public: |
float currentScale() const; |
void setCurrentScale(float scale); |
- SVGPoint& currentTranslate() { return m_translation; } |
+ FloatPoint currentTranslate() { return m_translation->value(); } |
void setCurrentTranslate(const FloatPoint&); |
- |
- // Only used from the bindings. |
- void updateCurrentTranslate(); |
+ PassRefPtr<SVGPointTearOff> currentTranslateFromJavascript(); |
SMILTimeContainer* timeContainer() const { return m_timeContainer.get(); } |
@@ -111,7 +110,7 @@ public: |
static float createSVGNumber(); |
static PassRefPtr<SVGLengthTearOff> createSVGLength(); |
static SVGAngle createSVGAngle(); |
- static SVGPoint createSVGPoint(); |
+ static PassRefPtr<SVGPointTearOff> createSVGPoint(); |
static SVGMatrix createSVGMatrix(); |
static PassRefPtr<SVGRectTearOff> createSVGRect(); |
static SVGTransform createSVGTransform(); |
@@ -157,6 +156,8 @@ private: |
void inheritViewAttributes(SVGViewElement*); |
+ void updateCurrentTranslate(); |
+ |
enum CollectIntersectionOrEnclosure { |
CollectIntersectionList, |
CollectEnclosureList |
@@ -178,9 +179,11 @@ private: |
bool m_useCurrentView; |
SVGZoomAndPanType m_zoomAndPan; |
RefPtr<SMILTimeContainer> m_timeContainer; |
- SVGPoint m_translation; |
+ RefPtr<SVGPoint> m_translation; |
RefPtr<SVGViewSpec> m_viewSpec; |
WeakPtrFactory<SVGSVGElement> m_weakFactory; |
+ |
+ friend class SVGCurrentTranslateTearOff; |
}; |
inline bool isSVGSVGElement(const Node& node) |