Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1106)

Unified Diff: Source/core/svg/SVGTransformTearOff.h

Issue 153883003: [SVG] SVGAnimatedTransform{,List} migration to new SVG property impl. (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: remove m_zoomAndPan Created 6 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « Source/core/svg/SVGTransformListTearOff.cpp ('k') | Source/core/svg/SVGTransformTearOff.cpp » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: Source/core/svg/SVGTransformTearOff.h
diff --git a/Source/core/svg/SVGPointListTearOff.h b/Source/core/svg/SVGTransformTearOff.h
similarity index 50%
copy from Source/core/svg/SVGPointListTearOff.h
copy to Source/core/svg/SVGTransformTearOff.h
index c7a6319b327559ba5e39c6b725ebc8946b6bc677..9ea0ba16ad833a7862561f5b0ca333e06f481465 100644
--- a/Source/core/svg/SVGPointListTearOff.h
+++ b/Source/core/svg/SVGTransformTearOff.h
@@ -28,31 +28,54 @@
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
-#ifndef SVGPointListTearOff_h
-#define SVGPointListTearOff_h
+#ifndef SVGTransformTearOff_h
+#define SVGTransformTearOff_h
-#include "core/svg/SVGPointList.h"
-#include "core/svg/properties/NewSVGListPropertyTearOffHelper.h"
+#include "bindings/v8/ScriptWrappable.h"
+#include "core/svg/SVGMatrixTearOff.h"
+#include "core/svg/SVGTransform.h"
+#include "core/svg/properties/NewSVGPropertyTearOff.h"
namespace WebCore {
-class SVGPointListTearOff FINAL :
- public NewSVGListPropertyTearOffHelper<SVGPointListTearOff, SVGPointList>,
- public ScriptWrappable {
+class SVGMatrix;
+
+class SVGTransformTearOff FINAL : public NewSVGPropertyTearOff<SVGTransform>, public ScriptWrappable {
public:
- static PassRefPtr<SVGPointListTearOff> create(PassRefPtr<SVGPointList> target, SVGElement* contextElement, PropertyIsAnimValType propertyIsAnimVal, const QualifiedName& attributeName = nullQName())
+ enum SVGTransformType {
+ SVG_TRANSFORM_UNKNOWN = WebCore::SVG_TRANSFORM_UNKNOWN,
+ SVG_TRANSFORM_MATRIX = WebCore::SVG_TRANSFORM_MATRIX,
+ SVG_TRANSFORM_TRANSLATE = WebCore::SVG_TRANSFORM_TRANSLATE,
+ SVG_TRANSFORM_SCALE = WebCore::SVG_TRANSFORM_SCALE,
+ SVG_TRANSFORM_ROTATE = WebCore::SVG_TRANSFORM_ROTATE,
+ SVG_TRANSFORM_SKEWX = WebCore::SVG_TRANSFORM_SKEWX,
+ SVG_TRANSFORM_SKEWY = WebCore::SVG_TRANSFORM_SKEWY,
+ };
+
+ static PassRefPtr<SVGTransformTearOff> create(PassRefPtr<SVGTransform> target, SVGElement* contextElement, PropertyIsAnimValType propertyIsAnimVal, const QualifiedName& attributeName = nullQName())
{
- return adoptRef(new SVGPointListTearOff(target, contextElement, propertyIsAnimVal, attributeName));
+ return adoptRef(new SVGTransformTearOff(target, contextElement, propertyIsAnimVal, attributeName));
}
+ virtual ~SVGTransformTearOff();
+
+ unsigned short transformType() { return target()->transformType(); }
+ SVGMatrixTearOff* matrix();
+ float angle() { return target()->angle(); }
+
+ void setMatrix(PassRefPtr<SVGMatrixTearOff>, ExceptionState&);
+ void setTranslate(float tx, float ty, ExceptionState&);
+ void setScale(float sx, float sy, ExceptionState&);
+ void setRotate(float angle, float cx, float cy, ExceptionState&);
+ void setSkewX(float, ExceptionState&);
+ void setSkewY(float, ExceptionState&);
+
private:
- SVGPointListTearOff(PassRefPtr<SVGPointList> target, SVGElement* contextElement, PropertyIsAnimValType propertyIsAnimVal, const QualifiedName& attributeName = nullQName())
- : NewSVGListPropertyTearOffHelper<SVGPointListTearOff, SVGPointList>(target, contextElement, propertyIsAnimVal, attributeName)
- {
- ScriptWrappable::init(this);
- }
+ SVGTransformTearOff(PassRefPtr<SVGTransform>, SVGElement* contextElement, PropertyIsAnimValType, const QualifiedName& attributeName);
+
+ RefPtr<SVGMatrixTearOff> m_matrixTearoff;
};
} // namespace WebCore
-#endif // SVGPointListTearOff_h_
+#endif // SVGTransformTearOff_h_
« no previous file with comments | « Source/core/svg/SVGTransformListTearOff.cpp ('k') | Source/core/svg/SVGTransformTearOff.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698