1Elm.Native.Transform2D = {};
2Elm.Native.Transform2D.make = function(elm) {
4 elm.Native = elm.Native || {};
5 elm.Native.Transform2D = elm.Native.Transform2D || {};
6 if (elm.Native.Transform2D.values) return elm.Native.Transform2D.values;
9 if (typeof Float32Array === 'undefined') {
11 this.length = arr.length;
23 // layout of matrix in an array is
29 // new A([ m11, m12, dx, m21, m22, dy ])
31 var identity = new A([1,0,0,0,1,0]);
32 function matrix(m11, m12, m21, m22, dx, dy) {
33 return new A([m11, m12, dx, m21, m22, dy]);
35 function rotation(t) {
38 return new A([c, -s, 0, s, c, 0]);
40 function rotate(t,m) {
43 var m11 = m[0], m12 = m[1], m21 = m[3], m22 = m[4];
44 return new A([m11*c + m12*s, -m11*s + m12*c, m[2],
45 m21*c + m22*s, -m21*s + m22*c, m[5]]);
51 var m11 = m[0], m12 = m[1], m21 = m[3], m22 = m[4];
52 return new A([m11, m12, m11*x + m12*y + m[2],
53 m21, m22, m21*x + m22*y + m[5]]);
55 function scale(s,m) { return new A([m[0]*s, m[1]*s, m[2], m[3]*s, m[4]*s, m[5]]); }
56 function scaleX(x,m) { return new A([m[0]*x, m[1], m[2], m[3]*x, m[4], m[5]]); }
57 function scaleY(y,m) { return new A([m[0], m[1]*y, m[2], m[3], m[4]*y, m[5]]); }
58 function reflectX(m) { return new A([-m[0], m[1], m[2], -m[3], m[4], m[5]]); }
59 function reflectY(m) { return new A([m[0], -m[1], m[2], m[3], -m[4], m[5]]); }
61 function transform(m11, m21, m12, m22, mdx, mdy, n) {
62 var n11 = n[0], n12 = n[1], n21 = n[3], n22 = n[4], ndx = n[2], ndy = n[5];
63 return new A([m11*n11 + m12*n21,
65 m11*ndx + m12*ndy + mdx,
68 m21*ndx + m22*ndy + mdy]);
71 function multiply(m, n) {
72 var m11 = m[0], m12 = m[1], m21 = m[3], m22 = m[4], mdx = m[2], mdy = m[5];
73 var n11 = n[0], n12 = n[1], n21 = n[3], n22 = n[4], ndx = n[2], ndy = n[5];
74 return new A([m11*n11 + m12*n21,
76 m11*ndx + m12*ndy + mdx,
79 m21*ndx + m22*ndy + mdy]);
82 return elm.Native.Transform2D.values = {
88 transform:F7(transform),
keysesc to close
- j k
- move down, up
- enter
- open
- esc
- back, or up a level
- 1 2 3 4
- readme, files, commits, refs
- /
- filter
- y
- copy the clone command
- c
- compare the chosen commit with another (or shift-click both)
- ?
- show or hide this list