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 } 43