Skip to content

Commit

Permalink
Smarter transforms collapsing. Fixes svg#208
Browse files Browse the repository at this point in the history
  • Loading branch information
GreLI committed Mar 22, 2015
1 parent 8bec56f commit f49005c
Show file tree
Hide file tree
Showing 2 changed files with 22 additions and 4 deletions.
20 changes: 16 additions & 4 deletions plugins/convertTransform.js
Original file line number Diff line number Diff line change
Expand Up @@ -80,15 +80,24 @@ function convertTransform(item, attrName, params) {

if (
params.collapseIntoOne &&
(data.length >= 3 ||
data.some(function(i) { return i.name === 'matrix'; })
(
data.length >= 3 ||
data.length == 2 &&
(
data[0].name === 'matrix' || data[1].name === 'matrix' ||
data[0].name == data[1].name
)
)
) {
data = [transformsMultiply(data, params)];

if (params.matrixToTransform) {
data = [matrixToTransform(data[0], params)];
}

if (params.removeUseless) {
data = removeUseless(data);
}
}

item.attr(attrName).value = js2transform(data, params);
Expand Down Expand Up @@ -192,8 +201,11 @@ function removeUseless(transforms) {
// translate(0), rotate(0), skewX(0), skewY(0)
if (
['translate', 'rotate', 'skewX', 'skewY'].indexOf(transform.name) > -1 &&
transform.data.length === 1 &&
transform.data[0] === 0
(transform.data.length === 1 || transform.name === 'rotate') &&
transform.data[0] === 0 ||
transform.name === 'translate' &&
transform.data[0] === 0 &&
transform.data[1] === 0
) {
return false;
// scale(1)
Expand Down
6 changes: 6 additions & 0 deletions test/plugins/convertTransform.04.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.

0 comments on commit f49005c

Please sign in to comment.