Sfoglia il codice sorgente

Merge pull request #1742 from abow/autosizeText

fixed auto resize issue for text2D
Loïc Baumann 8 anni fa
parent
commit
009f7d8cc2
1 ha cambiato i file con 12 aggiunte e 2 eliminazioni
  1. 12 2
      canvas2D/src/Engine/babylon.text2d.ts

+ 12 - 2
canvas2D/src/Engine/babylon.text2d.ts

@@ -226,7 +226,11 @@
             }
             this._text = value;
             this._textSize = null;    // A change of text will reset the TextSize which will be recomputed next time it's used
-            this._size = null;
+
+            if(!this._sizeSetByUser){
+                this._size = null;
+            }
+
             this._updateCharCount();
 
             // Trigger a textSize to for a sizeChange if necessary, which is needed for layout to recompute
@@ -480,7 +484,12 @@
             this._tabulationSize     = (settings.tabulationSize == null) ? 4 : settings.tabulationSize;
             this._textSize           = null;
             this.text                = text;
-            this.size                = (settings.size==null) ? null : settings.size;
+            if(settings.size != null){
+                this.size = settings.size;
+                this._sizeSetByUser = true;
+            }else{
+                this.size = null;
+            }
             this.textAlignmentH      = (settings.textAlignmentH==null) ? Text2D.AlignLeft : settings.textAlignmentH;
             this.textAlignmentV      = (settings.textAlignmentV==null) ? Text2D.AlignTop : settings.textAlignmentV;
             this.textAlignment       = (settings.textAlignment==null) ? "" : settings.textAlignment;
@@ -864,6 +873,7 @@
         private _textSize: Size;
         private _wordWrap: boolean;
         private _textAlignment: string;
+        private _sizeSetByUser: boolean;
 
         public textAlignmentH: number;
         public textAlignmentV: number;