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 "SkSVGLinearGradient.h"
     11 #include "SkSVGParser.h"
     12 
     13 const SkSVGAttribute SkSVGLinearGradient::gAttributes[] = {
     14     SVG_ATTRIBUTE(gradientTransform),
     15     SVG_ATTRIBUTE(gradientUnits),
     16     SVG_ATTRIBUTE(x1),
     17     SVG_ATTRIBUTE(x2),
     18     SVG_ATTRIBUTE(y1),
     19     SVG_ATTRIBUTE(y2)
     20 };
     21 
     22 DEFINE_SVG_INFO(LinearGradient)
     23 
     24 void SkSVGLinearGradient::translate(SkSVGParser& parser, bool defState) {
     25     if (fMatrixID.size() == 0)
     26         parser.translateMatrix(f_gradientTransform, &fMatrixID);
     27     parser._startElement("linearGradient");
     28     if (fMatrixID.size() > 0)
     29         parser._addAttribute("matrix", fMatrixID);
     30     INHERITED::translateGradientUnits(f_gradientUnits);
     31     SkString points;
     32     points.appendUnichar('[');
     33     points.append(f_x1);
     34     points.appendUnichar(',');
     35     points.append(f_y1);
     36     points.appendUnichar(',');
     37     points.append(f_x2);
     38     points.appendUnichar(',');
     39     points.append(f_y2);
     40     points.appendUnichar(']');
     41     parser._addAttribute("points", points.c_str());
     42     INHERITED::translate(parser, defState);
     43     parser._endElement();
     44 }
     45