ng-fancy-gui
Version:
This package contains components, for creating userinterfaces in a Angular app.
55 lines • 8.39 kB
JavaScript
var Mouse = /** @class */ (function () {
function Mouse(rotationSlider) {
var _this = this;
this.rotationSlider = rotationSlider;
this.pinching = false;
this.lastX = 0;
this.lastY = 0;
this.isDown = false;
this.rotationSlider.canvas.style.cursor = 'grab';
this.rotationSlider.canvas.onmousedown = function (evt) {
_this.rotationSlider.canvas.style.cursor = 'grabbing';
_this.syncPosition(evt);
_this.lastY = _this.y;
_this.lastX = _this.x;
_this.isDown = true;
};
this.rotationSlider.canvas.onmouseup = function () {
_this.rotationSlider.canvas.style.cursor = 'grab';
_this.isDown = false;
};
this.rotationSlider.canvas.ontouchstart = function (evt) {
_this.rotationSlider.canvas.style.cursor = 'grabbing';
_this.syncTouchPosition(evt);
_this.lastY = _this.y;
_this.lastX = _this.x;
_this.isDown = true;
};
this.rotationSlider.canvas.ontouchend = function () {
_this.rotationSlider.canvas.style.cursor = 'grab';
_this.isDown = false;
};
}
Mouse.prototype.syncPosition = function (evt) {
var rect = this.rotationSlider.canvas.getBoundingClientRect();
this.lastX = this.x;
this.lastY = this.y;
var currentTransform = this.rotationSlider.ctx.getTransform();
var internalX = evt.clientX - rect.left;
var internalY = ((evt.clientY - rect.top));
var screen_X = internalX * currentTransform.a + internalY * currentTransform.c + currentTransform.e;
var screen_Y = internalY * currentTransform.b + internalY * currentTransform.d + currentTransform.f;
this.x = internalX;
this.y = internalY;
};
Mouse.prototype.syncTouchPosition = function (evt) {
var rect = this.rotationSlider.canvas.getBoundingClientRect();
this.lastX = this.x;
this.lastY = this.y;
this.x = evt.touches[0].clientX - rect.left;
this.y = ((evt.touches[0].clientY - rect.top));
};
return Mouse;
}());
export { Mouse };
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW91c2UuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9uZy1mYW5jeS1ndWkvIiwic291cmNlcyI6WyJsaWIvc2xpZGVyLWluZmluaXRlL2NsYXNzZXMvbW91c2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBSUE7SUFRRSxlQUFvQixjQUF1QztRQUEzRCxpQkE0QkM7UUE1Qm1CLG1CQUFjLEdBQWQsY0FBYyxDQUF5QjtRQVBwRCxhQUFRLEdBQVksS0FBSyxDQUFDO1FBQzFCLFVBQUssR0FBVyxDQUFDLENBQUM7UUFDbEIsVUFBSyxHQUFXLENBQUMsQ0FBQztRQUdsQixXQUFNLEdBQVksS0FBSyxDQUFDO1FBRzdCLElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO1FBRWpELElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLFdBQVcsR0FBRyxVQUFDLEdBQUc7WUFDM0MsS0FBSSxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBRyxVQUFVLENBQUM7WUFDckQsS0FBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUN2QixLQUFJLENBQUMsS0FBSyxHQUFHLEtBQUksQ0FBQyxDQUFDLENBQUM7WUFDcEIsS0FBSSxDQUFDLEtBQUssR0FBRyxLQUFJLENBQUMsQ0FBQyxDQUFDO1lBQ3BCLEtBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDO1FBQ3JCLENBQUMsQ0FBQztRQUVGLElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLFNBQVMsR0FBRztZQUNyQyxLQUFJLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQztZQUNqRCxLQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQztRQUN0QixDQUFDLENBQUM7UUFFRixJQUFJLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxZQUFZLEdBQUcsVUFBQyxHQUFHO1lBQzVDLEtBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUcsVUFBVSxDQUFDO1lBQ3JELEtBQUksQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUM1QixLQUFJLENBQUMsS0FBSyxHQUFHLEtBQUksQ0FBQyxDQUFDLENBQUM7WUFDcEIsS0FBSSxDQUFDLEtBQUssR0FBRyxLQUFJLENBQUMsQ0FBQyxDQUFDO1lBQ3BCLEtBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDO1FBQ3JCLENBQUMsQ0FBQztRQUVGLElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLFVBQVUsR0FBRztZQUN0QyxLQUFJLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQztZQUNqRCxLQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQztRQUN0QixDQUFDLENBQUM7SUFDSixDQUFDO0lBRUQsNEJBQVksR0FBWixVQUFhLEdBQUc7UUFFZCxJQUFNLElBQUksR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO1FBQ2hFLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FBQztRQUNwQixJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUM7UUFHcEIsSUFBTSxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUNoRSxJQUFNLFNBQVMsR0FBRyxHQUFHLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUM7UUFDMUMsSUFBTSxTQUFTLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFDN0MsSUFBSSxRQUFRLEdBQUcsU0FBUyxHQUFHLGdCQUFnQixDQUFDLENBQUMsR0FBRyxTQUFTLEdBQUcsZ0JBQWdCLENBQUMsQ0FBQyxHQUFHLGdCQUFnQixDQUFDLENBQUMsQ0FBQztRQUNwRyxJQUFJLFFBQVEsR0FBRyxTQUFTLEdBQUcsZ0JBQWdCLENBQUMsQ0FBQyxHQUFHLFNBQVMsR0FBRyxnQkFBZ0IsQ0FBQyxDQUFDLEdBQUcsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDO1FBRXBHLElBQUksQ0FBQyxDQUFDLEdBQUcsU0FBUyxDQUFDO1FBQ25CLElBQUksQ0FBQyxDQUFDLEdBQUcsU0FBUyxDQUFDO0lBQ3JCLENBQUM7SUFFRCxpQ0FBaUIsR0FBakIsVUFBa0IsR0FBRztRQUNuQixJQUFNLElBQUksR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO1FBQ2hFLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FBQztRQUNwQixJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUM7UUFFcEIsSUFBSSxDQUFDLENBQUMsR0FBRyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDO1FBQzVDLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQ2pELENBQUM7SUFDSCxZQUFDO0FBQUQsQ0FBQyxBQS9ERCxJQStEQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7U2xpZGVySW5maW5pdGVDb21wb25lbnR9IGZyb20gJy4uL3NsaWRlci1pbmZpbml0ZS5jb21wb25lbnQnO1xuaW1wb3J0IHtJbWFnZUNyb3Blcn0gZnJvbSAnLi4vLi4vaW1hZ2UtY3JvcHBlci9pbWFnZS1jcm9wcGVyL2NsYXNzZXMvaW1hZ2UtY3JvcGVyJztcblxuXG5leHBvcnQgY2xhc3MgTW91c2Uge1xuICBwdWJsaWMgcGluY2hpbmc6IGJvb2xlYW4gPSBmYWxzZTtcbiAgcHVibGljIGxhc3RYOiBudW1iZXIgPSAwO1xuICBwdWJsaWMgbGFzdFk6IG51bWJlciA9IDA7XG4gIHB1YmxpYyB4OiBudW1iZXI7XG4gIHB1YmxpYyB5OiBudW1iZXI7XG4gIHB1YmxpYyBpc0Rvd246IGJvb2xlYW4gPSBmYWxzZTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJvdGF0aW9uU2xpZGVyOiBTbGlkZXJJbmZpbml0ZUNvbXBvbmVudCkge1xuICAgIHRoaXMucm90YXRpb25TbGlkZXIuY2FudmFzLnN0eWxlLmN1cnNvciA9ICdncmFiJztcblxuICAgIHRoaXMucm90YXRpb25TbGlkZXIuY2FudmFzLm9ubW91c2Vkb3duID0gKGV2dCkgPT4ge1xuICAgICAgdGhpcy5yb3RhdGlvblNsaWRlci5jYW52YXMuc3R5bGUuY3Vyc29yID0gJ2dyYWJiaW5nJztcbiAgICAgIHRoaXMuc3luY1Bvc2l0aW9uKGV2dCk7XG4gICAgICB0aGlzLmxhc3RZID0gdGhpcy55O1xuICAgICAgdGhpcy5sYXN0WCA9IHRoaXMueDtcbiAgICAgIHRoaXMuaXNEb3duID0gdHJ1ZTtcbiAgICB9O1xuXG4gICAgdGhpcy5yb3RhdGlvblNsaWRlci5jYW52YXMub25tb3VzZXVwID0gKCkgPT4ge1xuICAgICAgdGhpcy5yb3RhdGlvblNsaWRlci5jYW52YXMuc3R5bGUuY3Vyc29yID0gJ2dyYWInO1xuICAgICAgdGhpcy5pc0Rvd24gPSBmYWxzZTtcbiAgICB9O1xuXG4gICAgdGhpcy5yb3RhdGlvblNsaWRlci5jYW52YXMub250b3VjaHN0YXJ0ID0gKGV2dCkgPT4ge1xuICAgICAgdGhpcy5yb3RhdGlvblNsaWRlci5jYW52YXMuc3R5bGUuY3Vyc29yID0gJ2dyYWJiaW5nJztcbiAgICAgIHRoaXMuc3luY1RvdWNoUG9zaXRpb24oZXZ0KTtcbiAgICAgIHRoaXMubGFzdFkgPSB0aGlzLnk7XG4gICAgICB0aGlzLmxhc3RYID0gdGhpcy54O1xuICAgICAgdGhpcy5pc0Rvd24gPSB0cnVlO1xuICAgIH07XG5cbiAgICB0aGlzLnJvdGF0aW9uU2xpZGVyLmNhbnZhcy5vbnRvdWNoZW5kID0gKCkgPT4ge1xuICAgICAgdGhpcy5yb3RhdGlvblNsaWRlci5jYW52YXMuc3R5bGUuY3Vyc29yID0gJ2dyYWInO1xuICAgICAgdGhpcy5pc0Rvd24gPSBmYWxzZTtcbiAgICB9O1xuICB9XG5cbiAgc3luY1Bvc2l0aW9uKGV2dCkge1xuXG4gICAgY29uc3QgcmVjdCA9IHRoaXMucm90YXRpb25TbGlkZXIuY2FudmFzLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAgIHRoaXMubGFzdFggPSB0aGlzLng7XG4gICAgdGhpcy5sYXN0WSA9IHRoaXMueTtcblxuXG4gICAgY29uc3QgY3VycmVudFRyYW5zZm9ybSA9IHRoaXMucm90YXRpb25TbGlkZXIuY3R4LmdldFRyYW5zZm9ybSgpO1xuICAgIGNvbnN0IGludGVybmFsWCA9IGV2dC5jbGllbnRYIC0gcmVjdC5sZWZ0O1xuICAgIGNvbnN0IGludGVybmFsWSA9ICgoZXZ0LmNsaWVudFkgLSByZWN0LnRvcCkpO1xuICAgIGxldCBzY3JlZW5fWCA9IGludGVybmFsWCAqIGN1cnJlbnRUcmFuc2Zvcm0uYSArIGludGVybmFsWSAqIGN1cnJlbnRUcmFuc2Zvcm0uYyArIGN1cnJlbnRUcmFuc2Zvcm0uZTtcbiAgICBsZXQgc2NyZWVuX1kgPSBpbnRlcm5hbFkgKiBjdXJyZW50VHJhbnNmb3JtLmIgKyBpbnRlcm5hbFkgKiBjdXJyZW50VHJhbnNmb3JtLmQgKyBjdXJyZW50VHJhbnNmb3JtLmY7XG5cbiAgICB0aGlzLnggPSBpbnRlcm5hbFg7XG4gICAgdGhpcy55ID0gaW50ZXJuYWxZO1xuICB9XG5cbiAgc3luY1RvdWNoUG9zaXRpb24oZXZ0KSB7XG4gICAgY29uc3QgcmVjdCA9IHRoaXMucm90YXRpb25TbGlkZXIuY2FudmFzLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAgIHRoaXMubGFzdFggPSB0aGlzLng7XG4gICAgdGhpcy5sYXN0WSA9IHRoaXMueTtcblxuICAgIHRoaXMueCA9IGV2dC50b3VjaGVzWzBdLmNsaWVudFggLSByZWN0LmxlZnQ7XG4gICAgdGhpcy55ID0gKChldnQudG91Y2hlc1swXS5jbGllbnRZIC0gcmVjdC50b3ApKTtcbiAgfVxufVxuIl19