11cab2921ab279367f8206cdadc9259d12e603548Derek Sollenberger 21cab2921ab279367f8206cdadc9259d12e603548Derek Sollenberger/* 31cab2921ab279367f8206cdadc9259d12e603548Derek Sollenberger * Copyright 2006 The Android Open Source Project 41cab2921ab279367f8206cdadc9259d12e603548Derek Sollenberger * 51cab2921ab279367f8206cdadc9259d12e603548Derek Sollenberger * Use of this source code is governed by a BSD-style license that can be 61cab2921ab279367f8206cdadc9259d12e603548Derek Sollenberger * found in the LICENSE file. 71cab2921ab279367f8206cdadc9259d12e603548Derek Sollenberger */ 81cab2921ab279367f8206cdadc9259d12e603548Derek Sollenberger 90910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project 100910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project#include "SkSVGRadialGradient.h" 110910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project#include "SkSVGParser.h" 120910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project 130910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Projectconst SkSVGAttribute SkSVGRadialGradient::gAttributes[] = { 140910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project SVG_ATTRIBUTE(cx), 150910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project SVG_ATTRIBUTE(cy), 160910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project SVG_ATTRIBUTE(fx), 170910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project SVG_ATTRIBUTE(fy), 180910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project SVG_ATTRIBUTE(gradientTransform), 190910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project SVG_ATTRIBUTE(gradientUnits), 200910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project SVG_ATTRIBUTE(r) 210910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project}; 220910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project 230910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source ProjectDEFINE_SVG_INFO(RadialGradient) 240910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project 250910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Projectvoid SkSVGRadialGradient::translate(SkSVGParser& parser, bool defState) { 260910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project if (fMatrixID.size() == 0) 270910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project parser.translateMatrix(f_gradientTransform, &fMatrixID); 280910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project parser._startElement("radialGradient"); 290910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project if (fMatrixID.size() > 0) 300910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project parser._addAttribute("matrix", fMatrixID); 310910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project INHERITED::translateGradientUnits(f_gradientUnits); 320910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project SkString center; 330910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project center.appendUnichar('['); 340910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project center.append(f_cx); 350910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project center.appendUnichar(','); 360910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project center.append(f_cy); 370910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project center.appendUnichar(']'); 380910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project parser._addAttribute("center", center); 390910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project parser._addAttribute("radius", f_r); 400910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project INHERITED::translate(parser, defState); 410910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project parser._endElement(); 420910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project} 43