on master help sign in
Fix problems with transformation matrices that include numbers very close to zero (as in issue #222)
commit089ae13ae620d8152be8d77867c5394dca9a6d1b authorEvan Czaplicki <info@elm-lang.org> dateSun 25 Aug 2013, 01:03 (13 years ago) parent40ea6df
1 file changed+8−3
runtime/Render/Collage.js+8−3
runtime/Render/Collage.js+8−3
@@ -167,6 +167,11 @@ function formToMatrix(form) {
167167 return matrix;
168168}
169169
170+function str(n) {
171+ if (n < 0.00001 && n > -0.00001) return 0;
172+ return n;
173+}
174+
170175function makeTransform(w, h, form, matrices) {
171176 var props = form.form._0.props;
172177 var m = A6( Transform.matrix, 1, 0, 0, 1,
@@ -176,9 +181,9 @@ function makeTransform(w, h, form, matrices) {
176181 for (var i = 0; i < len; ++i) { m = A2( Transform.multiply, m, matrices[i] ); }
177182 m = A2( Transform.multiply, m, formToMatrix(form) );
178183
179− return 'matrix(' + m[0] + ',' + m[3] + ',' +
180− (-m[1]) + ',' + (-m[4]) + ',' +
181− m[2] + ',' + m[5] + ')';
184+ return 'matrix(' + str( m[0]) + ',' + str( m[3]) + ',' +
185+ str(-m[1]) + ',' + str(-m[4]) + ',' +
186+ str( m[2]) + ',' + str( m[5]) + ')';
182187}
183188
184189function stepperHelp(list) {