| epoger@google.com | ec3ed6a | 2011-07-28 14:26:00 +0000 | [diff] [blame] | 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 |  | 
| reed@android.com | 8a1c16f | 2008-12-17 15:59:43 +0000 | [diff] [blame] | 9 |  | 
 | 10 | #include "SkSVGCircle.h" | 
 | 11 | #include "SkSVGParser.h" | 
 | 12 | #include "SkParse.h" | 
 | 13 | #include <stdio.h> | 
 | 14 |  | 
 | 15 | const SkSVGAttribute SkSVGCircle::gAttributes[] = { | 
 | 16 |     SVG_ATTRIBUTE(cx), | 
 | 17 |     SVG_ATTRIBUTE(cy), | 
 | 18 |     SVG_ATTRIBUTE(r) | 
 | 19 | }; | 
 | 20 |  | 
 | 21 | DEFINE_SVG_INFO(Circle) | 
 | 22 |  | 
 | 23 | void SkSVGCircle::translate(SkSVGParser& parser, bool defState) { | 
 | 24 |     parser._startElement("oval"); | 
 | 25 |     INHERITED::translate(parser, defState); | 
 | 26 |     SkScalar cx, cy, r; | 
 | 27 |     SkParse::FindScalar(f_cx.c_str(), &cx); | 
 | 28 |     SkParse::FindScalar(f_cy.c_str(), &cy); | 
 | 29 |     SkParse::FindScalar(f_r.c_str(), &r); | 
 | 30 |     SkScalar left, top, right, bottom; | 
 | 31 |     left = cx - r; | 
 | 32 |     top = cy - r; | 
 | 33 |     right = cx + r; | 
 | 34 |     bottom = cy + r; | 
 | 35 |     char scratch[16]; | 
| reed@google.com | 84ef10f | 2012-02-16 13:18:48 +0000 | [diff] [blame^] | 36 |     sprintf(scratch, "%g", SkScalarToDouble(left)); | 
| reed@android.com | 8a1c16f | 2008-12-17 15:59:43 +0000 | [diff] [blame] | 37 |     parser._addAttribute("left", scratch); | 
| reed@google.com | 84ef10f | 2012-02-16 13:18:48 +0000 | [diff] [blame^] | 38 |     sprintf(scratch, "%g", SkScalarToDouble(top)); | 
| reed@android.com | 8a1c16f | 2008-12-17 15:59:43 +0000 | [diff] [blame] | 39 |     parser._addAttribute("top", scratch); | 
| reed@google.com | 84ef10f | 2012-02-16 13:18:48 +0000 | [diff] [blame^] | 40 |     sprintf(scratch, "%g", SkScalarToDouble(right)); | 
| reed@android.com | 8a1c16f | 2008-12-17 15:59:43 +0000 | [diff] [blame] | 41 |     parser._addAttribute("right", scratch); | 
| reed@google.com | 84ef10f | 2012-02-16 13:18:48 +0000 | [diff] [blame^] | 42 |     sprintf(scratch, "%g", SkScalarToDouble(bottom)); | 
| reed@android.com | 8a1c16f | 2008-12-17 15:59:43 +0000 | [diff] [blame] | 43 |     parser._addAttribute("bottom", scratch); | 
 | 44 |     parser._endElement(); | 
 | 45 | } |