|
1 |
|
2 /* |
|
3 * Copyright 2006 The Android Open Source Project |
|
4 * |
|
5 * Use of this source code is governed by a BSD-style license that can be |
|
6 * found in the LICENSE file. |
|
7 */ |
|
8 |
|
9 |
|
10 #include "SkSVGRadialGradient.h" |
|
11 #include "SkSVGParser.h" |
|
12 |
|
13 const SkSVGAttribute SkSVGRadialGradient::gAttributes[] = { |
|
14 SVG_ATTRIBUTE(cx), |
|
15 SVG_ATTRIBUTE(cy), |
|
16 SVG_ATTRIBUTE(fx), |
|
17 SVG_ATTRIBUTE(fy), |
|
18 SVG_ATTRIBUTE(gradientTransform), |
|
19 SVG_ATTRIBUTE(gradientUnits), |
|
20 SVG_ATTRIBUTE(r) |
|
21 }; |
|
22 |
|
23 DEFINE_SVG_INFO(RadialGradient) |
|
24 |
|
25 void SkSVGRadialGradient::translate(SkSVGParser& parser, bool defState) { |
|
26 if (fMatrixID.size() == 0) |
|
27 parser.translateMatrix(f_gradientTransform, &fMatrixID); |
|
28 parser._startElement("radialGradient"); |
|
29 if (fMatrixID.size() > 0) |
|
30 parser._addAttribute("matrix", fMatrixID); |
|
31 INHERITED::translateGradientUnits(f_gradientUnits); |
|
32 SkString center; |
|
33 center.appendUnichar('['); |
|
34 center.append(f_cx); |
|
35 center.appendUnichar(','); |
|
36 center.append(f_cy); |
|
37 center.appendUnichar(']'); |
|
38 parser._addAttribute("center", center); |
|
39 parser._addAttribute("radius", f_r); |
|
40 INHERITED::translate(parser, defState); |
|
41 parser._endElement(); |
|
42 } |