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

Side by Side Diff: third_party/WebKit/Source/core/svg/SVGGraphicsElement.h

Issue 2478233002: Make 'transform' a presentation attribute on SVG elements (Closed)
Patch Set: Rebase Created 4 years 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 unified diff | Download patch
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2004, 2005, 2008 Nikolas Zimmermann <zimmermann@kde.org> 2 * Copyright (C) 2004, 2005, 2008 Nikolas Zimmermann <zimmermann@kde.org>
3 * Copyright (C) 2004, 2005, 2006, 2007 Rob Buis <buis@kde.org> 3 * Copyright (C) 2004, 2005, 2006, 2007 Rob Buis <buis@kde.org>
4 * Copyright (C) 2014 Google, Inc. 4 * Copyright (C) 2014 Google, Inc.
5 * 5 *
6 * This library is free software; you can redistribute it and/or 6 * This library is free software; you can redistribute it and/or
7 * modify it under the terms of the GNU Library General Public 7 * modify it under the terms of the GNU Library General Public
8 * License as published by the Free Software Foundation; either 8 * License as published by the Free Software Foundation; either
9 * version 2 of the License, or (at your option) any later version. 9 * version 2 of the License, or (at your option) any later version.
10 * 10 *
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after
46 AffineTransform getCTM(StyleUpdateStrategy = AllowStyleUpdate); 46 AffineTransform getCTM(StyleUpdateStrategy = AllowStyleUpdate);
47 AffineTransform getScreenCTM(StyleUpdateStrategy = AllowStyleUpdate); 47 AffineTransform getScreenCTM(StyleUpdateStrategy = AllowStyleUpdate);
48 SVGMatrixTearOff* getCTMFromJavascript(); 48 SVGMatrixTearOff* getCTMFromJavascript();
49 SVGMatrixTearOff* getScreenCTMFromJavascript(); 49 SVGMatrixTearOff* getScreenCTMFromJavascript();
50 50
51 SVGElement* nearestViewportElement() const; 51 SVGElement* nearestViewportElement() const;
52 SVGElement* farthestViewportElement() const; 52 SVGElement* farthestViewportElement() const;
53 53
54 AffineTransform localCoordinateSpaceTransform( 54 AffineTransform localCoordinateSpaceTransform(
55 SVGElement::CTMScope) const override { 55 SVGElement::CTMScope) const override {
56 return calculateAnimatedLocalTransform(); 56 return calculateTransform(IncludeMotionTransform);
57 } 57 }
58 bool hasAnimatedLocalTransform() const;
59 AffineTransform calculateAnimatedLocalTransform() const;
60 AffineTransform* animateMotionTransform() override; 58 AffineTransform* animateMotionTransform() override;
61 59
62 virtual FloatRect getBBox(); 60 virtual FloatRect getBBox();
63 SVGRectTearOff* getBBoxFromJavascript(); 61 SVGRectTearOff* getBBoxFromJavascript();
64 62
65 bool isValid() const final { return SVGTests::isValid(); } 63 bool isValid() const final { return SVGTests::isValid(); }
66 64
67 SVGAnimatedTransformList* transform() { return m_transform.get(); } 65 SVGAnimatedTransformList* transform() { return m_transform.get(); }
68 const SVGAnimatedTransformList* transform() const { 66 const SVGAnimatedTransformList* transform() const {
69 return m_transform.get(); 67 return m_transform.get();
70 } 68 }
71 69
72 AffineTransform computeCTM(SVGElement::CTMScope mode, 70 AffineTransform computeCTM(SVGElement::CTMScope mode,
73 SVGGraphicsElement::StyleUpdateStrategy, 71 SVGGraphicsElement::StyleUpdateStrategy,
74 const SVGGraphicsElement* ancestor = 0) const; 72 const SVGGraphicsElement* ancestor = 0) const;
75 73
76 DECLARE_VIRTUAL_TRACE(); 74 DECLARE_VIRTUAL_TRACE();
77 75
78 protected: 76 protected:
79 SVGGraphicsElement(const QualifiedName&, 77 SVGGraphicsElement(const QualifiedName&,
80 Document&, 78 Document&,
81 ConstructionType = CreateSVGElement); 79 ConstructionType = CreateSVGElement);
82 80
83 bool supportsFocus() const override { 81 bool supportsFocus() const override {
84 return Element::supportsFocus() || hasFocusEventListeners(); 82 return Element::supportsFocus() || hasFocusEventListeners();
85 } 83 }
86 84
85 void collectStyleForPresentationAttribute(const QualifiedName&,
86 const AtomicString&,
87 MutableStylePropertySet*) override;
87 void svgAttributeChanged(const QualifiedName&) override; 88 void svgAttributeChanged(const QualifiedName&) override;
88 89
89 Member<SVGAnimatedTransformList> m_transform; 90 Member<SVGAnimatedTransformList> m_transform;
90 91
91 private: 92 private:
92 bool isSVGGraphicsElement() const final { return true; } 93 bool isSVGGraphicsElement() const final { return true; }
93 }; 94 };
94 95
95 inline bool isSVGGraphicsElement(const SVGElement& element) { 96 inline bool isSVGGraphicsElement(const SVGElement& element) {
96 return element.isSVGGraphicsElement(); 97 return element.isSVGGraphicsElement();
97 } 98 }
98 99
99 DEFINE_SVGELEMENT_TYPE_CASTS_WITH_FUNCTION(SVGGraphicsElement); 100 DEFINE_SVGELEMENT_TYPE_CASTS_WITH_FUNCTION(SVGGraphicsElement);
100 101
101 } // namespace blink 102 } // namespace blink
102 103
103 #endif // SVGGraphicsElement_h 104 #endif // SVGGraphicsElement_h
OLDNEW
« no previous file with comments | « third_party/WebKit/Source/core/svg/SVGGradientElement.cpp ('k') | third_party/WebKit/Source/core/svg/SVGGraphicsElement.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698