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 
DEFINE_SVG_INFO(RadialGradient)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 }
43