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 "SkSVGEllipse.h" 110910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project#include "SkSVGParser.h" 120910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project#include "SkParse.h" 130910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project#include <stdio.h> 140910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project 150910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Projectconst SkSVGAttribute SkSVGEllipse::gAttributes[] = { 160910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project SVG_ATTRIBUTE(cx), 170910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project SVG_ATTRIBUTE(cy), 180910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project SVG_ATTRIBUTE(rx), 190910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project SVG_ATTRIBUTE(ry) 200910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project}; 210910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project 220910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source ProjectDEFINE_SVG_INFO(Ellipse) 230910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project 240910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Projectvoid SkSVGEllipse::translate(SkSVGParser& parser, bool defState) { 250910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project parser._startElement("oval"); 260910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project INHERITED::translate(parser, defState); 270910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project SkScalar cx, cy, rx, ry; 280910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project SkParse::FindScalar(f_cx.c_str(), &cx); 290910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project SkParse::FindScalar(f_cy.c_str(), &cy); 300910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project SkParse::FindScalar(f_rx.c_str(), &rx); 310910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project SkParse::FindScalar(f_ry.c_str(), &ry); 320910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project SkScalar left, top, right, bottom; 330910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project left = cx - rx; 340910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project top = cy - ry; 350910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project right = cx + rx; 360910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project bottom = cy + ry; 370910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project char scratch[16]; 384f1dae40e24d57d647db01443b8bf2410514b8b5Derek Sollenberger sprintf(scratch, "%g", SkScalarToDouble(left)); 390910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project parser._addAttribute("left", scratch); 404f1dae40e24d57d647db01443b8bf2410514b8b5Derek Sollenberger sprintf(scratch, "%g", SkScalarToDouble(top)); 410910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project parser._addAttribute("top", scratch); 424f1dae40e24d57d647db01443b8bf2410514b8b5Derek Sollenberger sprintf(scratch, "%g", SkScalarToDouble(right)); 430910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project parser._addAttribute("right", scratch); 444f1dae40e24d57d647db01443b8bf2410514b8b5Derek Sollenberger sprintf(scratch, "%g", SkScalarToDouble(bottom)); 450910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project parser._addAttribute("bottom", scratch); 460910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project parser._endElement(); 470910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project} 48