mirror of
https://github.com/photonstorm/phaser
synced 2024-11-22 20:53:39 +00:00
Add lineSpacing property to BitmapText
This commit is contained in:
parent
83cf8d12fc
commit
aa0d9be861
3 changed files with 66 additions and 3 deletions
|
@ -73,6 +73,7 @@ var GetBitmapTextSize = function (src, round, updateOrigin, out)
|
|||
var chars = src.fontData.chars;
|
||||
var lineHeight = src.fontData.lineHeight;
|
||||
var letterSpacing = src.letterSpacing;
|
||||
var lineSpacing = src.lineSpacing;
|
||||
|
||||
var xAdvance = 0;
|
||||
var yAdvance = 0;
|
||||
|
@ -128,7 +129,7 @@ var GetBitmapTextSize = function (src, round, updateOrigin, out)
|
|||
}
|
||||
|
||||
xAdvance = 0;
|
||||
yAdvance += lineHeight;
|
||||
yAdvance += lineHeight + lineSpacing;
|
||||
lastGlyph = null;
|
||||
|
||||
continue;
|
||||
|
@ -291,7 +292,7 @@ var GetBitmapTextSize = function (src, round, updateOrigin, out)
|
|||
}
|
||||
|
||||
xAdvance = 0;
|
||||
yAdvance += lineHeight;
|
||||
yAdvance += lineHeight + lineSpacing;
|
||||
lastGlyph = null;
|
||||
|
||||
lineWidths[currentLine] = currentLineWidth;
|
||||
|
|
|
@ -153,6 +153,18 @@ var BitmapText = new Class({
|
|||
*/
|
||||
this._letterSpacing = 0;
|
||||
|
||||
/**
|
||||
* Adds / Removes spacing lines in a multiline BitmapText object.
|
||||
*
|
||||
* Can be a negative or positive number.
|
||||
*
|
||||
* @name Phaser.GameObjects.BitmapText#_lineSpacing
|
||||
* @type {number}
|
||||
* @private
|
||||
* @since 3.60.0
|
||||
*/
|
||||
this._lineSpacing = 0;
|
||||
|
||||
/**
|
||||
* Controls the alignment of each line of text in this BitmapText object.
|
||||
* Only has any effect when this BitmapText contains multiple lines of text, split with carriage-returns.
|
||||
|
@ -381,6 +393,28 @@ var BitmapText = new Class({
|
|||
return this;
|
||||
},
|
||||
|
||||
|
||||
/**
|
||||
* The line spacing value.
|
||||
* This value is added to the font height to calculate the overall line height.
|
||||
* Only has an effect if this Text object contains multiple lines of text.
|
||||
*
|
||||
*
|
||||
* @name Phaser.GameObjects.Text#lineSpacing
|
||||
* @type {number}
|
||||
* @since 3.60.0
|
||||
*/
|
||||
setLineSpacing: function (spacing)
|
||||
{
|
||||
if (spacing === undefined) { spacing = 0; }
|
||||
|
||||
this._lineSpacing = spacing;
|
||||
|
||||
this._dirty = true;
|
||||
|
||||
return this;
|
||||
},
|
||||
|
||||
/**
|
||||
* Set the textual content of this BitmapText.
|
||||
*
|
||||
|
@ -922,6 +956,32 @@ var BitmapText = new Class({
|
|||
|
||||
},
|
||||
|
||||
/**
|
||||
* Adds / Removes spacing between lines.
|
||||
*
|
||||
* Can be a negative or positive number.
|
||||
*
|
||||
* You can also use the method `setLineSpacing` if you want a chainable way to change the line spacing.
|
||||
*
|
||||
* @name Phaser.GameObjects.BitmapText#lineSpacing
|
||||
* @type {number}
|
||||
* @since 3.60.0
|
||||
*/
|
||||
lineSpacing: {
|
||||
|
||||
set: function (value)
|
||||
{
|
||||
this._lineSpacing = value;
|
||||
this._dirty = true;
|
||||
},
|
||||
|
||||
get: function ()
|
||||
{
|
||||
return this._lineSpacing;
|
||||
}
|
||||
|
||||
},
|
||||
|
||||
/**
|
||||
* The maximum display width of this BitmapText in pixels.
|
||||
*
|
||||
|
|
|
@ -41,6 +41,7 @@ var BitmapTextCanvasRenderer = function (renderer, src, camera, parentMatrix)
|
|||
var chars = src.fontData.chars;
|
||||
var lineHeight = src.fontData.lineHeight;
|
||||
var letterSpacing = src._letterSpacing;
|
||||
var lineSpacing = src._lineSpacing;
|
||||
|
||||
var xAdvance = 0;
|
||||
var yAdvance = 0;
|
||||
|
@ -113,7 +114,8 @@ var BitmapTextCanvasRenderer = function (renderer, src, camera, parentMatrix)
|
|||
}
|
||||
|
||||
xAdvance = 0;
|
||||
yAdvance += lineHeight;
|
||||
yAdvance += lineHeight + lineSpacing;
|
||||
|
||||
lastGlyph = null;
|
||||
|
||||
continue;
|
||||
|
|
Loading…
Reference in a new issue