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 "SkSVGCircle.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 SkSVGCircle::gAttributes[] = {
160910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project    SVG_ATTRIBUTE(cx),
170910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project    SVG_ATTRIBUTE(cy),
180910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project    SVG_ATTRIBUTE(r)
190910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project};
200910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project
210910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source ProjectDEFINE_SVG_INFO(Circle)
220910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project
230910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Projectvoid SkSVGCircle::translate(SkSVGParser& parser, bool defState) {
240910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project    parser._startElement("oval");
250910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project    INHERITED::translate(parser, defState);
260910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project    SkScalar cx, cy, r;
270910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project    SkParse::FindScalar(f_cx.c_str(), &cx);
280910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project    SkParse::FindScalar(f_cy.c_str(), &cy);
290910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project    SkParse::FindScalar(f_r.c_str(), &r);
300910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project    SkScalar left, top, right, bottom;
310910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project    left = cx - r;
320910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project    top = cy - r;
330910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project    right = cx + r;
340910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project    bottom = cy + r;
350910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project    char scratch[16];
364f1dae40e24d57d647db01443b8bf2410514b8b5Derek Sollenberger    sprintf(scratch, "%g", SkScalarToDouble(left));
370910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project    parser._addAttribute("left", scratch);
384f1dae40e24d57d647db01443b8bf2410514b8b5Derek Sollenberger    sprintf(scratch, "%g", SkScalarToDouble(top));
390910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project    parser._addAttribute("top", scratch);
404f1dae40e24d57d647db01443b8bf2410514b8b5Derek Sollenberger    sprintf(scratch, "%g", SkScalarToDouble(right));
410910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project    parser._addAttribute("right", scratch);
424f1dae40e24d57d647db01443b8bf2410514b8b5Derek Sollenberger    sprintf(scratch, "%g", SkScalarToDouble(bottom));
430910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project    parser._addAttribute("bottom", scratch);
440910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project    parser._endElement();
450910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project}
46