mirror of
https://github.com/photonstorm/phaser
synced 2024-11-21 20:23:19 +00:00
Merge branch 'master' of https://github.com/phaserjs/phaser
This commit is contained in:
commit
f259858d6c
1 changed files with 3 additions and 71 deletions
|
@ -162,6 +162,8 @@ var GetBitmapTextSize = function (src, round, updateOrigin, out)
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
// If the current word is too long to fit on a line, wrap it
|
// If the current word is too long to fit on a line, wrap it
|
||||||
|
// Remove trailing word wrap char to keep text length the same
|
||||||
|
wrappedLine = wrappedLine.slice(0, -1);
|
||||||
wrappedLine += (wrappedLine ? '\n' : '') + lineToCheck;
|
wrappedLine += (wrappedLine ? '\n' : '') + lineToCheck;
|
||||||
lineToCheck = word;
|
lineToCheck = word;
|
||||||
}
|
}
|
||||||
|
@ -170,86 +172,16 @@ var GetBitmapTextSize = function (src, round, updateOrigin, out)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
wrappedLine = wrappedLine.slice(0, -1);
|
||||||
wrappedLine += (wrappedLine ? '\n' : '') + lineToCheck;
|
wrappedLine += (wrappedLine ? '\n' : '') + lineToCheck;
|
||||||
wrappedLines.push(wrappedLine);
|
wrappedLines.push(wrappedLine);
|
||||||
}
|
}
|
||||||
|
|
||||||
text = wrappedLines.join('\n');
|
text = wrappedLines.join('\n');
|
||||||
|
|
||||||
// Loop through the words array and see if we've got any > maxWidth
|
|
||||||
var prev;
|
|
||||||
var offset = 0;
|
|
||||||
var crs = [];
|
|
||||||
|
|
||||||
for (i = 0; i < words.length; i++)
|
|
||||||
{
|
|
||||||
var entry = words[i];
|
|
||||||
var left = entry.x;
|
|
||||||
var right = entry.x + entry.w;
|
|
||||||
|
|
||||||
if (left === 0)
|
|
||||||
{
|
|
||||||
offset = 0;
|
|
||||||
prev = null;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (prev)
|
|
||||||
{
|
|
||||||
var diff = left - (prev.x + prev.w);
|
|
||||||
|
|
||||||
offset = left - (diff + prev.w);
|
|
||||||
|
|
||||||
prev = null;
|
|
||||||
}
|
|
||||||
|
|
||||||
var checkLeft = left - offset;
|
|
||||||
var checkRight = right - offset;
|
|
||||||
|
|
||||||
if (checkLeft > maxWidth || checkRight > maxWidth)
|
|
||||||
{
|
|
||||||
crs.push(entry.i - 1);
|
|
||||||
|
|
||||||
if (entry.cr)
|
|
||||||
{
|
|
||||||
crs.push(entry.i + entry.word.length);
|
|
||||||
|
|
||||||
offset = 0;
|
|
||||||
prev = null;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
prev = entry;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else if (entry.cr)
|
|
||||||
{
|
|
||||||
crs.push(entry.i + entry.word.length);
|
|
||||||
|
|
||||||
offset = 0;
|
|
||||||
prev = null;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
var stringInsert = function (str, index, value)
|
|
||||||
{
|
|
||||||
return str.substr(0, index) + value + str.substr(index + 1);
|
|
||||||
};
|
|
||||||
|
|
||||||
for (i = crs.length - 1; i >= 0; i--)
|
|
||||||
{
|
|
||||||
if (crs[i] > -1)
|
|
||||||
{
|
|
||||||
text = stringInsert(text, crs[i], '\n');
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
out.wrappedText = text;
|
out.wrappedText = text;
|
||||||
|
|
||||||
textLength = text.length;
|
textLength = text.length;
|
||||||
|
|
||||||
// Recalculated in the next loop
|
|
||||||
words = [];
|
|
||||||
current = null;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
var charIndex = 0;
|
var charIndex = 0;
|
||||||
|
|
Loading…
Reference in a new issue