| 205 | } |
| 206 | |
| 207 | func (svg *svgParser) parseColorComponent(v string) uint8 { |
| 208 | v = strings.TrimSpace(v) |
| 209 | if len(v) == 0 { |
| 210 | return 0 |
| 211 | } else if v[len(v)-1] == '%' { |
| 212 | num, err := strconv.ParseFloat(v[:len(v)-1], 64) |
| 213 | if err != nil && svg.err == nil { |
| 214 | svg.err = parse.NewErrorLexer(svg.z, "bad color component: %w: %s", err, v) |
| 215 | } |
| 216 | return uint8(num*255.0 + 0.5) |
| 217 | } |
| 218 | num, err := strconv.ParseUint(v, 10, 8) |
| 219 | if err != nil && svg.err == nil { |
| 220 | svg.err = parse.NewErrorLexer(svg.z, "bad color component: %w: %s", err, v) |
| 221 | } |
| 222 | return uint8(num) |
| 223 | } |
| 224 | |
| 225 | func (svg *svgParser) parsePaint(v string) Paint { |
| 226 | if v == "none" { |