"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.SPaintEngine = void 0; var SPaintState_1 = require("./SPaintState"); var lib_1 = require("@saga-web/base/lib"); var SPaintEngine = (function () { function SPaintEngine() { this._state = new SPaintState_1.SPaintState(); this.stateStack = new Array(); } Object.defineProperty(SPaintEngine.prototype, "state", { get: function () { return this._state; }, set: function (value) { this._state = value; }, enumerable: false, configurable: true }); SPaintEngine.prototype.save = function () { var state = new SPaintState_1.SPaintState(this.state); this.stateStack.push(state); }; SPaintEngine.prototype.restore = function () { if (this.stateStack.length > 0) { this.state = this.stateStack.pop(); } }; SPaintEngine.prototype.translate = function (x, y) { this.state.matrix.translate(x, y); }; SPaintEngine.prototype.scale = function (x, y) { this.state.matrix.scale(x, y); }; SPaintEngine.prototype.rotate = function (angle) { this.state.matrix.rotate(0, 0, angle); }; SPaintEngine.prototype.transform = function (m11, m12, m21, m22, dx, dy) { }; SPaintEngine.prototype.setTransform = function (m11, m12, m21, m22, dx, dy) { }; SPaintEngine.prototype.resetTransform = function () { this.state.matrix = new lib_1.SMatrix(); }; return SPaintEngine; }()); exports.SPaintEngine = SPaintEngine;