OLD | NEW |
| (Empty) |
1 /* | |
2 * Copyright 2006 The Android Open Source Project | |
3 * | |
4 * Use of this source code is governed by a BSD-style license that can be | |
5 * found in the LICENSE file. | |
6 */ | |
7 | |
8 | |
9 #include "SkSVGPolyline.h" | |
10 #include "SkSVGParser.h" | |
11 | |
12 enum { | |
13 kCliipRule, | |
14 kFillRule, | |
15 kPoints | |
16 }; | |
17 | |
18 const SkSVGAttribute SkSVGPolyline::gAttributes[] = { | |
19 SVG_LITERAL_ATTRIBUTE(clip-rule, f_clipRule), | |
20 SVG_LITERAL_ATTRIBUTE(fill-rule, f_fillRule), | |
21 SVG_ATTRIBUTE(points) | |
22 }; | |
23 | |
24 DEFINE_SVG_INFO(Polyline) | |
25 | |
26 void SkSVGPolyline::addAttribute(SkSVGParser& , int attrIndex, | |
27 const char* attrValue, size_t attrLength) { | |
28 if (attrIndex != kPoints) | |
29 return; | |
30 f_points.set("["); | |
31 f_points.append(attrValue, attrLength); | |
32 SkSVGParser::ConvertToArray(f_points); | |
33 } | |
34 | |
35 void SkSVGPolyline::translate(SkSVGParser& parser, bool defState) { | |
36 parser._startElement("polyline"); | |
37 INHERITED::translate(parser, defState); | |
38 SVG_ADD_ATTRIBUTE(points); | |
39 if (f_fillRule.size() > 0) | |
40 parser._addAttribute("fillType", f_fillRule.equals("evenodd") ? "evenOdd
" : "winding"); | |
41 parser._endElement(); | |
42 } | |
OLD | NEW |