| 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 "SkSVGPath.h" |  | 
| 10 #include "SkSVGParser.h" |  | 
| 11 |  | 
| 12 const SkSVGAttribute SkSVGPath::gAttributes[] = { |  | 
| 13     SVG_ATTRIBUTE(d) |  | 
| 14 }; |  | 
| 15 |  | 
| 16 DEFINE_SVG_INFO(Path) |  | 
| 17 |  | 
| 18 void SkSVGPath::translate(SkSVGParser& parser, bool defState) { |  | 
| 19     parser._startElement("path"); |  | 
| 20     INHERITED::translate(parser, defState); |  | 
| 21     bool hasMultiplePaths = false; |  | 
| 22     const char* firstZ = strchr(f_d.c_str(), 'z'); |  | 
| 23     if (firstZ != nullptr) { |  | 
| 24         firstZ++; // skip over 'z' |  | 
| 25         while (*firstZ == ' ') |  | 
| 26             firstZ++; |  | 
| 27         hasMultiplePaths = *firstZ != '\0'; |  | 
| 28     } |  | 
| 29     if (hasMultiplePaths) { |  | 
| 30         SkString& fillRule = parser.getPaintLast(SkSVGPaint::kFillRule); |  | 
| 31         if (fillRule.size() > 0) |  | 
| 32             parser._addAttribute("fillType", fillRule.equals("evenodd") ? "evenO
    dd" : "winding"); |  | 
| 33     } |  | 
| 34     SVG_ADD_ATTRIBUTE(d); |  | 
| 35     parser._endElement(); |  | 
| 36 } |  | 
| OLD | NEW | 
|---|