|
|
function addTextIf(rows, params, getTextSize) { |
|
|
if (!params.text) |
|
|
return; |
|
|
if (!params.marginLeft) params.marginLeft = 0; |
|
|
if (!params.klass) params.klass = ''; |
|
|
if (!params.anchor) params.anchor = 'start'; |
|
|
if (!params.info) params.info = { startChar: -2, endChar: -2 } |
|
|
|
|
|
if (params.marginTop) |
|
|
rows.push({ move: params.marginTop }); |
|
|
var attr = { left: params.marginLeft, text: params.text, font: params.font, anchor: params.anchor, startChar: params.info.startChar, endChar: params.info.endChar, 'dominant-baseline': params['dominant-baseline'] }; |
|
|
if (params.absElemType) |
|
|
attr.absElemType = params.absElemType; |
|
|
if (!params.inGroup && params.klass) |
|
|
attr.klass = params.klass; |
|
|
if (params.name) |
|
|
attr.name = params.name; |
|
|
|
|
|
rows.push(attr); |
|
|
|
|
|
var size = getTextSize.calc("A", params.font, params.klass); |
|
|
var numLines = params.text.split("\n").length; |
|
|
if (params.text[params.text.length - 1] === '\n') |
|
|
numLines--; |
|
|
if (!params.noMove) { |
|
|
var h = (size.height * 1.1) * numLines; |
|
|
rows.push({ move: Math.round(h) }); |
|
|
if (params.marginBottom) |
|
|
rows.push({ move: params.marginBottom }); |
|
|
} |
|
|
} |
|
|
|
|
|
module.exports = addTextIf; |
|
|
|