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.

michael@0 1
michael@0 2 /*
michael@0 3 * Copyright 2006 The Android Open Source Project
michael@0 4 *
michael@0 5 * Use of this source code is governed by a BSD-style license that can be
michael@0 6 * found in the LICENSE file.
michael@0 7 */
michael@0 8
michael@0 9
michael@0 10 #include "SkSVGCircle.h"
michael@0 11 #include "SkSVGParser.h"
michael@0 12 #include "SkParse.h"
michael@0 13 #include <stdio.h>
michael@0 14
michael@0 15 const SkSVGAttribute SkSVGCircle::gAttributes[] = {
michael@0 16 SVG_ATTRIBUTE(cx),
michael@0 17 SVG_ATTRIBUTE(cy),
michael@0 18 SVG_ATTRIBUTE(r)
michael@0 19 };
michael@0 20
michael@0 21 DEFINE_SVG_INFO(Circle)
michael@0 22
michael@0 23 void SkSVGCircle::translate(SkSVGParser& parser, bool defState) {
michael@0 24 parser._startElement("oval");
michael@0 25 INHERITED::translate(parser, defState);
michael@0 26 SkScalar cx, cy, r;
michael@0 27 SkParse::FindScalar(f_cx.c_str(), &cx);
michael@0 28 SkParse::FindScalar(f_cy.c_str(), &cy);
michael@0 29 SkParse::FindScalar(f_r.c_str(), &r);
michael@0 30 SkScalar left, top, right, bottom;
michael@0 31 left = cx - r;
michael@0 32 top = cy - r;
michael@0 33 right = cx + r;
michael@0 34 bottom = cy + r;
michael@0 35 char scratch[16];
michael@0 36 sprintf(scratch, "%g", SkScalarToDouble(left));
michael@0 37 parser._addAttribute("left", scratch);
michael@0 38 sprintf(scratch, "%g", SkScalarToDouble(top));
michael@0 39 parser._addAttribute("top", scratch);
michael@0 40 sprintf(scratch, "%g", SkScalarToDouble(right));
michael@0 41 parser._addAttribute("right", scratch);
michael@0 42 sprintf(scratch, "%g", SkScalarToDouble(bottom));
michael@0 43 parser._addAttribute("bottom", scratch);
michael@0 44 parser._endElement();
michael@0 45 }

mercurial