var GetTextSize = function (text, size, lines){ var canvas = text.canvas; var context = text.context; var style = text.style; var lineWidths = [] ; var maxLineWidth = 0; var drawnLines = _AN_Read_length('length', lines); if (style.maxLines > 0 && style.maxLines < _AN_Read_length('length', lines)) { drawnLines = style.maxLines; } style.syncFont(canvas, context); for (var i = 0; i < drawnLines; i++ ){ var lineWidth = style.strokeThickness; lineWidth += context.measureText(lines[i]).width; if (style.wordWrap) { lineWidth -= context.measureText(' ').width; } lineWidths[i] = Math.ceil(lineWidth); maxLineWidth = Math.max(maxLineWidth, lineWidths[i]); } var lineHeight = size.fontSize + style.strokeThickness; var height = lineHeight * drawnLines; var lineSpacing = text.lineSpacing; if (drawnLines > 1) { height += lineSpacing * (drawnLines - 1); } return { width: maxLineWidth, height: height, lines: drawnLines, lineWidths: lineWidths, lineSpacing: lineSpacing, lineHeight: lineHeight} ; } ; module.exports = GetTextSize;