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.

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

mercurial