gfx/skia/trunk/src/svg/SkSVGCircle.cpp

Wed, 31 Dec 2014 06:09:35 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Wed, 31 Dec 2014 06:09:35 +0100
changeset 0
6474c204b198
permissions
-rw-r--r--

Cloned upstream origin tor-browser at tor-browser-31.3.0esr-4.5-1-build1
revision ID fc1c9ff7c1b2defdbc039f12214767608f46423f for hacking purpose.

     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  */
    10 #include "SkSVGCircle.h"
    11 #include "SkSVGParser.h"
    12 #include "SkParse.h"
    13 #include <stdio.h>
    15 const SkSVGAttribute SkSVGCircle::gAttributes[] = {
    16     SVG_ATTRIBUTE(cx),
    17     SVG_ATTRIBUTE(cy),
    18     SVG_ATTRIBUTE(r)
    19 };
    21 DEFINE_SVG_INFO(Circle)
    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];
    36     sprintf(scratch, "%g", SkScalarToDouble(left));
    37     parser._addAttribute("left", scratch);
    38     sprintf(scratch, "%g", SkScalarToDouble(top));
    39     parser._addAttribute("top", scratch);
    40     sprintf(scratch, "%g", SkScalarToDouble(right));
    41     parser._addAttribute("right", scratch);
    42     sprintf(scratch, "%g", SkScalarToDouble(bottom));
    43     parser._addAttribute("bottom", scratch);
    44     parser._endElement();
    45 }

mercurial