Eggs Get Laid Command, fixes

This commit is contained in:
Daniel Odendahl Jr
2018-09-19 00:24:42 +00:00
parent 60238cbc43
commit 007cd18dea
9 changed files with 56 additions and 32 deletions
+25 -23
View File
@@ -97,30 +97,32 @@ module.exports = class CanvasUtil {
}
static wrapText(ctx, text, maxWidth) {
if (ctx.measureText(text).width < maxWidth) return [text];
const words = text.split(' ');
const lines = [];
let line = '';
while (words.length > 0) {
let split = false;
while (ctx.measureText(words[0]).width >= maxWidth) {
const temp = words[0];
words[0] = temp.slice(0, -1);
if (split) {
words[1] = `${temp.slice(-1)}${words[1]}`;
} else {
split = true;
words.splice(1, 0, temp.slice(-1));
return new Promise(resolve => {
if (ctx.measureText(text).width < maxWidth) return resolve([text]);
const words = text.split(' ');
const lines = [];
let line = '';
while (words.length > 0) {
let split = false;
while (ctx.measureText(words[0]).width >= maxWidth) {
const temp = words[0];
words[0] = temp.slice(0, -1);
if (split) {
words[1] = `${temp.slice(-1)}${words[1]}`;
} else {
split = true;
words.splice(1, 0, temp.slice(-1));
}
}
if (ctx.measureText(`${line}${words[0]}`).width < maxWidth) {
line += `${words.shift()} `;
} else {
lines.push(line.trim());
line = '';
}
if (words.length === 0) lines.push(line.trim());
}
if (ctx.measureText(`${line}${words[0]}`).width < maxWidth) {
line += `${words.shift()} `;
} else {
lines.push(line.trim());
line = '';
}
if (words.length === 0) lines.push(line.trim());
}
return lines;
return resolve(lines);
});
}
};