strip
This commit is contained in:
parent
380d284a66
commit
11fe02c25e
1 changed files with 16 additions and 12 deletions
|
@ -163,28 +163,32 @@ proc decodeCtx(inherited: Ctx, node: XmlNode): Ctx =
|
||||||
if arr.len != 6:
|
if arr.len != 6:
|
||||||
failInvalidTransform(transform)
|
failInvalidTransform(transform)
|
||||||
var m = mat3()
|
var m = mat3()
|
||||||
m[0] = parseFloat(arr[0])
|
m[0] = parseFloat(arr[0].strip())
|
||||||
m[1] = parseFloat(arr[1])
|
m[1] = parseFloat(arr[1].strip())
|
||||||
m[3] = parseFloat(arr[2])
|
m[3] = parseFloat(arr[2].strip())
|
||||||
m[4] = parseFloat(arr[3])
|
m[4] = parseFloat(arr[3].strip())
|
||||||
m[6] = parseFloat(arr[4])
|
m[6] = parseFloat(arr[4].strip())
|
||||||
m[7] = parseFloat(arr[5])
|
m[7] = parseFloat(arr[5].strip())
|
||||||
result.transform = result.transform * m
|
result.transform = result.transform * m
|
||||||
elif f.startsWith("translate("):
|
elif f.startsWith("translate("):
|
||||||
let
|
let
|
||||||
components = f[10 .. ^2].split(" ")
|
components = f[10 .. ^2].split(" ")
|
||||||
tx = parseFloat(components[0])
|
tx = parseFloat(components[0].strip())
|
||||||
ty = if components[1].len == 0: 0.0 else: parseFloat(components[1])
|
ty =
|
||||||
|
if components[1].len == 0:
|
||||||
|
0.0
|
||||||
|
else:
|
||||||
|
parseFloat(components[1].strip())
|
||||||
result.transform = result.transform * translate(vec2(tx, ty))
|
result.transform = result.transform * translate(vec2(tx, ty))
|
||||||
elif f.startsWith("rotate("):
|
elif f.startsWith("rotate("):
|
||||||
let
|
let
|
||||||
values = f[7 .. ^2].split(" ")
|
values = f[7 .. ^2].split(" ")
|
||||||
angle = parseFloat(values[0]) * -PI / 180
|
angle = parseFloat(values[0].strip()) * -PI / 180
|
||||||
var cx, cy: float32
|
var cx, cy: float32
|
||||||
if values.len > 1:
|
if values.len > 1:
|
||||||
cx = parseFloat(values[1])
|
cx = parseFloat(values[1].strip())
|
||||||
if values.len > 2:
|
if values.len > 2:
|
||||||
cy = parseFloat(values[2])
|
cy = parseFloat(values[2].strip())
|
||||||
let center = vec2(cx, cy)
|
let center = vec2(cx, cy)
|
||||||
result.transform = result.transform *
|
result.transform = result.transform *
|
||||||
translate(center) * rotationMat3(angle) * translate(-center)
|
translate(center) * rotationMat3(angle) * translate(-center)
|
||||||
|
@ -197,7 +201,7 @@ proc draw(img: Image, node: XmlNode, ctxStack: var seq[Ctx]) =
|
||||||
return
|
return
|
||||||
|
|
||||||
case node.tag:
|
case node.tag:
|
||||||
of "title", "desc":
|
of "title", "desc", "defs":
|
||||||
discard
|
discard
|
||||||
|
|
||||||
of "g":
|
of "g":
|
||||||
|
|
Loading…
Reference in a new issue