OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 2014 Google Inc. All rights reserved. | 2 * Copyright (C) 2014 Google Inc. All rights reserved. |
3 * | 3 * |
4 * Redistribution and use in source and binary forms, with or without | 4 * Redistribution and use in source and binary forms, with or without |
5 * modification, are permitted provided that the following conditions are | 5 * modification, are permitted provided that the following conditions are |
6 * met: | 6 * met: |
7 * | 7 * |
8 * * Redistributions of source code must retain the above copyright | 8 * * Redistributions of source code must retain the above copyright |
9 * notice, this list of conditions and the following disclaimer. | 9 * notice, this list of conditions and the following disclaimer. |
10 * * Redistributions in binary form must reproduce the above | 10 * * Redistributions in binary form must reproduce the above |
(...skipping 17 matching lines...) Expand all Loading... |
28 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | 28 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
29 */ | 29 */ |
30 | 30 |
31 #ifndef SVGTransformTearOff_h | 31 #ifndef SVGTransformTearOff_h |
32 #define SVGTransformTearOff_h | 32 #define SVGTransformTearOff_h |
33 | 33 |
34 #include "bindings/core/v8/ScriptWrappable.h" | 34 #include "bindings/core/v8/ScriptWrappable.h" |
35 #include "core/svg/SVGMatrixTearOff.h" | 35 #include "core/svg/SVGMatrixTearOff.h" |
36 #include "core/svg/SVGTransform.h" | 36 #include "core/svg/SVGTransform.h" |
37 #include "core/svg/properties/SVGPropertyTearOff.h" | 37 #include "core/svg/properties/SVGPropertyTearOff.h" |
| 38 #include "platform/heap/Handle.h" |
38 | 39 |
39 namespace blink { | 40 namespace blink { |
40 | 41 |
41 class SVGTransformTearOff final : public SVGPropertyTearOff<SVGTransform>, publi
c ScriptWrappable { | 42 class SVGTransformTearOff final : public SVGPropertyTearOff<SVGTransform>, publi
c ScriptWrappable { |
42 DEFINE_WRAPPERTYPEINFO(); | 43 DEFINE_WRAPPERTYPEINFO(); |
43 public: | 44 public: |
44 enum SVGTransformType { | 45 enum SVGTransformType { |
45 SVG_TRANSFORM_UNKNOWN = blink::SVG_TRANSFORM_UNKNOWN, | 46 SVG_TRANSFORM_UNKNOWN = blink::SVG_TRANSFORM_UNKNOWN, |
46 SVG_TRANSFORM_MATRIX = blink::SVG_TRANSFORM_MATRIX, | 47 SVG_TRANSFORM_MATRIX = blink::SVG_TRANSFORM_MATRIX, |
47 SVG_TRANSFORM_TRANSLATE = blink::SVG_TRANSFORM_TRANSLATE, | 48 SVG_TRANSFORM_TRANSLATE = blink::SVG_TRANSFORM_TRANSLATE, |
48 SVG_TRANSFORM_SCALE = blink::SVG_TRANSFORM_SCALE, | 49 SVG_TRANSFORM_SCALE = blink::SVG_TRANSFORM_SCALE, |
49 SVG_TRANSFORM_ROTATE = blink::SVG_TRANSFORM_ROTATE, | 50 SVG_TRANSFORM_ROTATE = blink::SVG_TRANSFORM_ROTATE, |
50 SVG_TRANSFORM_SKEWX = blink::SVG_TRANSFORM_SKEWX, | 51 SVG_TRANSFORM_SKEWX = blink::SVG_TRANSFORM_SKEWX, |
51 SVG_TRANSFORM_SKEWY = blink::SVG_TRANSFORM_SKEWY, | 52 SVG_TRANSFORM_SKEWY = blink::SVG_TRANSFORM_SKEWY, |
52 }; | 53 }; |
53 | 54 |
54 static PassRefPtr<SVGTransformTearOff> create(PassRefPtr<SVGTransform> targe
t, SVGElement* contextElement, PropertyIsAnimValType propertyIsAnimVal, const Qu
alifiedName& attributeName = QualifiedName::null()) | 55 static PassRefPtrWillBeRawPtr<SVGTransformTearOff> create(PassRefPtrWillBeRa
wPtr<SVGTransform> target, SVGElement* contextElement, PropertyIsAnimValType pro
pertyIsAnimVal, const QualifiedName& attributeName = QualifiedName::null()) |
55 { | 56 { |
56 return adoptRef(new SVGTransformTearOff(target, contextElement, property
IsAnimVal, attributeName)); | 57 return adoptRefWillBeNoop(new SVGTransformTearOff(target, contextElement
, propertyIsAnimVal, attributeName)); |
57 } | 58 } |
58 | 59 |
59 virtual ~SVGTransformTearOff(); | 60 virtual ~SVGTransformTearOff(); |
60 | 61 |
61 unsigned short transformType() { return target()->transformType(); } | 62 unsigned short transformType() { return target()->transformType(); } |
62 SVGMatrixTearOff* matrix(); | 63 SVGMatrixTearOff* matrix(); |
63 float angle() { return target()->angle(); } | 64 float angle() { return target()->angle(); } |
64 | 65 |
65 void setMatrix(PassRefPtr<SVGMatrixTearOff>, ExceptionState&); | 66 void setMatrix(PassRefPtrWillBeRawPtr<SVGMatrixTearOff>, ExceptionState&); |
66 void setTranslate(float tx, float ty, ExceptionState&); | 67 void setTranslate(float tx, float ty, ExceptionState&); |
67 void setScale(float sx, float sy, ExceptionState&); | 68 void setScale(float sx, float sy, ExceptionState&); |
68 void setRotate(float angle, float cx, float cy, ExceptionState&); | 69 void setRotate(float angle, float cx, float cy, ExceptionState&); |
69 void setSkewX(float, ExceptionState&); | 70 void setSkewX(float, ExceptionState&); |
70 void setSkewY(float, ExceptionState&); | 71 void setSkewY(float, ExceptionState&); |
71 | 72 |
| 73 virtual void trace(Visitor*) override; |
| 74 |
72 private: | 75 private: |
73 SVGTransformTearOff(PassRefPtr<SVGTransform>, SVGElement* contextElement, Pr
opertyIsAnimValType, const QualifiedName& attributeName); | 76 SVGTransformTearOff(PassRefPtrWillBeRawPtr<SVGTransform>, SVGElement* contex
tElement, PropertyIsAnimValType, const QualifiedName& attributeName); |
74 | 77 |
75 RefPtr<SVGMatrixTearOff> m_matrixTearoff; | 78 RefPtrWillBeMember<SVGMatrixTearOff> m_matrixTearoff; |
76 }; | 79 }; |
77 | 80 |
78 } // namespace blink | 81 } // namespace blink |
79 | 82 |
80 #endif // SVGTransformTearOff_h | 83 #endif // SVGTransformTearOff_h |
OLD | NEW |