"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.TouchLabelDropAuthor = void 0;
exports.makeTouchLabelDropAuthor = makeTouchLabelDropAuthor;
const core_1 = require("@vived/core");
const TouchInput_1 = require("../../TouchController/Entities/TouchInput");
const ToggleLabelDropTargetUC_1 = require("../UseCases/ToggleLabelDropTargetUC");
class TouchLabelDropAuthor extends core_1.AppObjectController {
}
exports.TouchLabelDropAuthor = TouchLabelDropAuthor;
TouchLabelDropAuthor.type = "TouchLabelDropAuthor";
function makeTouchLabelDropAuthor(appObject) {
    return new TouchLabelDropAuthorImp(appObject);
}
class TouchLabelDropAuthorImp extends TouchLabelDropAuthor {
    get addLabelDropCorrectObjectFromRayUC() {
        return this.getCachedSingleton(ToggleLabelDropTargetUC_1.ToggleLabelDropTargetUC.type);
    }
    get touchInput() {
        return this.getCachedSingleton(TouchInput_1.TouchInputEntity.type);
    }
    constructor(appObject) {
        super(appObject, TouchLabelDropAuthor.type);
        this.onTap = (e) => {
            this.addLabelDropCorrectObjectFromRayUC?.tryToggleFromPixel(e.touchCenter);
        };
        this.touchInput?.registerController(this);
    }
}
//# sourceMappingURL=TouchLabelDropAuthor.js.map