SkSVGRadialGradient.cpp revision 0910916c0f7b951ee55c4b7c6358295b9bca0565
10910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project/* libs/graphics/svg/SkSVGRadialGradient.cpp 20910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project** 30910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project** Copyright 2006, The Android Open Source Project 40910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project** 50910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project** Licensed under the Apache License, Version 2.0 (the "License"); 60910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project** you may not use this file except in compliance with the License. 70910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project** You may obtain a copy of the License at 80910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project** 90910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project** http://www.apache.org/licenses/LICENSE-2.0 100910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project** 110910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project** Unless required by applicable law or agreed to in writing, software 120910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project** distributed under the License is distributed on an "AS IS" BASIS, 130910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 140910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project** See the License for the specific language governing permissions and 150910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project** limitations under the License. 160910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project*/ 170910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project 180910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project#include "SkSVGRadialGradient.h" 190910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project#include "SkSVGParser.h" 200910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project 210910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Projectconst SkSVGAttribute SkSVGRadialGradient::gAttributes[] = { 220910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project SVG_ATTRIBUTE(cx), 230910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project SVG_ATTRIBUTE(cy), 240910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project SVG_ATTRIBUTE(fx), 250910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project SVG_ATTRIBUTE(fy), 260910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project SVG_ATTRIBUTE(gradientTransform), 270910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project SVG_ATTRIBUTE(gradientUnits), 280910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project SVG_ATTRIBUTE(r) 290910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project}; 300910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project 310910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source ProjectDEFINE_SVG_INFO(RadialGradient) 320910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project 330910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Projectvoid SkSVGRadialGradient::translate(SkSVGParser& parser, bool defState) { 340910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project if (fMatrixID.size() == 0) 350910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project parser.translateMatrix(f_gradientTransform, &fMatrixID); 360910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project parser._startElement("radialGradient"); 370910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project if (fMatrixID.size() > 0) 380910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project parser._addAttribute("matrix", fMatrixID); 390910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project INHERITED::translateGradientUnits(f_gradientUnits); 400910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project SkString center; 410910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project center.appendUnichar('['); 420910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project center.append(f_cx); 430910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project center.appendUnichar(','); 440910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project center.append(f_cy); 450910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project center.appendUnichar(']'); 460910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project parser._addAttribute("center", center); 470910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project parser._addAttribute("radius", f_r); 480910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project INHERITED::translate(parser, defState); 490910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project parser._endElement(); 500910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project} 51