UNPKG

diginext-pixi

Version:
1 lines 4.06 kB
"use strict";var _PrintText_instances,_PrintText_awake,_PrintText___onchange,__awaiter=this&&this.__awaiter||function(t,e,i,s){return new(i||(i=Promise))((function(n,r){function a(t){try{c(s.next(t))}catch(t){r(t)}}function o(t){try{c(s.throw(t))}catch(t){r(t)}}function c(t){var e;t.done?n(t.value):(e=t.value,e instanceof i?e:new i((function(t){t(e)}))).then(a,o)}c((s=s.apply(t,e||[])).next())}))},__classPrivateFieldGet=this&&this.__classPrivateFieldGet||function(t,e,i,s){if("a"===i&&!s)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof e?t!==e||!s:!e.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===i?s:"a"===i?s.call(t):s?s.value:e.get(t)},__importDefault=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(exports,"__esModule",{value:!0});const pixi_js_1=require("pixi.js"),PrintBase_1=__importDefault(require("../../extras/print-editor/PrintBase")),InteractItem_1=__importDefault(require("../../core/InteractItem")),Event_1=__importDefault(require("../../data/Event")),loadFontByUrl_1=__importDefault(require("../../helper/text/loadFontByUrl"));class PrintText extends((0,PrintBase_1.default)(InteractItem_1.default)){constructor(t){super(),_PrintText_instances.add(this),this.holder=new pixi_js_1.Container,this.type="PrintText",this.isResized=!0,this.textObject=new pixi_js_1.Text("Text",{fill:"white",align:"center",fontSize:"36px"}),this.DEFAULT_SIZE=18,this.props=Object.assign(Object.assign({},this.props),{props:t}),__classPrivateFieldGet(this,_PrintText_instances,"m",_PrintText_awake).call(this),this.on(Event_1.default.CHANGE_MATRIX,__classPrivateFieldGet(this,_PrintText_instances,"m",_PrintText___onchange))}get text(){var t;return null===(t=this.textObject)||void 0===t?void 0:t.text}changeFontSize(t){this.textObject.style.fontSize=t,this.textObject.style.FONT_SIZE=t}changeText(t){this.textObject.text=t,this.textObject.updateText(!0),this.textObject.updateTransform(),__classPrivateFieldGet(this,_PrintText_instances,"m",_PrintText___onchange).call(this)}changeStyle(t){this.textObject.style=Object.assign(Object.assign({},this.textObject.style),t),this.textObject.updateText(!0),this.textObject.updateTransform()}changeColor(t){this.textObject.style.fill=t,this.textObject.updateText(!0),this.textObject.updateTransform()}viewAsWeb(){return __awaiter(this,void 0,void 0,(function*(){}))}prepairPrint(){return __awaiter(this,void 0,void 0,(function*(){}))}toJSON(t){const e=Object.assign({text:{value:this.textObject.text,style:Object.assign({},this.textObject.style)}},t);return super.toJSON(e)}fromJSON(t){const e=Object.create(null,{fromJSON:{get:()=>super.fromJSON}});return __awaiter(this,void 0,void 0,(function*(){if("string"==typeof t)try{t=JSON.parse(t)}catch(t){console.error("fromJSON error",t)}const{text:i,rotation:s,x:n,y:r,scaleX:a,scaleY:o,holder:c}=t,{value:h,style:_}=i;_.FONT_URL&&(this.visible=!1,yield(0,loadFontByUrl_1.default)(_.FONT_URL,this.textObject),this.visible=!0),this.changeText(h),_.FONT_SIZE&&this.changeFontSize(_.FONT_SIZE),this.changeStyle(_),e.fromJSON.call(this,t),this.textObject.updateText(!0),this.textObject.updateTransform(),__classPrivateFieldGet(this,_PrintText_instances,"m",_PrintText___onchange).call(this)}))}}exports.default=PrintText,_PrintText_instances=new WeakSet,_PrintText_awake=function(){this.holder.name="holder TextMesh",this.addChild(this.holder),this.textObject.anchor.set(.5),this.holder.addChild(this.textObject),this.textObject.resolution=2,this.textObject.style.fontSize=this.DEFAULT_SIZE,this.emit(Event_1.default.LOADED)},_PrintText___onchange=function(){var t,e;try{switch(null===(e=null===(t=null==this?void 0:this.textObject)||void 0===t?void 0:t.style)||void 0===e?void 0:e.align){case"left":this.pivot.x=-this.width/2;break;case"right":this.pivot.x=this.width/2;break;case"center":case"justify":this.pivot.x=0}}catch(t){throw new Error(`__onchange failed: ${t instanceof Error?t.message:"Unknown error"}`)}};