igniteui-react-core
Version:
Ignite UI React Core.
131 lines (130 loc) • 5.06 kB
JavaScript
/*
THIS INFRAGISTICS ULTIMATE SOFTWARE LICENSE AGREEMENT ("AGREEMENT") LOCATED HERE:
https://www.infragistics.com/legal/license/igultimate-la
https://www.infragistics.com/legal/license/igultimate-eula
GOVERNS THE LICENSING, INSTALLATION AND USE OF INFRAGISTICS SOFTWARE. BY DOWNLOADING AND/OR INSTALLING AND USING INFRAGISTICS SOFTWARE: you are indicating that you have read and understand this Agreement, and agree to be legally bound by it on behalf of the yourself and your company.
*/
import { __extends } from "tslib";
import { Base, typeCast, Point_$type, markType } from "./type";
import { Matrix } from "./Matrix";
import { ScaleTransform } from "./ScaleTransform";
import { RotateTransform } from "./RotateTransform";
import { TranslateTransform } from "./TranslateTransform";
import { TransformGroup } from "./TransformGroup";
import { MatrixTransform } from "./MatrixTransform";
import { isNaN_ } from "./number";
/**
* @hidden
*/
var TransformMatrixHelpler = /** @class */ /*@__PURE__*/ (function (_super) {
__extends(TransformMatrixHelpler, _super);
function TransformMatrixHelpler() {
return _super !== null && _super.apply(this, arguments) || this;
}
TransformMatrixHelpler.f = function (a) {
if (typeCast(MatrixTransform.$, a) !== null) {
return a.j;
}
if (typeCast(ScaleTransform.$, a) !== null) {
var b = a;
return TransformMatrixHelpler.g(0, b.l, b.m, { $type: Point_$type, x: 0, y: 0 });
}
if (typeCast(RotateTransform.$, a) !== null) {
var c = a;
var d = 0;
var e = 0;
if (!isNaN_(c.k)) {
d = c.k;
}
if (!isNaN_(c.l)) {
e = c.l;
}
var f = TransformMatrixHelpler.g(0, 1, 1, { $type: Point_$type, x: -d, y: -e });
var g = TransformMatrixHelpler.g(c.j, 1, 1, { $type: Point_$type, x: 0, y: 0 });
var h = TransformMatrixHelpler.g(0, 1, 1, { $type: Point_$type, x: d, y: e });
var i = TransformMatrixHelpler.e(f, g);
i = TransformMatrixHelpler.e(i, h);
return i;
}
if (typeCast(TranslateTransform.$, a) !== null) {
var j = a;
return TransformMatrixHelpler.g(0, 1, 1, { $type: Point_$type, x: j.j, y: j.k });
}
if (typeCast(TransformGroup.$, a) !== null) {
var k = a;
var l = new Matrix();
l.j = 1;
l.m = 1;
if (k.j.count > 0) {
l = TransformMatrixHelpler.f(k.j._inner[0]);
for (var m = 1; m < k.j.count; m++) {
var n = TransformMatrixHelpler.f(k.j._inner[m]);
l = TransformMatrixHelpler.e(l, n);
}
}
return l;
}
return a;
};
TransformMatrixHelpler.a = function (a) {
return Math.atan2(a.k, a.j) * 180 / Math.PI;
};
TransformMatrixHelpler.b = function (a) {
var b = Math.sqrt((a.j * a.j) + (a.k * a.k));
return b;
};
TransformMatrixHelpler.c = function (a) {
var b = Math.sqrt((a.l * a.l) + (a.m * a.m));
return b;
};
TransformMatrixHelpler.i = function (a, b) {
var c = a.j * b.x + a.l * b.y + a.n;
var d = a.k * b.x + a.m * b.y + a.o;
return { $type: Point_$type, x: c, y: d };
};
TransformMatrixHelpler.h = function (a) {
return { $type: Point_$type, x: a.n, y: a.o };
};
TransformMatrixHelpler.e = function (a, b) {
var c = new Matrix();
c.j = a.j * b.j + a.k * b.l;
c.k = a.j * b.k + a.k * b.m;
c.n = a.n * b.j + a.o * b.l + b.n;
c.l = a.l * b.j + a.m * b.l;
c.m = a.l * b.k + a.m * b.m;
c.o = a.n * b.k + a.o * b.m + b.o;
return c;
};
TransformMatrixHelpler.d = function (a, b, c) {
var d = TransformMatrixHelpler.a(b);
var e = TransformMatrixHelpler.a(c);
var f = TransformMatrixHelpler.b(b);
var g = TransformMatrixHelpler.b(c);
var h = TransformMatrixHelpler.c(b);
var i = TransformMatrixHelpler.c(c);
var j = TransformMatrixHelpler.h(b);
var k = TransformMatrixHelpler.h(c);
var l = d + (e - d) * a;
var m = f + (g - f) * a;
var n = h + (i - h) * a;
var o = { $type: Point_$type, x: j.x + (k.x - j.x) * a, y: j.y + (k.y - j.y) * a };
return TransformMatrixHelpler.g(l, m, n, o);
};
TransformMatrixHelpler.g = function (a, b, c, d) {
a = a % 360;
var e = a * Math.PI / 180;
var f = new Matrix();
var g = Math.cos(e);
var h = Math.sin(e);
f.j = b * g;
f.k = b * h;
f.l = -c * h;
f.m = c * g;
f.n = d.x;
f.o = d.y;
return f;
};
TransformMatrixHelpler.$t = markType(TransformMatrixHelpler, 'TransformMatrixHelpler');
return TransformMatrixHelpler;
}(Base));
export { TransformMatrixHelpler };