gfx/skia/trunk/src/svg/SkSVGEllipse.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 "SkSVGEllipse.h"
    11 #include "SkSVGParser.h"
    12 #include "SkParse.h"
    13 #include <stdio.h>
    15 const SkSVGAttribute SkSVGEllipse::gAttributes[] = {
    16     SVG_ATTRIBUTE(cx),
    17     SVG_ATTRIBUTE(cy),
    18     SVG_ATTRIBUTE(rx),
    19     SVG_ATTRIBUTE(ry)
    20 };
    22 DEFINE_SVG_INFO(Ellipse)
    24 void SkSVGEllipse::translate(SkSVGParser& parser, bool defState) {
    25     parser._startElement("oval");
    26     INHERITED::translate(parser, defState);
    27     SkScalar cx, cy, rx, ry;
    28     SkParse::FindScalar(f_cx.c_str(), &cx);
    29     SkParse::FindScalar(f_cy.c_str(), &cy);
    30     SkParse::FindScalar(f_rx.c_str(), &rx);
    31     SkParse::FindScalar(f_ry.c_str(), &ry);
    32     SkScalar left, top, right, bottom;
    33     left = cx - rx;
    34     top = cy - ry;
    35     right = cx + rx;
    36     bottom = cy + ry;
    37     char scratch[16];
    38     sprintf(scratch, "%g", SkScalarToDouble(left));
    39     parser._addAttribute("left", scratch);
    40     sprintf(scratch, "%g", SkScalarToDouble(top));
    41     parser._addAttribute("top", scratch);
    42     sprintf(scratch, "%g", SkScalarToDouble(right));
    43     parser._addAttribute("right", scratch);
    44     sprintf(scratch, "%g", SkScalarToDouble(bottom));
    45     parser._addAttribute("bottom", scratch);
    46     parser._endElement();
    47 }

mercurial