Home | History | Annotate | Download | only in svg
      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