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