blob: f89ee5349220fd19b9d2f67060ea90b7e941fac2 [file] [log] [blame]
epoger@google.comec3ed6a2011-07-28 14:26:00 +00001
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
reed@android.com8a1c16f2008-12-17 15:59:43 +00009
10#include "SkSVGLinearGradient.h"
11#include "SkSVGParser.h"
12
13const 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
22DEFINE_SVG_INFO(LinearGradient)
23
24void 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}