yanchengPowerSupply/node_modules/mxdraw/dist/lib/MxModule/MxDbText/MxDbText.js

1 line
6.6 KiB
JavaScript

import McGiWorldDrawType from"../McGiWorldDrawType";import MxDbEntity from"../MxDbEntity";import MxType from"../MxType";import drawMxDbText from"./draw";import{getSpriteTextClass}from"./SpriteText";const propertyDbKeys=["text","position","height","backgroundColor","padding","borderWidth","borderRadius","borderColor","fontFace","fontSize","fontWeight","strokeWidth","strokeColor","angle","textAlign","textShadowBlur","textShadowColor","textShadowOffsetX","textShadowOffsetY","scale","underline"];export class MxDbText extends MxDbEntity{constructor(){super(...arguments),this.position=new THREE.Vector3,this._text="",this._height=16,this._angle=0,this._scale=1,this._underline=!1}setPosition(t){return this.position=t,this}get text(){return this.spriteText?this.spriteText.text:this._text}set text(t){this.spriteText?this.spriteText.text=t:this._text=t}setText(t){return this.text=t,this}get height(){return this.spriteText?this.spriteText.textHeight:this._height}set height(t){this.spriteText?this.spriteText.textHeight=t:this._height=t}setHeight(t){return this.height=t,this}get backgroundColor(){return this.spriteText?this.spriteText.backgroundColor:this._backgroundColor}set backgroundColor(t){this.spriteText?this.spriteText.backgroundColor=t:this._backgroundColor=t}setBackgroundColor(t){return this.backgroundColor=t,this}get padding(){return this.spriteText?this.spriteText.padding:this._padding}set padding(t){this.spriteText?this.spriteText.padding=t:this._padding=t}setPadding(t){return this.padding=t,this}get borderWidth(){return this.spriteText?this.spriteText.borderWidth:this._borderWidth}set borderWidth(t){this.spriteText?this.spriteText.borderWidth=t:this._borderWidth=t}setBorderWidth(t){return this.borderWidth=t,this}get borderRadius(){return this.spriteText?this.spriteText.borderRadius:this._borderRadius}set borderRadius(t){this.spriteText?this.spriteText.borderRadius=t:this._borderRadius=t}setBorderRadius(t){return this.borderRadius=t,this}get borderColor(){return this.spriteText?this.spriteText.borderColor:this._borderColor}set borderColor(t){this.spriteText?this.spriteText.borderColor=t:this._borderColor=t}setBorderColor(t){return this.borderColor=t,this}get fontFace(){return this.spriteText?this.spriteText.fontFace:this._fontFace}set fontFace(t){this.spriteText?this.spriteText.fontFace=t:this._fontFace=t}setFontFace(t){return this.fontFace=t,this}get fontSize(){return this.spriteText?this.spriteText.fontSize:this._fontSize}set fontSize(t){this.spriteText?this.spriteText.fontSize=t:this._fontSize=t}setFontSize(t){return this.fontSize=t,this}get fontWeight(){return this.spriteText?this.spriteText.fontWeight:this._fontWeight}set fontWeight(t){this.spriteText?this.spriteText.fontWeight=t:this._fontWeight=t}setFontWeight(t){return this.fontWeight=t,this}get strokeWidth(){return this.spriteText?this.spriteText.strokeWidth:this._strokeWidth}set strokeWidth(t){this.spriteText?this.spriteText.strokeWidth=t:this._strokeWidth=t}setStrokeWidth(t){return this.strokeWidth=t,this}get strokeColor(){return this.spriteText?this.spriteText.strokeColor:this._strokeColor}set strokeColor(t){this.spriteText?this.spriteText.strokeColor=t:this._strokeColor=t}setStrokeColor(t){return this.strokeColor=t,this}get textAlign(){return this.spriteText?this.spriteText.textAlign:this._textAlign}set textAlign(t){this.spriteText?this.spriteText.textAlign=t:this._textAlign=t}setTextAlign(t){return this.textAlign=t,this}get textShadowBlur(){return this.spriteText?this.spriteText.textShadowBlur:this._textShadowBlur}set textShadowBlur(t){this.spriteText?this.spriteText.textShadowBlur=t:this._textShadowBlur=t}setTextShadowBlur(t){return this.textShadowBlur=t,this}get textShadowColor(){return this.spriteText?this.spriteText.textShadowColor:this._textShadowColor}set textShadowColor(t){this.spriteText?this.spriteText.textShadowColor=t:this._textShadowColor=t}setTextShadowColor(t){return this.textShadowColor=t,this}get textShadowOffsetX(){return this.spriteText?this.spriteText.textShadowOffsetX:this._textShadowOffsetX}set textShadowOffsetX(t){this.spriteText?this.spriteText.textShadowOffsetX=t:this._textShadowOffsetX=t}setTextShadowOffsetX(t){return this.textShadowOffsetX=t,this}get textShadowOffsetY(){return this.spriteText?this.spriteText.textShadowOffsetY:this._textShadowOffsetY}set textShadowOffsetY(t){this.spriteText?this.spriteText.textShadowOffsetY=t:this._textShadowOffsetY=t}setTextShadowOffsetY(t){return this.textShadowOffsetY=t,this}get angle(){return this.spriteText?this.spriteText.angle:this._angle}set angle(t){this.spriteText?this.spriteText.angle=t:this._angle=t}setAngle(t){return this.angle=t,this}get scale(){return this.spriteText?this.spriteText.textScale:this._scale}set scale(t){this.spriteText?this.spriteText.textScale=t:this._scale=t}setScale(t){return this.scale=t,this}get underline(){return this.spriteText?this.spriteText.underline:this._underline}set underline(t){this.spriteText?this.spriteText.underline=t:this._underline=t}setUnderline(t){this.underline=t}getTypeName(){return"MxDbText"}worldDraw(t){if(this.text.length>0){t.getType()!==McGiWorldDrawType.kWorldDraw||this.spriteText||this.createSpriteText(),this.color!==this.spriteText.color&&(this.spriteText.color=this.color),this.spriteText.material.setValues({opacity:this.opacity,visible:this.visible});const{x:e,y:i,z:s}=this.position;this.spriteText.position.set(e,i,s),t.drawEntity(this.spriteText)}}createSpriteText(){const t=getSpriteTextClass(),{text:e,height:i,color:s,backgroundColor:r,padding:o,borderWidth:h,borderRadius:x,borderColor:n,strokeWidth:d,strokeColor:p,fontFace:a,fontSize:l,fontWeight:T,textAlign:g,textShadowBlur:u,textShadowColor:f,textShadowOffsetX:S,textShadowOffsetY:w,angle:c,scale:b,underline:C}=this;this.spriteText=new t({text:e,textHeight:i,color:s,backgroundColor:r,padding:o,borderWidth:h,borderRadius:x,borderColor:n,strokeWidth:d,strokeColor:p,fontFace:a,fontSize:l,fontWeight:T,textAlign:g,textShadowBlur:u,textShadowColor:f,textShadowOffsetX:S,textShadowOffsetY:w,angle:c,scale:b,underline:C})}getGripPoints(){return[this.position]}moveGripPointsAt(t,e){return 0===t&&this.position.add(e),!0}create(){return new MxDbText}dwgIn(t){return this.onDwgIn(t),this.dwgInHelp(t,propertyDbKeys),t.type===MxType.MxCloneType.kMxFileClone||t.type===MxType.MxCloneType.kSaveDwgClone?this.createSpriteText():this.spriteText=t.spriteText,!0}dwgOut(t){return this.onDwgOut(t),this.dwgOutHelp(t,propertyDbKeys),t.type===MxType.MxCloneType.kMxFileClone||t.type===MxType.MxCloneType.kSaveDwgClone?t.spriteText=void 0:t.spriteText=this.spriteText,t}getGeomExtents(){return(new THREE.Box3).expandByObject(this.spriteText)}erase(){return super.erase(),this.spriteText&&this.spriteText.dispose(),!0}};MxDbText.cmd="Mx_Text",MxDbText.draw=drawMxDbText;