"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.FramedScreenContainer = void 0;
exports.makeFramedScreenContainer = makeFramedScreenContainer;
const core_1 = require("@vived/core");
class FramedScreenContainer extends core_1.AppObjectEntity {
}
exports.FramedScreenContainer = FramedScreenContainer;
FramedScreenContainer.type = "FramedScreenContainer";
function makeFramedScreenContainer(appObject) {
    return new FramedScreenContainerImp(appObject);
}
class FramedScreenContainerImp extends FramedScreenContainer {
    get id() {
        return this.appObject.id;
    }
    get position() {
        return this.memoizedPos.val;
    }
    set position(p) {
        this.memoizedPos.val = p;
    }
    get size() {
        return this.memoizedSize.val;
    }
    set size(s) {
        this.memoizedSize.val = s;
    }
    get show() {
        return this.memoizedShow.val;
    }
    set show(s) {
        this.memoizedShow.val = s;
    }
    constructor(appObject) {
        super(appObject, FramedScreenContainer.type);
        this.memoizedPos = new core_1.MemoizedVector2(core_1.Vector2.Zero(), this.notifyOnChange);
        this.memoizedSize = new core_1.MemoizedVector2(core_1.Vector2.Zero(), this.notifyOnChange);
        this.memoizedShow = new core_1.MemoizedBoolean(false, this.notifyOnChange);
    }
}
//# sourceMappingURL=FramedScreenContainer.js.map